diff --git a/dist/fuelux.min.js b/dist/fuelux.min.js index 14c035502..9fb8ac988 100644 --- a/dist/fuelux.min.js +++ b/dist/fuelux.min.js @@ -1,4 +1,4 @@ -/*! FuelUX - v2.0.0 - 2012-07-31 +/*! FuelUX - v2.0.0 - 2012-08-01 * https://github.com/ExactTarget/fuelux * Copyright (c) 2012 ExactTarget; Licensed MIT */ (function(a){var b;define("bootstrap/bootstrap-transition",["jquery"],function(){return function(){!function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery)}.call(a),b})})(this),function(a){var b;define("bootstrap/bootstrap-alert",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery)}.call(a),b})}(this),function(a){var b;define("bootstrap/bootstrap-button",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a=a+"Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery)}.call(a),b})}(this),function(a){var b;define("bootstrap/bootstrap-carousel",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(a){return a||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide");this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c);e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery)}.call(a),b})}(this),function(a){var b;define("bootstrap/bootstrap-collapse",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery)}.call(a),b})}(this),function(a){var b;define("bootstrap/bootstrap-dropdown",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){function d(){a(b).parent().removeClass("open")}var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e,f,g;if(c.is(".disabled, :disabled"))return;return f=c.attr("data-target"),f||(f=c.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),e=a(f),e.length||(e=c.parent()),g=e.hasClass("open"),d(),g||e.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery)}.call(a),b})}(this),function(a){var b;define("bootstrap/bootstrap-modal",["bootstrap/bootstrap-transition"],function(){return function(){!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('';YUI.Env.cssStampEl=z.firstChild;if(w.body){w.body.appendChild(YUI.Env.cssStampEl);}else{e.insertBefore(YUI.Env.cssStampEl,e.firstChild);}}B.config.lang=B.config.lang||"en-US";B.config.base=YUI.config.base||B.Env.getBase(B.Env._BASE_RE);if(!A||(!("mindebug").indexOf(A))){A="min";}A=(A)?"-"+A:A;B.config.loaderPath=YUI.config.loaderPath||"loader/loader"+A+".js";},_setup:function(C){var y,B=this,x=[],A=YUI.Env.mods,z=B.config.core||[].concat(YUI.Env.core);for(y=0;y-1){B=x.split(i);for(z=(B[0]=="YAHOO")?1:0;zx&&x in w?w[x]:true;}}return z;};j.indexOf=f._isNative(q.indexOf)?function(x,v,w){return q.indexOf.call(x,v,w);}:function(y,w,x){var v=y.length;x=+x||0;x=(x>0||-1)*Math.floor(Math.abs(x));if(x<0){x+=v;if(x<0){x=0;}}for(;x1?Array.prototype.join.call(arguments,m):String(y);if(!(z in v)||(w&&v[z]==w)){v[z]=x.apply(x,arguments);}return v[z];};};b.getLocation=function(){var v=b.config.win;return v&&v.location;};b.merge=function(){var x=arguments,y=0,w=x.length,v={};for(;y-1;};g.each=function(y,w,z,x){var v;for(v in y){if(x||h(y,v)){w.call(z||b,y[v],v,y);}}return b;};g.some=function(y,w,z,x){var v;for(v in y){if(x||h(y,v)){if(w.call(z||b,y[v],v,y)){return true;}}}return false;};g.getValue=function(z,y){if(!f.isObject(z)){return u;}var w,x=b.Array(y),v=x.length;for(w=0;z!==u&&w=0){for(v=0;w!==u&&vz){return 1;}}return 0;};YUI.Env.aliases={"anim":["anim-base","anim-color","anim-curve","anim-easing","anim-node-plugin","anim-scroll","anim-xy"],"app":["app-base","app-transitions","model","model-list","router","view"],"attribute":["attribute-base","attribute-complex"],"autocomplete":["autocomplete-base","autocomplete-sources","autocomplete-list","autocomplete-plugin"],"base":["base-base","base-pluginhost","base-build"],"cache":["cache-base","cache-offline","cache-plugin"],"collection":["array-extras","arraylist","arraylist-add","arraylist-filter","array-invoke"],"controller":["router"],"dataschema":["dataschema-base","dataschema-json","dataschema-xml","dataschema-array","dataschema-text"],"datasource":["datasource-local","datasource-io","datasource-get","datasource-function","datasource-cache","datasource-jsonschema","datasource-xmlschema","datasource-arrayschema","datasource-textschema","datasource-polling"],"datatable":["datatable-core","datatable-table","datatable-head","datatable-body","datatable-base","datatable-column-widths","datatable-message","datatable-mutable","datatable-sort","datatable-datasource"],"datatable-deprecated":["datatable-base-deprecated","datatable-datasource-deprecated","datatable-sort-deprecated","datatable-scroll-deprecated"],"datatype":["datatype-number","datatype-date","datatype-xml"],"datatype-date":["datatype-date-parse","datatype-date-format"],"datatype-number":["datatype-number-parse","datatype-number-format"],"datatype-xml":["datatype-xml-parse","datatype-xml-format"],"dd":["dd-ddm-base","dd-ddm","dd-ddm-drop","dd-drag","dd-proxy","dd-constrain","dd-drop","dd-scroll","dd-delegate"],"dom":["dom-base","dom-screen","dom-style","selector-native","selector"],"editor":["frame","editor-selection","exec-command","editor-base","editor-para","editor-br","editor-bidi","editor-tab","createlink-base"],"event":["event-base","event-delegate","event-synthetic","event-mousewheel","event-mouseenter","event-key","event-focus","event-resize","event-hover","event-outside","event-touch","event-move","event-flick","event-valuechange"],"event-custom":["event-custom-base","event-custom-complex"],"event-gestures":["event-flick","event-move"],"handlebars":["handlebars-compiler"],"highlight":["highlight-base","highlight-accentfold"],"history":["history-base","history-hash","history-hash-ie","history-html5"],"io":["io-base","io-xdr","io-form","io-upload-iframe","io-queue"],"json":["json-parse","json-stringify"],"loader":["loader-base","loader-rollup","loader-yui3"],"node":["node-base","node-event-delegate","node-pluginhost","node-screen","node-style"],"pluginhost":["pluginhost-base","pluginhost-config"],"querystring":["querystring-parse","querystring-stringify"],"recordset":["recordset-base","recordset-sort","recordset-filter","recordset-indexer"],"resize":["resize-base","resize-proxy","resize-constrain"],"slider":["slider-base","slider-value-range","clickable-rail","range-slider"],"text":["text-accentfold","text-wordbreak"],"widget":["widget-base","widget-htmlparser","widget-skin","widget-uievents"]};},"3.6.0pr3");YUI.add("get",function(d){var c=d.Lang,b,e,a;d.Get=e={cssOptions:{attributes:{rel:"stylesheet"},doc:d.config.linkDoc||d.config.doc,pollInterval:50},jsOptions:{autopurge:true,doc:d.config.scriptDoc||d.config.doc},options:{attributes:{charset:"utf-8"},purgethreshold:20},REGEX_CSS:/\.css(?:[?;].*)?$/i,REGEX_JS:/\.js(?:[?;].*)?$/i,_insertCache:{},_pending:null,_purgeNodes:[],_queue:[],abort:function(k){var g,l,h,f,j;if(!k.abort){l=k;j=this._pending;k=null;if(j&&j.transaction.id===l){k=j.transaction;this._pending=null;}else{for(g=0,f=this._queue.length;g=f){this._purge(this._purgeNodes);}},_getEnv:function(){var g=d.config.doc,f=d.UA;return(this._env={async:g&&g.createElement("script").async===true,cssFail:f.gecko>=9||f.compareVersions(f.webkit,535.24)>=0,cssLoad:((!f.gecko&&!f.webkit)||f.gecko>=9||f.compareVersions(f.webkit,535.24)>=0)&&!(f.chrome&&f.chrome<=18),preservesScriptOrder:!!(f.gecko||f.opera)});},_getTransaction:function(l,h){var m=[],j,f,k,g;if(!c.isArray(l)){l=[l];}h=d.merge(this.options,h);h.attributes=d.merge(this.options.attributes,h.attributes);for(j=0,f=l.length;j-1){h.splice(g,1);}}}}};e.script=e.js;e.Transaction=a=function(h,g){var f=this;f.id=a._lastId+=1;f.data=g.data;f.errors=[];f.nodes=[];f.options=g;f.requests=h;f._callbacks=[];f._queue=[];f._waiting=0;f.tId=f.id;f.win=g.win||d.config.win;};a._lastId=0;a.prototype={_state:"new",abort:function(f){this._pending=null;this._pendingCSS=null;this._pollTimer=clearTimeout(this._pollTimer);this._queue=[];this._waiting=0;this.errors.push({error:f||"Aborted"});this._finish();},execute:function(n){var h=this,m=h.requests,l=h._state,j,g,f,k;if(l==="done"){n&&n(h.errors.length?h.errors:null,h);return;}else{n&&h._callbacks.push(n);if(l==="executing"){return;}}h._state="executing";h._queue=f=[];if(h.options.timeout){h._timeout=setTimeout(function(){h.abort("Timeout");},h.options.timeout);}for(j=0,g=m.length;j=0){if(k[g].href===p){r.splice(h,1);h-=1;q._progress(null,o);break;}}}else{try{f=!!o.node.sheet.cssRules;r.splice(h,1);h-=1;q._progress(null,o);}catch(m){}}}if(r.length){q._pollTimer=setTimeout(function(){q._poll.call(q);},q.options.pollInterval);}},_progress:function(h,g){var f=this.options;if(h){g.error=h;this.errors.push({error:h,request:g});}g.node._yuiget_finished=g.finished=true;if(f.onProgress){f.onProgress.call(f.context||this,this._getEventData(g));}if(g.autopurge){e._autoPurge(this.options.purgethreshold);e._purgeNodes.push(g.node);}if(this._pending===g){this._pending=null;}this._waiting-=1;this._next();}};},"3.6.0pr3",{requires:["yui-base"]});YUI.add("features",function(b){var c={};b.mix(b.namespace("Features"),{tests:c,add:function(d,e,f){c[d]=c[d]||{};c[d][e]=f;},all:function(e,f){var g=c[e],d=[];if(g){b.Object.each(g,function(i,h){d.push(h+":"+(b.Features.test(e,h,f)?1:0));});}return(d.length)?d.join(";"):"";},test:function(e,g,f){f=f||[];var d,i,k,j=c[e],h=j&&j[g];if(!h){}else{d=h.result;if(b.Lang.isUndefined(d)){i=h.ua;if(i){d=(b.UA[i]);}k=h.test;if(k&&((!i)||d)){d=k.apply(b,f);}h.result=d;}}return d;}});var a=b.Features.add;a("load","0",{"name":"io-nodejs","trigger":"io-base","ua":"nodejs"});a("load","1",{"name":"history-hash-ie","test":function(e){var d=e.config.doc&&e.config.doc.documentMode;return e.UA.ie&&(!("onhashchange" in e.config.win)||!d||d<8);},"trigger":"history-hash"});a("load","2",{"name":"graphics-canvas-default","test":function(h){var f=h.config.doc,g=h.config.defaultGraphicEngine&&h.config.defaultGraphicEngine=="canvas",e=f&&f.createElement("canvas"),d=(f&&f.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")); +return(!d||g)&&(e&&e.getContext&&e.getContext("2d"));},"trigger":"graphics"});a("load","3",{"name":"autocomplete-list-keys","test":function(d){return !(d.UA.ios||d.UA.android);},"trigger":"autocomplete-list"});a("load","4",{"name":"dd-gestures","test":function(d){return((d.config.win&&("ontouchstart" in d.config.win))&&!(d.UA.chrome&&d.UA.chrome<6));},"trigger":"dd-drag"});a("load","5",{"name":"editor-para-ie","trigger":"editor-para","ua":"ie","when":"instead"});a("load","6",{"name":"transition-timer","test":function(g){var f=g.config.doc,e=(f)?f.documentElement:null,d=true;if(e&&e.style){d=!("MozTransition" in e.style||"WebkitTransition" in e.style);}return d;},"trigger":"transition"});a("load","7",{"name":"graphics-svg-default","test":function(h){var g=h.config.doc,f=!h.config.defaultGraphicEngine||h.config.defaultGraphicEngine!="canvas",e=g&&g.createElement("canvas"),d=(g&&g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return d&&(f||!e);},"trigger":"graphics"});a("load","8",{"name":"scrollview-base-ie","trigger":"scrollview-base","ua":"ie"});a("load","9",{"name":"widget-base-ie","trigger":"widget-base","ua":"ie"});a("load","10",{"name":"dom-style-ie","test":function(j){var h=j.Features.test,i=j.Features.add,f=j.config.win,g=j.config.doc,d="documentElement",e=false;i("style","computedStyle",{test:function(){return f&&"getComputedStyle" in f;}});i("style","opacity",{test:function(){return g&&"opacity" in g[d].style;}});e=(!h("style","opacity")&&!h("style","computedStyle"));return e;},"trigger":"dom-style"});a("load","11",{"name":"selector-css2","test":function(f){var e=f.config.doc,d=e&&!("querySelectorAll" in e);return d;},"trigger":"selector"});a("load","12",{"name":"event-base-ie","test":function(e){var d=e.config.doc&&e.config.doc.implementation;return(d&&(!d.hasFeature("Events","2.0")));},"trigger":"node-base"});a("load","13",{"name":"graphics-svg","test":function(h){var g=h.config.doc,f=!h.config.defaultGraphicEngine||h.config.defaultGraphicEngine!="canvas",e=g&&g.createElement("canvas"),d=(g&&g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return d&&(f||!e);},"trigger":"graphics"});a("load","14",{"name":"graphics-vml-default","test":function(f){var e=f.config.doc,d=e&&e.createElement("canvas");return(e&&!e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")&&(!d||!d.getContext||!d.getContext("2d")));},"trigger":"graphics"});a("load","15",{"name":"app-transitions-native","test":function(f){var e=f.config.doc,d=e?e.documentElement:null;if(d&&d.style){return("MozTransition" in d.style||"WebkitTransition" in d.style);}return false;},"trigger":"app-transitions"});a("load","16",{"name":"graphics-canvas","test":function(h){var f=h.config.doc,g=h.config.defaultGraphicEngine&&h.config.defaultGraphicEngine=="canvas",e=f&&f.createElement("canvas"),d=(f&&f.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return(!d||g)&&(e&&e.getContext&&e.getContext("2d"));},"trigger":"graphics"});a("load","17",{"name":"graphics-vml","test":function(f){var e=f.config.doc,d=e&&e.createElement("canvas");return(e&&!e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")&&(!d||!d.getContext||!d.getContext("2d")));},"trigger":"graphics"});},"3.6.0pr3",{requires:["yui-base"]});YUI.add("intl-base",function(b){var a=/[, ]/;b.mix(b.namespace("Intl"),{lookupBestLang:function(g,h){var f,j,c,e;function d(l){var k;for(k=0;k0){c=d(j);if(c){return c;}else{e=j.lastIndexOf("-");if(e>=0){j=j.substring(0,e);if(e>=2&&j.charAt(e-2)==="-"){j=j.substring(0,e-2);}}else{break;}}}}return"";}});},"3.6.0pr3",{requires:["yui-base"]});YUI.add("yui-log",function(d){var c=d,e="yui:log",a="undefined",b={debug:1,info:1,warn:1,error:1};c.log=function(j,s,g,q){var l,p,n,k,o,i=c,r=i.config,h=(i.fire)?i:YUI.Env.globalEvents;if(r.debug){g=g||"";if(typeof g!=="undefined"){p=r.logExclude;n=r.logInclude;if(n&&!(g in n)){l=1;}else{if(n&&(g in n)){l=!n[g];}else{if(p&&(g in p)){l=p[g];}}}}if(!l){if(r.useBrowserConsole){k=(g)?g+": "+j:j;if(i.Lang.isFunction(r.logFn)){r.logFn.call(i,j,s,g);}else{if(typeof console!=a&&console.log){o=(s&&console[s]&&(s in b))?s:"log";console[o](k);}else{if(typeof opera!=a){opera.postError(k);}}}}if(h&&!q){if(h==i&&(!h.getEvent(e))){h.publish(e,{broadcast:2});}h.fire(e,{msg:j,cat:s,src:g});}}}return i;};c.message=function(){return c.log.apply(c,arguments);};},"3.6.0pr3",{requires:["yui-base"]});YUI.add("yui-later",function(b){var a=[];b.later=function(j,f,k,g,h){j=j||0;g=(!b.Lang.isUndefined(g))?b.Array(g):a;f=f||b.config.win||b;var i=false,c=(f&&b.Lang.isString(k))?f[k]:k,d=function(){if(!i){if(!c.apply){c(g[0],g[1],g[2],g[3]);}else{c.apply(f,g||a);}}},e=(h)?setInterval(d,j):setTimeout(d,j);return{id:e,interval:h,cancel:function(){i=true;if(this.interval){clearInterval(e);}else{clearTimeout(e);}}};};b.Lang.later=b.later;},"3.6.0pr3",{requires:["yui-base"]});YUI.add("yui",function(a){},"3.6.0pr3",{use:["yui-base","get","features","intl-base","yui-log","yui-later"]});YUI.add("oop",function(h){var d=h.Lang,c=h.Array,b=Object.prototype,a="_~yuim~_",e=b.hasOwnProperty,g=b.toString;function f(l,k,m,i,j){if(l&&l[j]&&l!==h){return l[j].call(l,k,m);}else{switch(c.test(l)){case 1:return c[j](l,k,m);case 2:return c[j](h.Array(l,0,true),k,m);default:return h.Object[j](l,k,m,i);}}}h.augment=function(i,k,r,o,s){var n=i.prototype,m=n&&k,q=k.prototype,v=n||i,j,u,p,l,t;s=s?h.Array(s):[];if(m){u={};p={};l={};j=function(x,w){if(r||!(w in n)){if(g.call(x)==="[object Function]"){l[w]=x;u[w]=p[w]=function(){return t(this,x,arguments);};}else{u[w]=x;}}};t=function(w,y,z){for(var x in l){if(e.call(l,x)&&w[x]===p[x]){w[x]=l[x];}}k.apply(w,s);return y.apply(w,z);};if(o){h.Array.each(o,function(w){if(w in q){j(q[w],w); +}});}else{h.Object.each(q,j,null,true);}}h.mix(v,u||q,r,o);if(!m){k.apply(v,s);}return i;};h.aggregate=function(k,j,i,l){return h.mix(k,j,i,l,0,true);};h.extend=function(l,k,i,n){if(!k||!l){h.error("extend failed, verify dependencies");}var m=k.prototype,j=h.Object(m);l.prototype=j;j.constructor=l;l.superclass=m;if(k!=Object&&m.constructor==b.constructor){m.constructor=k;}if(i){h.mix(j,i,true);}if(n){h.mix(l,n,true);}return l;};h.each=function(k,j,l,i){return f(k,j,l,i,"each");};h.some=function(k,j,l,i){return f(k,j,l,i,"some");};h.clone=function(l,m,r,s,k,q){if(!d.isObject(l)){return l;}if(h.instanceOf(l,YUI)){return l;}var n,j=q||{},i,p=h.each;switch(d.type(l)){case"date":return new Date(l);case"regexp":return l;case"function":return l;case"array":n=[];break;default:if(l[a]){return j[l[a]];}i=h.guid();n=(m)?{}:h.Object(l);l[a]=i;j[i]=l;}if(!l.addEventListener&&!l.attachEvent){p(l,function(t,o){if((o||o===0)&&(!r||(r.call(s||this,t,o,this,l)!==false))){if(o!==a){if(o=="prototype"){}else{this[o]=h.clone(t,m,r,s,k||l,j);}}}},n);}if(!q){h.Object.each(j,function(t,o){if(t[a]){try{delete t[a];}catch(u){t[a]=null;}}},this);j=null;}return n;};h.bind=function(i,k){var j=arguments.length>2?h.Array(arguments,2,true):null;return function(){var m=d.isString(i)?k[i]:i,l=(j)?j.concat(h.Array(arguments,0,true)):arguments;return m.apply(k||m,l);};};h.rbind=function(i,k){var j=arguments.length>2?h.Array(arguments,2,true):null;return function(){var m=d.isString(i)?k[i]:i,l=(j)?h.Array(arguments,0,true).concat(j):arguments;return m.apply(k||m,l);};};},"3.6.0pr3",{requires:["yui-base"]});YUI.add("features",function(b){var c={};b.mix(b.namespace("Features"),{tests:c,add:function(d,e,f){c[d]=c[d]||{};c[d][e]=f;},all:function(e,f){var g=c[e],d=[];if(g){b.Object.each(g,function(i,h){d.push(h+":"+(b.Features.test(e,h,f)?1:0));});}return(d.length)?d.join(";"):"";},test:function(e,g,f){f=f||[];var d,i,k,j=c[e],h=j&&j[g];if(!h){}else{d=h.result;if(b.Lang.isUndefined(d)){i=h.ua;if(i){d=(b.UA[i]);}k=h.test;if(k&&((!i)||d)){d=k.apply(b,f);}h.result=d;}}return d;}});var a=b.Features.add;a("load","0",{"name":"io-nodejs","trigger":"io-base","ua":"nodejs"});a("load","1",{"name":"history-hash-ie","test":function(e){var d=e.config.doc&&e.config.doc.documentMode;return e.UA.ie&&(!("onhashchange" in e.config.win)||!d||d<8);},"trigger":"history-hash"});a("load","2",{"name":"graphics-canvas-default","test":function(h){var f=h.config.doc,g=h.config.defaultGraphicEngine&&h.config.defaultGraphicEngine=="canvas",e=f&&f.createElement("canvas"),d=(f&&f.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return(!d||g)&&(e&&e.getContext&&e.getContext("2d"));},"trigger":"graphics"});a("load","3",{"name":"autocomplete-list-keys","test":function(d){return !(d.UA.ios||d.UA.android);},"trigger":"autocomplete-list"});a("load","4",{"name":"dd-gestures","test":function(d){return((d.config.win&&("ontouchstart" in d.config.win))&&!(d.UA.chrome&&d.UA.chrome<6));},"trigger":"dd-drag"});a("load","5",{"name":"editor-para-ie","trigger":"editor-para","ua":"ie","when":"instead"});a("load","6",{"name":"transition-timer","test":function(g){var f=g.config.doc,e=(f)?f.documentElement:null,d=true;if(e&&e.style){d=!("MozTransition" in e.style||"WebkitTransition" in e.style);}return d;},"trigger":"transition"});a("load","7",{"name":"graphics-svg-default","test":function(h){var g=h.config.doc,f=!h.config.defaultGraphicEngine||h.config.defaultGraphicEngine!="canvas",e=g&&g.createElement("canvas"),d=(g&&g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return d&&(f||!e);},"trigger":"graphics"});a("load","8",{"name":"scrollview-base-ie","trigger":"scrollview-base","ua":"ie"});a("load","9",{"name":"widget-base-ie","trigger":"widget-base","ua":"ie"});a("load","10",{"name":"dom-style-ie","test":function(j){var h=j.Features.test,i=j.Features.add,f=j.config.win,g=j.config.doc,d="documentElement",e=false;i("style","computedStyle",{test:function(){return f&&"getComputedStyle" in f;}});i("style","opacity",{test:function(){return g&&"opacity" in g[d].style;}});e=(!h("style","opacity")&&!h("style","computedStyle"));return e;},"trigger":"dom-style"});a("load","11",{"name":"selector-css2","test":function(f){var e=f.config.doc,d=e&&!("querySelectorAll" in e);return d;},"trigger":"selector"});a("load","12",{"name":"event-base-ie","test":function(e){var d=e.config.doc&&e.config.doc.implementation;return(d&&(!d.hasFeature("Events","2.0")));},"trigger":"node-base"});a("load","13",{"name":"graphics-svg","test":function(h){var g=h.config.doc,f=!h.config.defaultGraphicEngine||h.config.defaultGraphicEngine!="canvas",e=g&&g.createElement("canvas"),d=(g&&g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return d&&(f||!e);},"trigger":"graphics"});a("load","14",{"name":"graphics-vml-default","test":function(f){var e=f.config.doc,d=e&&e.createElement("canvas");return(e&&!e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")&&(!d||!d.getContext||!d.getContext("2d")));},"trigger":"graphics"});a("load","15",{"name":"app-transitions-native","test":function(f){var e=f.config.doc,d=e?e.documentElement:null;if(d&&d.style){return("MozTransition" in d.style||"WebkitTransition" in d.style);}return false;},"trigger":"app-transitions"});a("load","16",{"name":"graphics-canvas","test":function(h){var f=h.config.doc,g=h.config.defaultGraphicEngine&&h.config.defaultGraphicEngine=="canvas",e=f&&f.createElement("canvas"),d=(f&&f.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));return(!d||g)&&(e&&e.getContext&&e.getContext("2d"));},"trigger":"graphics"});a("load","17",{"name":"graphics-vml","test":function(f){var e=f.config.doc,d=e&&e.createElement("canvas");return(e&&!e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")&&(!d||!d.getContext||!d.getContext("2d")));},"trigger":"graphics"});},"3.6.0pr3",{requires:["yui-base"]}); +YUI.add("dom-core",function(e){var n="nodeType",c="ownerDocument",b="documentElement",a="defaultView",g="parentWindow",j="tagName",k="parentNode",i="previousSibling",l="nextSibling",h="contains",d="compareDocumentPosition",m=[],f={byId:function(p,o){return f.allById(p,o)[0]||null;},getId:function(o){var p;if(o.id&&!o.id.tagName&&!o.id.item){p=o.id;}else{if(o.attributes&&o.attributes.id){p=o.attributes.id.value;}}return p;},setId:function(o,p){if(o.setAttribute){o.setAttribute("id",p);}else{o.id=p;}},ancestor:function(p,q,s,r){var o=null;if(s){o=(!q||q(p))?p:null;}return o||f.elementByAxis(p,k,q,null,r);},ancestors:function(q,r,t,s){var p=q,o=[];while((p=f.ancestor(p,r,t,s))){t=false;if(p){o.unshift(p);if(s&&s(p)){return o;}}}return o;},elementByAxis:function(p,s,r,q,o){while(p&&(p=p[s])){if((q||p[j])&&(!r||r(p))){return p;}if(o&&o(p)){return null;}}return null;},contains:function(p,q){var o=false;if(!q||!p||!q[n]||!p[n]){o=false;}else{if(p[h]){if(e.UA.opera||q[n]===1){o=p[h](q);}else{o=f._bruteContains(p,q);}}else{if(p[d]){if(p===q||!!(p[d](q)&16)){o=true;}}}}return o;},inDoc:function(q,r){var p=false,o;if(q&&q.nodeType){(r)||(r=q[c]);o=r[b];if(o&&o.contains&&q.tagName){p=o.contains(q);}else{p=f.contains(o,q);}}return p;},allById:function(t,o){o=o||e.config.doc;var p=[],q=[],r,s;if(o.querySelectorAll){q=o.querySelectorAll('[id="'+t+'"]');}else{if(o.all){p=o.all(t);if(p){if(p.nodeName){if(p.id===t){q.push(p);p=m;}else{p=[p];}}if(p.length){for(r=0;s=p[r++];){if(s.id===t||(s.attributes&&s.attributes.id&&s.attributes.id.value===t)){q.push(s);}}}}}else{q=[f._getDoc(o).getElementById(t)];}}return q;},isWindow:function(o){return !!(o&&o.alert&&o.document);},_removeChildNodes:function(o){while(o.firstChild){o.removeChild(o.firstChild);}},siblings:function(r,q){var o=[],p=r;while((p=p[i])){if(p[j]&&(!q||q(p))){o.unshift(p);}}p=r;while((p=p[l])){if(p[j]&&(!q||q(p))){o.push(p);}}return o;},_bruteContains:function(o,p){while(p){if(o===p){return true;}p=p.parentNode;}return false;},_getRegExp:function(p,o){o=o||"";f._regexCache=f._regexCache||{};if(!f._regexCache[p+o]){f._regexCache[p+o]=new RegExp(p,o);}return f._regexCache[p+o];},_getDoc:function(o){var p=e.config.doc;if(o){p=(o[n]===9)?o:o[c]||o.document||e.config.doc;}return p;},_getWin:function(o){var p=f._getDoc(o);return p[a]||p[g]||e.config.win;},_batch:function(o,w,u,t,s,q){w=(typeof w==="string")?f[w]:w;var x,r=0,p,v;if(w&&o){while((p=o[r++])){x=x=w.call(f,p,u,t,s,q);if(typeof x!=="undefined"){(v)||(v=[]);v.push(x);}}}return(typeof v!=="undefined")?v:o;},generateID:function(o){var p=o.id;if(!p){p=e.stamp(o);o.id=p;}return p;}};e.DOM=f;},"3.6.0pr3",{requires:["oop","features"]});YUI.add("dom-base",function(b){var o=b.config.doc.documentElement,g=b.DOM,m="tagName",a="ownerDocument",c="",n=b.Features.add,k=b.Features.test;b.mix(g,{getText:(o.textContent!==undefined)?function(s){var r="";if(s){r=s.textContent;}return r||"";}:function(s){var r="";if(s){r=s.innerText||s.nodeValue;}return r||"";},setText:(o.textContent!==undefined)?function(r,s){if(r){r.textContent=s;}}:function(r,s){if("innerText" in r){r.innerText=s;}else{if("nodeValue" in r){r.nodeValue=s;}}},CUSTOM_ATTRIBUTES:(!o.hasAttribute)?{"for":"htmlFor","class":"className"}:{"htmlFor":"for","className":"class"},setAttribute:function(t,r,u,s){if(t&&r&&t.setAttribute){r=g.CUSTOM_ATTRIBUTES[r]||r;t.setAttribute(r,u,s);}},getAttribute:function(u,r,t){t=(t!==undefined)?t:2;var s="";if(u&&r&&u.getAttribute){r=g.CUSTOM_ATTRIBUTES[r]||r;s=u.getAttribute(r,t);if(s===null){s="";}}return s;},VALUE_SETTERS:{},VALUE_GETTERS:{},getValue:function(t){var s="",r;if(t&&t[m]){r=g.VALUE_GETTERS[t[m].toLowerCase()];if(r){s=r(t);}else{s=t.value;}}if(s===c){s=c;}return(typeof s==="string")?s:"";},setValue:function(r,s){var t;if(r&&r[m]){t=g.VALUE_SETTERS[r[m].toLowerCase()];if(t){t(r,s);}else{r.value=s;}}},creators:{}});n("value-set","select",{test:function(){var r=b.config.doc.createElement("select");r.innerHTML="";r.value="2";return(r.value&&r.value==="2");}});if(!k("value-set","select")){g.VALUE_SETTERS.select=function(u,v){for(var s=0,r=u.getElementsByTagName("option"),t;t=r[s++];){if(g.getValue(t)===v){t.selected=true;break;}}};}b.mix(g.VALUE_GETTERS,{button:function(r){return(r.attributes&&r.attributes.value)?r.attributes.value.value:"";}});b.mix(g.VALUE_SETTERS,{button:function(s,t){var r=s.attributes.value;if(!r){r=s[a].createAttribute("value");s.setAttributeNode(r);}r.value=t;}});b.mix(g.VALUE_GETTERS,{option:function(s){var r=s.attributes;return(r.value&&r.value.specified)?s.value:s.text;},select:function(s){var t=s.value,r=s.options;if(r&&r.length){if(s.multiple){}else{if(s.selectedIndex>-1){t=g.getValue(r[s.selectedIndex]);}}}return t;}});var h,f,q;b.mix(b.DOM,{hasClass:function(t,s){var r=b.DOM._getRegExp("(?:^|\\s+)"+s+"(?:\\s+|$)");return r.test(t.className);},addClass:function(s,r){if(!b.DOM.hasClass(s,r)){s.className=b.Lang.trim([s.className,r].join(" "));}},removeClass:function(s,r){if(r&&f(s,r)){s.className=b.Lang.trim(s.className.replace(b.DOM._getRegExp("(?:^|\\s+)"+r+"(?:\\s+|$)")," "));if(f(s,r)){q(s,r);}}},replaceClass:function(s,r,t){q(s,r);h(s,t);},toggleClass:function(s,r,t){var u=(t!==undefined)?t:!(f(s,r));if(u){h(s,r);}else{q(s,r);}}});f=b.DOM.hasClass;q=b.DOM.removeClass;h=b.DOM.addClass;var e=/<([a-z]+)/i,g=b.DOM,n=b.Features.add,k=b.Features.test,j={},i=function(t,r){var u=b.config.doc.createElement("div"),s=true;u.innerHTML=t;if(!u.firstChild||u.firstChild.tagName!==r.toUpperCase()){s=false;}return s;},p=/(?:\/(?:thead|tfoot|tbody|caption|col|colgroup)>)+\s*";}catch(s){return false;}return(r.firstChild&&r.firstChild.nodeName==="TBODY");}});n("innerhtml-div","tr",{test:function(){return i("","tr");}});n("innerhtml-div","script",{test:function(){return i("', 'script'); + } +}); + +if (!testFeature('innerhtml', 'table')) { + // TODO: thead/tfoot with nested tbody + // IE adds TBODY when creating TABLE elements (which may share this impl) + creators.tbody = function(html, doc) { + var frag = Y_DOM.create(TABLE_OPEN + html + TABLE_CLOSE, doc), + tb = Y.DOM._children(frag, 'tbody')[0]; + + if (frag.children.length > 1 && tb && !re_tbody.test(html)) { + tb.parentNode.removeChild(tb); // strip extraneous tbody + } + return frag; + }; +} + +if (!testFeature('innerhtml-div', 'script')) { + creators.script = function(html, doc) { + var frag = doc.createElement('div'); + + frag.innerHTML = '-' + html; + frag.removeChild(frag.firstChild); + return frag; + } + + creators.link = creators.style = creators.script; +} + +if (!testFeature('innerhtml-div', 'tr')) { + Y.mix(creators, { + option: function(html, doc) { + return Y_DOM.create('', doc); + }, + + tr: function(html, doc) { + return Y_DOM.create('' + html + '', doc); + }, + + td: function(html, doc) { + return Y_DOM.create('' + html + '', doc); + }, + + col: function(html, doc) { + return Y_DOM.create('' + html + '', doc); + }, + + tbody: 'table' + }); + + Y.mix(creators, { + legend: 'fieldset', + th: creators.td, + thead: creators.tbody, + tfoot: creators.tbody, + caption: creators.tbody, + colgroup: creators.tbody, + optgroup: creators.option + }); +} + +Y_DOM.creators = creators; +Y.mix(Y.DOM, { + /** + * Sets the width of the element to the given size, regardless + * of box model, border, padding, etc. + * @method setWidth + * @param {HTMLElement} element The DOM element. + * @param {String|Number} size The pixel height to size to + */ + + setWidth: function(node, size) { + Y.DOM._setSize(node, 'width', size); + }, + + /** + * Sets the height of the element to the given size, regardless + * of box model, border, padding, etc. + * @method setHeight + * @param {HTMLElement} element The DOM element. + * @param {String|Number} size The pixel height to size to + */ + + setHeight: function(node, size) { + Y.DOM._setSize(node, 'height', size); + }, + + _setSize: function(node, prop, val) { + val = (val > 0) ? val : 0; + var size = 0; + + node.style[prop] = val + 'px'; + size = (prop === 'height') ? node.offsetHeight : node.offsetWidth; + + if (size > val) { + val = val - (size - val); + + if (val < 0) { + val = 0; + } + + node.style[prop] = val + 'px'; + } + } +}); + + +}, '3.6.0pr3' ,{requires:['dom-core']}); +YUI.add('dom-style', function(Y) { + +(function(Y) { +/** + * Add style management functionality to DOM. + * @module dom + * @submodule dom-style + * @for DOM + */ + +var DOCUMENT_ELEMENT = 'documentElement', + DEFAULT_VIEW = 'defaultView', + OWNER_DOCUMENT = 'ownerDocument', + STYLE = 'style', + FLOAT = 'float', + CSS_FLOAT = 'cssFloat', + STYLE_FLOAT = 'styleFloat', + TRANSPARENT = 'transparent', + GET_COMPUTED_STYLE = 'getComputedStyle', + GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect', + + WINDOW = Y.config.win, + DOCUMENT = Y.config.doc, + UNDEFINED = undefined, + + Y_DOM = Y.DOM, + + TRANSFORM = 'transform', + VENDOR_TRANSFORM = [ + 'WebkitTransform', + 'MozTransform', + 'OTransform' + ], + + re_color = /color$/i, + re_unit = /width|height|top|left|right|bottom|margin|padding/i; + +Y.Array.each(VENDOR_TRANSFORM, function(val) { + if (val in DOCUMENT[DOCUMENT_ELEMENT].style) { + TRANSFORM = val; + } +}); + +Y.mix(Y_DOM, { + DEFAULT_UNIT: 'px', + + CUSTOM_STYLES: { + }, + + + /** + * Sets a style property for a given element. + * @method setStyle + * @param {HTMLElement} An HTMLElement to apply the style to. + * @param {String} att The style property to set. + * @param {String|Number} val The value. + */ + setStyle: function(node, att, val, style) { + style = style || node.style; + var CUSTOM_STYLES = Y_DOM.CUSTOM_STYLES; + + if (style) { + if (val === null || val === '') { // normalize unsetting + val = ''; + } else if (!isNaN(new Number(val)) && re_unit.test(att)) { // number values may need a unit + val += Y_DOM.DEFAULT_UNIT; + } + + if (att in CUSTOM_STYLES) { + if (CUSTOM_STYLES[att].set) { + CUSTOM_STYLES[att].set(node, val, style); + return; // NOTE: return + } else if (typeof CUSTOM_STYLES[att] === 'string') { + att = CUSTOM_STYLES[att]; + } + } else if (att === '') { // unset inline styles + att = 'cssText'; + val = ''; + } + style[att] = val; + } + }, + + /** + * Returns the current style value for the given property. + * @method getStyle + * @param {HTMLElement} An HTMLElement to get the style from. + * @param {String} att The style property to get. + */ + getStyle: function(node, att, style) { + style = style || node.style; + var CUSTOM_STYLES = Y_DOM.CUSTOM_STYLES, + val = ''; + + if (style) { + if (att in CUSTOM_STYLES) { + if (CUSTOM_STYLES[att].get) { + return CUSTOM_STYLES[att].get(node, att, style); // NOTE: return + } else if (typeof CUSTOM_STYLES[att] === 'string') { + att = CUSTOM_STYLES[att]; + } + } + val = style[att]; + if (val === '') { // TODO: is empty string sufficient? + val = Y_DOM[GET_COMPUTED_STYLE](node, att); + } + } + + return val; + }, + + /** + * Sets multiple style properties. + * @method setStyles + * @param {HTMLElement} node An HTMLElement to apply the styles to. + * @param {Object} hash An object literal of property:value pairs. + */ + setStyles: function(node, hash) { + var style = node.style; + Y.each(hash, function(v, n) { + Y_DOM.setStyle(node, n, v, style); + }, Y_DOM); + }, + + /** + * Returns the computed style for the given node. + * @method getComputedStyle + * @param {HTMLElement} An HTMLElement to get the style from. + * @param {String} att The style property to get. + * @return {String} The computed value of the style property. + */ + getComputedStyle: function(node, att) { + var val = '', + doc = node[OWNER_DOCUMENT], + computed; + + if (node[STYLE] && doc[DEFAULT_VIEW] && doc[DEFAULT_VIEW][GET_COMPUTED_STYLE]) { + computed = doc[DEFAULT_VIEW][GET_COMPUTED_STYLE](node, null); + if (computed) { // FF may be null in some cases (ticket #2530548) + val = computed[att]; + } + } + return val; + } +}); + +// normalize reserved word float alternatives ("cssFloat" or "styleFloat") +if (DOCUMENT[DOCUMENT_ELEMENT][STYLE][CSS_FLOAT] !== UNDEFINED) { + Y_DOM.CUSTOM_STYLES[FLOAT] = CSS_FLOAT; +} else if (DOCUMENT[DOCUMENT_ELEMENT][STYLE][STYLE_FLOAT] !== UNDEFINED) { + Y_DOM.CUSTOM_STYLES[FLOAT] = STYLE_FLOAT; +} + +// fix opera computedStyle default color unit (convert to rgb) +if (Y.UA.opera) { + Y_DOM[GET_COMPUTED_STYLE] = function(node, att) { + var view = node[OWNER_DOCUMENT][DEFAULT_VIEW], + val = view[GET_COMPUTED_STYLE](node, '')[att]; + + if (re_color.test(att)) { + val = Y.Color.toRGB(val); + } + + return val; + }; + +} + +// safari converts transparent to rgba(), others use "transparent" +if (Y.UA.webkit) { + Y_DOM[GET_COMPUTED_STYLE] = function(node, att) { + var view = node[OWNER_DOCUMENT][DEFAULT_VIEW], + val = view[GET_COMPUTED_STYLE](node, '')[att]; + + if (val === 'rgba(0, 0, 0, 0)') { + val = TRANSPARENT; + } + + return val; + }; + +} + +Y.DOM._getAttrOffset = function(node, attr) { + var val = Y.DOM[GET_COMPUTED_STYLE](node, attr), + offsetParent = node.offsetParent, + position, + parentOffset, + offset; + + if (val === 'auto') { + position = Y.DOM.getStyle(node, 'position'); + if (position === 'static' || position === 'relative') { + val = 0; + } else if (offsetParent && offsetParent[GET_BOUNDING_CLIENT_RECT]) { + parentOffset = offsetParent[GET_BOUNDING_CLIENT_RECT]()[attr]; + offset = node[GET_BOUNDING_CLIENT_RECT]()[attr]; + if (attr === 'left' || attr === 'top') { + val = offset - parentOffset; + } else { + val = parentOffset - node[GET_BOUNDING_CLIENT_RECT]()[attr]; + } + } + } + + return val; +}; + +Y.DOM._getOffset = function(node) { + var pos, + xy = null; + + if (node) { + pos = Y_DOM.getStyle(node, 'position'); + xy = [ + parseInt(Y_DOM[GET_COMPUTED_STYLE](node, 'left'), 10), + parseInt(Y_DOM[GET_COMPUTED_STYLE](node, 'top'), 10) + ]; + + if ( isNaN(xy[0]) ) { // in case of 'auto' + xy[0] = parseInt(Y_DOM.getStyle(node, 'left'), 10); // try inline + if ( isNaN(xy[0]) ) { // default to offset value + xy[0] = (pos === 'relative') ? 0 : node.offsetLeft || 0; + } + } + + if ( isNaN(xy[1]) ) { // in case of 'auto' + xy[1] = parseInt(Y_DOM.getStyle(node, 'top'), 10); // try inline + if ( isNaN(xy[1]) ) { // default to offset value + xy[1] = (pos === 'relative') ? 0 : node.offsetTop || 0; + } + } + } + + return xy; + +}; + +Y_DOM.CUSTOM_STYLES.transform = { + set: function(node, val, style) { + style[TRANSFORM] = val; + }, + + get: function(node, style) { + return Y_DOM[GET_COMPUTED_STYLE](node, TRANSFORM); + } +}; + + +})(Y); +(function(Y) { +var PARSE_INT = parseInt, + RE = RegExp; + +Y.Color = { + KEYWORDS: { + black: '000', + silver: 'c0c0c0', + gray: '808080', + white: 'fff', + maroon: '800000', + red: 'f00', + purple: '800080', + fuchsia: 'f0f', + green: '008000', + lime: '0f0', + olive: '808000', + yellow: 'ff0', + navy: '000080', + blue: '00f', + teal: '008080', + aqua: '0ff' + }, + + re_RGB: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i, + re_hex: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i, + re_hex3: /([0-9A-F])/gi, + + toRGB: function(val) { + if (!Y.Color.re_RGB.test(val)) { + val = Y.Color.toHex(val); + } + + if(Y.Color.re_hex.exec(val)) { + val = 'rgb(' + [ + PARSE_INT(RE.$1, 16), + PARSE_INT(RE.$2, 16), + PARSE_INT(RE.$3, 16) + ].join(', ') + ')'; + } + return val; + }, + + toHex: function(val) { + val = Y.Color.KEYWORDS[val] || val; + if (Y.Color.re_RGB.exec(val)) { + val = [ + Number(RE.$1).toString(16), + Number(RE.$2).toString(16), + Number(RE.$3).toString(16) + ]; + + for (var i = 0; i < val.length; i++) { + if (val[i].length < 2) { + val[i] = '0' + val[i]; + } + } + + val = val.join(''); + } + + if (val.length < 6) { + val = val.replace(Y.Color.re_hex3, '$1$1'); + } + + if (val !== 'transparent' && val.indexOf('#') < 0) { + val = '#' + val; + } + + return val.toUpperCase(); + } +}; +})(Y); + + + +}, '3.6.0pr3' ,{requires:['dom-base']}); +YUI.add('dom-style-ie', function(Y) { + +(function(Y) { +var HAS_LAYOUT = 'hasLayout', + PX = 'px', + FILTER = 'filter', + FILTERS = 'filters', + OPACITY = 'opacity', + AUTO = 'auto', + + BORDER_WIDTH = 'borderWidth', + BORDER_TOP_WIDTH = 'borderTopWidth', + BORDER_RIGHT_WIDTH = 'borderRightWidth', + BORDER_BOTTOM_WIDTH = 'borderBottomWidth', + BORDER_LEFT_WIDTH = 'borderLeftWidth', + WIDTH = 'width', + HEIGHT = 'height', + TRANSPARENT = 'transparent', + VISIBLE = 'visible', + GET_COMPUTED_STYLE = 'getComputedStyle', + UNDEFINED = undefined, + documentElement = Y.config.doc.documentElement, + + testFeature = Y.Features.test, + addFeature = Y.Features.add, + + // TODO: unit-less lineHeight (e.g. 1.22) + re_unit = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i, + + isIE8 = (Y.UA.ie >= 8), + + _getStyleObj = function(node) { + return node.currentStyle || node.style; + }, + + ComputedStyle = { + CUSTOM_STYLES: {}, + + get: function(el, property) { + var value = '', + current; + + if (el) { + current = _getStyleObj(el)[property]; + + if (property === OPACITY && Y.DOM.CUSTOM_STYLES[OPACITY]) { + value = Y.DOM.CUSTOM_STYLES[OPACITY].get(el); + } else if (!current || (current.indexOf && current.indexOf(PX) > -1)) { // no need to convert + value = current; + } else if (Y.DOM.IE.COMPUTED[property]) { // use compute function + value = Y.DOM.IE.COMPUTED[property](el, property); + } else if (re_unit.test(current)) { // convert to pixel + value = ComputedStyle.getPixel(el, property) + PX; + } else { + value = current; + } + } + + return value; + }, + + sizeOffsets: { + width: ['Left', 'Right'], + height: ['Top', 'Bottom'], + top: ['Top'], + bottom: ['Bottom'] + }, + + getOffset: function(el, prop) { + var current = _getStyleObj(el)[prop], // value of "width", "top", etc. + capped = prop.charAt(0).toUpperCase() + prop.substr(1), // "Width", "Top", etc. + offset = 'offset' + capped, // "offsetWidth", "offsetTop", etc. + pixel = 'pixel' + capped, // "pixelWidth", "pixelTop", etc. + sizeOffsets = ComputedStyle.sizeOffsets[prop], + mode = el.ownerDocument.compatMode, + value = ''; + + // IE pixelWidth incorrect for percent + // manually compute by subtracting padding and border from offset size + // NOTE: clientWidth/Height (size minus border) is 0 when current === AUTO so offsetHeight is used + // reverting to auto from auto causes position stacking issues (old impl) + if (current === AUTO || current.indexOf('%') > -1) { + value = el['offset' + capped]; + + if (mode !== 'BackCompat') { + if (sizeOffsets[0]) { + value -= ComputedStyle.getPixel(el, 'padding' + sizeOffsets[0]); + value -= ComputedStyle.getBorderWidth(el, 'border' + sizeOffsets[0] + 'Width', 1); + } + + if (sizeOffsets[1]) { + value -= ComputedStyle.getPixel(el, 'padding' + sizeOffsets[1]); + value -= ComputedStyle.getBorderWidth(el, 'border' + sizeOffsets[1] + 'Width', 1); + } + } + + } else { // use style.pixelWidth, etc. to convert to pixels + // need to map style.width to currentStyle (no currentStyle.pixelWidth) + if (!el.style[pixel] && !el.style[prop]) { + el.style[prop] = current; + } + value = el.style[pixel]; + + } + return value + PX; + }, + + borderMap: { + thin: (isIE8) ? '1px' : '2px', + medium: (isIE8) ? '3px': '4px', + thick: (isIE8) ? '5px' : '6px' + }, + + getBorderWidth: function(el, property, omitUnit) { + var unit = omitUnit ? '' : PX, + current = el.currentStyle[property]; + + if (current.indexOf(PX) < 0) { // look up keywords if a border exists + if (ComputedStyle.borderMap[current] && + el.currentStyle.borderStyle !== 'none') { + current = ComputedStyle.borderMap[current]; + } else { // otherwise no border (default is "medium") + current = 0; + } + } + return (omitUnit) ? parseFloat(current) : current; + }, + + getPixel: function(node, att) { + // use pixelRight to convert to px + var val = null, + style = _getStyleObj(node), + styleRight = style.right, + current = style[att]; + + node.style.right = current; + val = node.style.pixelRight; + node.style.right = styleRight; // revert + + return val; + }, + + getMargin: function(node, att) { + var val, + style = _getStyleObj(node); + + if (style[att] == AUTO) { + val = 0; + } else { + val = ComputedStyle.getPixel(node, att); + } + return val + PX; + }, + + getVisibility: function(node, att) { + var current; + while ( (current = node.currentStyle) && current[att] == 'inherit') { // NOTE: assignment in test + node = node.parentNode; + } + return (current) ? current[att] : VISIBLE; + }, + + getColor: function(node, att) { + var current = _getStyleObj(node)[att]; + + if (!current || current === TRANSPARENT) { + Y.DOM.elementByAxis(node, 'parentNode', null, function(parent) { + current = _getStyleObj(parent)[att]; + if (current && current !== TRANSPARENT) { + node = parent; + return true; + } + }); + } + + return Y.Color.toRGB(current); + }, + + getBorderColor: function(node, att) { + var current = _getStyleObj(node), + val = current[att] || current.color; + return Y.Color.toRGB(Y.Color.toHex(val)); + } + }, + + //fontSize: getPixelFont, + IEComputed = {}; + +addFeature('style', 'computedStyle', { + test: function() { + return 'getComputedStyle' in Y.config.win; + } +}); + +addFeature('style', 'opacity', { + test: function() { + return 'opacity' in documentElement.style; + } +}); + +addFeature('style', 'filter', { + test: function() { + return 'filters' in documentElement; + } +}); + +// use alpha filter for IE opacity +if (!testFeature('style', 'opacity') && testFeature('style', 'filter')) { + Y.DOM.CUSTOM_STYLES[OPACITY] = { + get: function(node) { + var val = 100; + try { // will error if no DXImageTransform + val = node[FILTERS]['DXImageTransform.Microsoft.Alpha'][OPACITY]; + + } catch(e) { + try { // make sure its in the document + val = node[FILTERS]('alpha')[OPACITY]; + } catch(err) { + } + } + return val / 100; + }, + + set: function(node, val, style) { + var current, + styleObj = _getStyleObj(node), + currentFilter = styleObj[FILTER]; + + style = style || node.style; + if (val === '') { // normalize inline style behavior + current = (OPACITY in styleObj) ? styleObj[OPACITY] : 1; // revert to original opacity + val = current; + } + + if (typeof currentFilter == 'string') { // in case not appended + style[FILTER] = currentFilter.replace(/alpha([^)]*\))/gi, '') + + ((val < 1) ? 'alpha(' + OPACITY + '=' + val * 100 + ')' : ''); + + if (!style[FILTER]) { + style.removeAttribute(FILTER); + } + + if (!styleObj[HAS_LAYOUT]) { + style.zoom = 1; // needs layout + } + } + } + }; +} + +try { + Y.config.doc.createElement('div').style.height = '-1px'; +} catch(e) { // IE throws error on invalid style set; trap common cases + Y.DOM.CUSTOM_STYLES.height = { + set: function(node, val, style) { + var floatVal = parseFloat(val); + if (floatVal >= 0 || val === 'auto' || val === '') { + style.height = val; + } else { + } + } + }; + + Y.DOM.CUSTOM_STYLES.width = { + set: function(node, val, style) { + var floatVal = parseFloat(val); + if (floatVal >= 0 || val === 'auto' || val === '') { + style.width = val; + } else { + } + } + }; +} + +if (!testFeature('style', 'computedStyle')) { + // TODO: top, right, bottom, left + IEComputed[WIDTH] = IEComputed[HEIGHT] = ComputedStyle.getOffset; + + IEComputed.color = IEComputed.backgroundColor = ComputedStyle.getColor; + + IEComputed[BORDER_WIDTH] = IEComputed[BORDER_TOP_WIDTH] = IEComputed[BORDER_RIGHT_WIDTH] = + IEComputed[BORDER_BOTTOM_WIDTH] = IEComputed[BORDER_LEFT_WIDTH] = + ComputedStyle.getBorderWidth; + + IEComputed.marginTop = IEComputed.marginRight = IEComputed.marginBottom = + IEComputed.marginLeft = ComputedStyle.getMargin; + + IEComputed.visibility = ComputedStyle.getVisibility; + IEComputed.borderColor = IEComputed.borderTopColor = + IEComputed.borderRightColor = IEComputed.borderBottomColor = + IEComputed.borderLeftColor = ComputedStyle.getBorderColor; + + Y.DOM[GET_COMPUTED_STYLE] = ComputedStyle.get; + + Y.namespace('DOM.IE'); + Y.DOM.IE.COMPUTED = IEComputed; + Y.DOM.IE.ComputedStyle = ComputedStyle; +} + +})(Y); + + +}, '3.6.0pr3' ,{requires:['dom-style']}); +YUI.add('dom-screen', function(Y) { + +(function(Y) { + +/** + * Adds position and region management functionality to DOM. + * @module dom + * @submodule dom-screen + * @for DOM + */ + +var DOCUMENT_ELEMENT = 'documentElement', + COMPAT_MODE = 'compatMode', + POSITION = 'position', + FIXED = 'fixed', + RELATIVE = 'relative', + LEFT = 'left', + TOP = 'top', + _BACK_COMPAT = 'BackCompat', + MEDIUM = 'medium', + BORDER_LEFT_WIDTH = 'borderLeftWidth', + BORDER_TOP_WIDTH = 'borderTopWidth', + GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect', + GET_COMPUTED_STYLE = 'getComputedStyle', + + Y_DOM = Y.DOM, + + // TODO: how about thead/tbody/tfoot/tr? + // TODO: does caption matter? + RE_TABLE = /^t(?:able|d|h)$/i, + + SCROLL_NODE; + +if (Y.UA.ie) { + if (Y.config.doc[COMPAT_MODE] !== 'BackCompat') { + SCROLL_NODE = DOCUMENT_ELEMENT; + } else { + SCROLL_NODE = 'body'; + } +} + +Y.mix(Y_DOM, { + /** + * Returns the inner height of the viewport (exludes scrollbar). + * @method winHeight + * @return {Number} The current height of the viewport. + */ + winHeight: function(node) { + var h = Y_DOM._getWinSize(node).height; + return h; + }, + + /** + * Returns the inner width of the viewport (exludes scrollbar). + * @method winWidth + * @return {Number} The current width of the viewport. + */ + winWidth: function(node) { + var w = Y_DOM._getWinSize(node).width; + return w; + }, + + /** + * Document height + * @method docHeight + * @return {Number} The current height of the document. + */ + docHeight: function(node) { + var h = Y_DOM._getDocSize(node).height; + return Math.max(h, Y_DOM._getWinSize(node).height); + }, + + /** + * Document width + * @method docWidth + * @return {Number} The current width of the document. + */ + docWidth: function(node) { + var w = Y_DOM._getDocSize(node).width; + return Math.max(w, Y_DOM._getWinSize(node).width); + }, + + /** + * Amount page has been scroll horizontally + * @method docScrollX + * @return {Number} The current amount the screen is scrolled horizontally. + */ + docScrollX: function(node, doc) { + doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc; // perf optimization + var dv = doc.defaultView, + pageOffset = (dv) ? dv.pageXOffset : 0; + return Math.max(doc[DOCUMENT_ELEMENT].scrollLeft, doc.body.scrollLeft, pageOffset); + }, + + /** + * Amount page has been scroll vertically + * @method docScrollY + * @return {Number} The current amount the screen is scrolled vertically. + */ + docScrollY: function(node, doc) { + doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc; // perf optimization + var dv = doc.defaultView, + pageOffset = (dv) ? dv.pageYOffset : 0; + return Math.max(doc[DOCUMENT_ELEMENT].scrollTop, doc.body.scrollTop, pageOffset); + }, + + /** + * Gets the current position of an element based on page coordinates. + * Element must be part of the DOM tree to have page coordinates + * (display:none or elements not appended return false). + * @method getXY + * @param element The target element + * @return {Array} The XY position of the element + + TODO: test inDocument/display? + */ + getXY: function() { + if (Y.config.doc[DOCUMENT_ELEMENT][GET_BOUNDING_CLIENT_RECT]) { + return function(node) { + var xy = null, + scrollLeft, + scrollTop, + mode, + box, + offX, + offY, + doc, + win, + inDoc, + rootNode; + + if (node && node.tagName) { + doc = node.ownerDocument; + mode = doc[COMPAT_MODE]; + + if (mode !== _BACK_COMPAT) { + rootNode = doc[DOCUMENT_ELEMENT]; + } else { + rootNode = doc.body; + } + + // inline inDoc check for perf + if (rootNode.contains) { + inDoc = rootNode.contains(node); + } else { + inDoc = Y.DOM.contains(rootNode, node); + } + + if (inDoc) { + win = doc.defaultView; + + // inline scroll calc for perf + if (win && 'pageXOffset' in win) { + scrollLeft = win.pageXOffset; + scrollTop = win.pageYOffset; + } else { + scrollLeft = (SCROLL_NODE) ? doc[SCROLL_NODE].scrollLeft : Y_DOM.docScrollX(node, doc); + scrollTop = (SCROLL_NODE) ? doc[SCROLL_NODE].scrollTop : Y_DOM.docScrollY(node, doc); + } + + if (Y.UA.ie) { // IE < 8, quirks, or compatMode + if (!doc.documentMode || doc.documentMode < 8 || mode === _BACK_COMPAT) { + offX = rootNode.clientLeft; + offY = rootNode.clientTop; + } + } + box = node[GET_BOUNDING_CLIENT_RECT](); + xy = [box.left, box.top]; + + if (offX || offY) { + xy[0] -= offX; + xy[1] -= offY; + + } + if ((scrollTop || scrollLeft)) { + if (!Y.UA.ios || (Y.UA.ios >= 4.2)) { + xy[0] += scrollLeft; + xy[1] += scrollTop; + } + + } + } else { + xy = Y_DOM._getOffset(node); + } + } + return xy; + }; + } else { + return function(node) { // manually calculate by crawling up offsetParents + //Calculate the Top and Left border sizes (assumes pixels) + var xy = null, + doc, + parentNode, + bCheck, + scrollTop, + scrollLeft; + + if (node) { + if (Y_DOM.inDoc(node)) { + xy = [node.offsetLeft, node.offsetTop]; + doc = node.ownerDocument; + parentNode = node; + // TODO: refactor with !! or just falsey + bCheck = ((Y.UA.gecko || Y.UA.webkit > 519) ? true : false); + + // TODO: worth refactoring for TOP/LEFT only? + while ((parentNode = parentNode.offsetParent)) { + xy[0] += parentNode.offsetLeft; + xy[1] += parentNode.offsetTop; + if (bCheck) { + xy = Y_DOM._calcBorders(parentNode, xy); + } + } + + // account for any scrolled ancestors + if (Y_DOM.getStyle(node, POSITION) != FIXED) { + parentNode = node; + + while ((parentNode = parentNode.parentNode)) { + scrollTop = parentNode.scrollTop; + scrollLeft = parentNode.scrollLeft; + + //Firefox does something funky with borders when overflow is not visible. + if (Y.UA.gecko && (Y_DOM.getStyle(parentNode, 'overflow') !== 'visible')) { + xy = Y_DOM._calcBorders(parentNode, xy); + } + + + if (scrollTop || scrollLeft) { + xy[0] -= scrollLeft; + xy[1] -= scrollTop; + } + } + xy[0] += Y_DOM.docScrollX(node, doc); + xy[1] += Y_DOM.docScrollY(node, doc); + + } else { + //Fix FIXED position -- add scrollbars + xy[0] += Y_DOM.docScrollX(node, doc); + xy[1] += Y_DOM.docScrollY(node, doc); + } + } else { + xy = Y_DOM._getOffset(node); + } + } + + return xy; + }; + } + }(),// NOTE: Executing for loadtime branching + + /** + Gets the width of vertical scrollbars on overflowed containers in the body + content. + + @method getScrollbarWidth + @return {Number} Pixel width of a scrollbar in the current browser + **/ + getScrollbarWidth: Y.cached(function () { + var doc = Y.config.doc, + testNode = doc.createElement('div'), + body = doc.getElementsByTagName('body')[0], + // 0.1 because cached doesn't support falsy refetch values + width = 0.1; + + if (body) { + testNode.style.cssText = "position:absolute;visibility:hidden;overflow:scroll;width:20px;"; + testNode.appendChild(doc.createElement('p')).style.height = '1px'; + body.insertBefore(testNode, body.firstChild); + width = testNode.offsetWidth - testNode.clientWidth; + + body.removeChild(testNode); + } + + return width; + }, null, 0.1), + + /** + * Gets the current X position of an element based on page coordinates. + * Element must be part of the DOM tree to have page coordinates + * (display:none or elements not appended return false). + * @method getX + * @param element The target element + * @return {Number} The X position of the element + */ + + getX: function(node) { + return Y_DOM.getXY(node)[0]; + }, + + /** + * Gets the current Y position of an element based on page coordinates. + * Element must be part of the DOM tree to have page coordinates + * (display:none or elements not appended return false). + * @method getY + * @param element The target element + * @return {Number} The Y position of the element + */ + + getY: function(node) { + return Y_DOM.getXY(node)[1]; + }, + + /** + * Set the position of an html element in page coordinates. + * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false). + * @method setXY + * @param element The target element + * @param {Array} xy Contains X & Y values for new position (coordinates are page-based) + * @param {Boolean} noRetry By default we try and set the position a second time if the first fails + */ + setXY: function(node, xy, noRetry) { + var setStyle = Y_DOM.setStyle, + pos, + delta, + newXY, + currentXY; + + if (node && xy) { + pos = Y_DOM.getStyle(node, POSITION); + + delta = Y_DOM._getOffset(node); + if (pos == 'static') { // default to relative + pos = RELATIVE; + setStyle(node, POSITION, pos); + } + currentXY = Y_DOM.getXY(node); + + if (xy[0] !== null) { + setStyle(node, LEFT, xy[0] - currentXY[0] + delta[0] + 'px'); + } + + if (xy[1] !== null) { + setStyle(node, TOP, xy[1] - currentXY[1] + delta[1] + 'px'); + } + + if (!noRetry) { + newXY = Y_DOM.getXY(node); + if (newXY[0] !== xy[0] || newXY[1] !== xy[1]) { + Y_DOM.setXY(node, xy, true); + } + } + + } else { + } + }, + + /** + * Set the X position of an html element in page coordinates, regardless of how the element is positioned. + * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false). + * @method setX + * @param element The target element + * @param {Number} x The X values for new position (coordinates are page-based) + */ + setX: function(node, x) { + return Y_DOM.setXY(node, [x, null]); + }, + + /** + * Set the Y position of an html element in page coordinates, regardless of how the element is positioned. + * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false). + * @method setY + * @param element The target element + * @param {Number} y The Y values for new position (coordinates are page-based) + */ + setY: function(node, y) { + return Y_DOM.setXY(node, [null, y]); + }, + + /** + * @method swapXY + * @description Swap the xy position with another node + * @param {Node} node The node to swap with + * @param {Node} otherNode The other node to swap with + * @return {Node} + */ + swapXY: function(node, otherNode) { + var xy = Y_DOM.getXY(node); + Y_DOM.setXY(node, Y_DOM.getXY(otherNode)); + Y_DOM.setXY(otherNode, xy); + }, + + _calcBorders: function(node, xy2) { + var t = parseInt(Y_DOM[GET_COMPUTED_STYLE](node, BORDER_TOP_WIDTH), 10) || 0, + l = parseInt(Y_DOM[GET_COMPUTED_STYLE](node, BORDER_LEFT_WIDTH), 10) || 0; + if (Y.UA.gecko) { + if (RE_TABLE.test(node.tagName)) { + t = 0; + l = 0; + } + } + xy2[0] += l; + xy2[1] += t; + return xy2; + }, + + _getWinSize: function(node, doc) { + doc = doc || (node) ? Y_DOM._getDoc(node) : Y.config.doc; + var win = doc.defaultView || doc.parentWindow, + mode = doc[COMPAT_MODE], + h = win.innerHeight, + w = win.innerWidth, + root = doc[DOCUMENT_ELEMENT]; + + if ( mode && !Y.UA.opera ) { // IE, Gecko + if (mode != 'CSS1Compat') { // Quirks + root = doc.body; + } + h = root.clientHeight; + w = root.clientWidth; + } + return { height: h, width: w }; + }, + + _getDocSize: function(node) { + var doc = (node) ? Y_DOM._getDoc(node) : Y.config.doc, + root = doc[DOCUMENT_ELEMENT]; + + if (doc[COMPAT_MODE] != 'CSS1Compat') { + root = doc.body; + } + + return { height: root.scrollHeight, width: root.scrollWidth }; + } +}); + +})(Y); +(function(Y) { +var TOP = 'top', + RIGHT = 'right', + BOTTOM = 'bottom', + LEFT = 'left', + + getOffsets = function(r1, r2) { + var t = Math.max(r1[TOP], r2[TOP]), + r = Math.min(r1[RIGHT], r2[RIGHT]), + b = Math.min(r1[BOTTOM], r2[BOTTOM]), + l = Math.max(r1[LEFT], r2[LEFT]), + ret = {}; + + ret[TOP] = t; + ret[RIGHT] = r; + ret[BOTTOM] = b; + ret[LEFT] = l; + return ret; + }, + + DOM = Y.DOM; + +Y.mix(DOM, { + /** + * Returns an Object literal containing the following about this element: (top, right, bottom, left) + * @for DOM + * @method region + * @param {HTMLElement} element The DOM element. + * @return {Object} Object literal containing the following about this element: (top, right, bottom, left) + */ + region: function(node) { + var xy = DOM.getXY(node), + ret = false; + + if (node && xy) { + ret = DOM._getRegion( + xy[1], // top + xy[0] + node.offsetWidth, // right + xy[1] + node.offsetHeight, // bottom + xy[0] // left + ); + } + + return ret; + }, + + /** + * Find the intersect information for the passed nodes. + * @method intersect + * @for DOM + * @param {HTMLElement} element The first element + * @param {HTMLElement | Object} element2 The element or region to check the interect with + * @param {Object} altRegion An object literal containing the region for the first element if we already have the data (for performance e.g. DragDrop) + * @return {Object} Object literal containing the following intersection data: (top, right, bottom, left, area, yoff, xoff, inRegion) + */ + intersect: function(node, node2, altRegion) { + var r = altRegion || DOM.region(node), region = {}, + n = node2, + off; + + if (n.tagName) { + region = DOM.region(n); + } else if (Y.Lang.isObject(node2)) { + region = node2; + } else { + return false; + } + + off = getOffsets(region, r); + return { + top: off[TOP], + right: off[RIGHT], + bottom: off[BOTTOM], + left: off[LEFT], + area: ((off[BOTTOM] - off[TOP]) * (off[RIGHT] - off[LEFT])), + yoff: ((off[BOTTOM] - off[TOP])), + xoff: (off[RIGHT] - off[LEFT]), + inRegion: DOM.inRegion(node, node2, false, altRegion) + }; + + }, + /** + * Check if any part of this node is in the passed region + * @method inRegion + * @for DOM + * @param {Object} node The node to get the region from + * @param {Object} node2 The second node to get the region from or an Object literal of the region + * @param {Boolean} all Should all of the node be inside the region + * @param {Object} altRegion An object literal containing the region for this node if we already have the data (for performance e.g. DragDrop) + * @return {Boolean} True if in region, false if not. + */ + inRegion: function(node, node2, all, altRegion) { + var region = {}, + r = altRegion || DOM.region(node), + n = node2, + off; + + if (n.tagName) { + region = DOM.region(n); + } else if (Y.Lang.isObject(node2)) { + region = node2; + } else { + return false; + } + + if (all) { + return ( + r[LEFT] >= region[LEFT] && + r[RIGHT] <= region[RIGHT] && + r[TOP] >= region[TOP] && + r[BOTTOM] <= region[BOTTOM] ); + } else { + off = getOffsets(region, r); + if (off[BOTTOM] >= off[TOP] && off[RIGHT] >= off[LEFT]) { + return true; + } else { + return false; + } + + } + }, + + /** + * Check if any part of this element is in the viewport + * @method inViewportRegion + * @for DOM + * @param {HTMLElement} element The DOM element. + * @param {Boolean} all Should all of the node be inside the region + * @param {Object} altRegion An object literal containing the region for this node if we already have the data (for performance e.g. DragDrop) + * @return {Boolean} True if in region, false if not. + */ + inViewportRegion: function(node, all, altRegion) { + return DOM.inRegion(node, DOM.viewportRegion(node), all, altRegion); + + }, + + _getRegion: function(t, r, b, l) { + var region = {}; + + region[TOP] = region[1] = t; + region[LEFT] = region[0] = l; + region[BOTTOM] = b; + region[RIGHT] = r; + region.width = region[RIGHT] - region[LEFT]; + region.height = region[BOTTOM] - region[TOP]; + + return region; + }, + + /** + * Returns an Object literal containing the following about the visible region of viewport: (top, right, bottom, left) + * @method viewportRegion + * @for DOM + * @return {Object} Object literal containing the following about the visible region of the viewport: (top, right, bottom, left) + */ + viewportRegion: function(node) { + node = node || Y.config.doc.documentElement; + var ret = false, + scrollX, + scrollY; + + if (node) { + scrollX = DOM.docScrollX(node); + scrollY = DOM.docScrollY(node); + + ret = DOM._getRegion(scrollY, // top + DOM.winWidth(node) + scrollX, // right + scrollY + DOM.winHeight(node), // bottom + scrollX); // left + } + + return ret; + } +}); +})(Y); + + +}, '3.6.0pr3' ,{requires:['dom-base', 'dom-style']}); +YUI.add('selector-native', function(Y) { + +(function(Y) { +/** + * The selector-native module provides support for native querySelector + * @module dom + * @submodule selector-native + * @for Selector + */ + +/** + * Provides support for using CSS selectors to query the DOM + * @class Selector + * @static + * @for Selector + */ + +Y.namespace('Selector'); // allow native module to standalone + +var COMPARE_DOCUMENT_POSITION = 'compareDocumentPosition', + OWNER_DOCUMENT = 'ownerDocument'; + +var Selector = { + _types: { + esc: { + token: '\uE000', + re: /\\[:\[\]\(\)#\.\'\>+~"]/gi + }, + + attr: { + token: '\uE001', + re: /(\[[^\]]*\])/g + }, + + pseudo: { + token: '\uE002', + re: /(\([^\)]*\))/g + } + }, + + useNative: true, + + _escapeId: function(id) { + if (id) { + id = id.replace(/([:\[\]\(\)#\.'<>+~"])/g,'\\$1'); + } + return id; + }, + + _compare: ('sourceIndex' in Y.config.doc.documentElement) ? + function(nodeA, nodeB) { + var a = nodeA.sourceIndex, + b = nodeB.sourceIndex; + + if (a === b) { + return 0; + } else if (a > b) { + return 1; + } + + return -1; + + } : (Y.config.doc.documentElement[COMPARE_DOCUMENT_POSITION] ? + function(nodeA, nodeB) { + if (nodeA[COMPARE_DOCUMENT_POSITION](nodeB) & 4) { + return -1; + } else { + return 1; + } + } : + function(nodeA, nodeB) { + var rangeA, rangeB, compare; + if (nodeA && nodeB) { + rangeA = nodeA[OWNER_DOCUMENT].createRange(); + rangeA.setStart(nodeA, 0); + rangeB = nodeB[OWNER_DOCUMENT].createRange(); + rangeB.setStart(nodeB, 0); + compare = rangeA.compareBoundaryPoints(1, rangeB); // 1 === Range.START_TO_END + } + + return compare; + + }), + + _sort: function(nodes) { + if (nodes) { + nodes = Y.Array(nodes, 0, true); + if (nodes.sort) { + nodes.sort(Selector._compare); + } + } + + return nodes; + }, + + _deDupe: function(nodes) { + var ret = [], + i, node; + + for (i = 0; (node = nodes[i++]);) { + if (!node._found) { + ret[ret.length] = node; + node._found = true; + } + } + + for (i = 0; (node = ret[i++]);) { + node._found = null; + node.removeAttribute('_found'); + } + + return ret; + }, + + /** + * Retrieves a set of nodes based on a given CSS selector. + * @method query + * + * @param {string} selector The CSS Selector to test the node against. + * @param {HTMLElement} root optional An HTMLElement to start the query from. Defaults to Y.config.doc + * @param {Boolean} firstOnly optional Whether or not to return only the first match. + * @return {Array} An array of nodes that match the given selector. + * @static + */ + query: function(selector, root, firstOnly, skipNative) { + root = root || Y.config.doc; + var ret = [], + useNative = (Y.Selector.useNative && Y.config.doc.querySelector && !skipNative), + queries = [[selector, root]], + query, + result, + i, + fn = (useNative) ? Y.Selector._nativeQuery : Y.Selector._bruteQuery; + + if (selector && fn) { + // split group into seperate queries + if (!skipNative && // already done if skipping + (!useNative || root.tagName)) { // split native when element scoping is needed + queries = Selector._splitQueries(selector, root); + } + + for (i = 0; (query = queries[i++]);) { + result = fn(query[0], query[1], firstOnly); + if (!firstOnly) { // coerce DOM Collection to Array + result = Y.Array(result, 0, true); + } + if (result) { + ret = ret.concat(result); + } + } + + if (queries.length > 1) { // remove dupes and sort by doc order + ret = Selector._sort(Selector._deDupe(ret)); + } + } + + return (firstOnly) ? (ret[0] || null) : ret; + + }, + + _replaceSelector: function(selector) { + var esc = Y.Selector._parse('esc', selector), // pull escaped colon, brackets, etc. + attrs, + pseudos; + + // first replace escaped chars, which could be present in attrs or pseudos + selector = Y.Selector._replace('esc', selector); + + // then replace pseudos before attrs to avoid replacing :not([foo]) + pseudos = Y.Selector._parse('pseudo', selector); + selector = Selector._replace('pseudo', selector); + + attrs = Y.Selector._parse('attr', selector); + selector = Y.Selector._replace('attr', selector); + + return { + esc: esc, + attrs: attrs, + pseudos: pseudos, + selector: selector + } + }, + + _restoreSelector: function(replaced) { + var selector = replaced.selector; + selector = Y.Selector._restore('attr', selector, replaced.attrs); + selector = Y.Selector._restore('pseudo', selector, replaced.pseudos); + selector = Y.Selector._restore('esc', selector, replaced.esc); + return selector; + }, + + _replaceCommas: function(selector) { + var replaced = Y.Selector._replaceSelector(selector), + selector = replaced.selector; + + if (selector) { + selector = selector.replace(/,/g, '\uE007'); + replaced.selector = selector; + selector = Y.Selector._restoreSelector(replaced); + } + return selector; + }, + + // allows element scoped queries to begin with combinator + // e.g. query('> p', document.body) === query('body > p') + _splitQueries: function(selector, node) { + if (selector.indexOf(',') > -1) { + selector = Y.Selector._replaceCommas(selector); + } + + var groups = selector.split('\uE007'), // split on replaced comma token + queries = [], + prefix = '', + id, + i, + len; + + if (node) { + // enforce for element scoping + if (node.nodeType === 1) { // Elements only + id = Y.Selector._escapeId(Y.DOM.getId(node)); + + if (!id) { + id = Y.guid(); + Y.DOM.setId(node, id); + } + + prefix = '[id="' + id + '"] '; + } + + for (i = 0, len = groups.length; i < len; ++i) { + selector = prefix + groups[i]; + queries.push([selector, node]); + } + } + + return queries; + }, + + _nativeQuery: function(selector, root, one) { + if (Y.UA.webkit && selector.indexOf(':checked') > -1 && + (Y.Selector.pseudos && Y.Selector.pseudos.checked)) { // webkit (chrome, safari) fails to pick up "selected" with "checked" + return Y.Selector.query(selector, root, one, true); // redo with skipNative true to try brute query + } + try { + return root['querySelector' + (one ? '' : 'All')](selector); + } catch(e) { // fallback to brute if available + return Y.Selector.query(selector, root, one, true); // redo with skipNative true + } + }, + + filter: function(nodes, selector) { + var ret = [], + i, node; + + if (nodes && selector) { + for (i = 0; (node = nodes[i++]);) { + if (Y.Selector.test(node, selector)) { + ret[ret.length] = node; + } + } + } else { + } + + return ret; + }, + + test: function(node, selector, root) { + var ret = false, + useFrag = false, + groups, + parent, + item, + items, + frag, + id, + i, j, group; + + if (node && node.tagName) { // only test HTMLElements + + if (typeof selector == 'function') { // test with function + ret = selector.call(node, node); + } else { // test with query + // we need a root if off-doc + groups = selector.split(','); + if (!root && !Y.DOM.inDoc(node)) { + parent = node.parentNode; + if (parent) { + root = parent; + } else { // only use frag when no parent to query + frag = node[OWNER_DOCUMENT].createDocumentFragment(); + frag.appendChild(node); + root = frag; + useFrag = true; + } + } + root = root || node[OWNER_DOCUMENT]; + + id = Y.Selector._escapeId(Y.DOM.getId(node)); + if (!id) { + id = Y.guid(); + Y.DOM.setId(node, id); + } + + for (i = 0; (group = groups[i++]);) { // TODO: off-dom test + group += '[id="' + id + '"]'; + items = Y.Selector.query(group, root); + + for (j = 0; item = items[j++];) { + if (item === node) { + ret = true; + break; + } + } + if (ret) { + break; + } + } + + if (useFrag) { // cleanup + frag.removeChild(node); + } + }; + } + + return ret; + }, + + /** + * A convenience function to emulate Y.Node's aNode.ancestor(selector). + * @param {HTMLElement} element An HTMLElement to start the query from. + * @param {String} selector The CSS selector to test the node against. + * @return {HTMLElement} The ancestor node matching the selector, or null. + * @param {Boolean} testSelf optional Whether or not to include the element in the scan + * @static + * @method ancestor + */ + ancestor: function (element, selector, testSelf) { + return Y.DOM.ancestor(element, function(n) { + return Y.Selector.test(n, selector); + }, testSelf); + }, + + _parse: function(name, selector) { + return selector.match(Y.Selector._types[name].re); + }, + + _replace: function(name, selector) { + var o = Y.Selector._types[name]; + return selector.replace(o.re, o.token); + }, + + _restore: function(name, selector, items) { + if (items) { + var token = Y.Selector._types[name].token, + i, len; + for (i = 0, len = items.length; i < len; ++i) { + selector = selector.replace(token, items[i]); + } + } + return selector; + } +}; + +Y.mix(Y.Selector, Selector, true); + +})(Y); + + +}, '3.6.0pr3' ,{requires:['dom-base']}); +YUI.add('selector', function(Y) { + + + + +}, '3.6.0pr3' ,{requires:['selector-native']}); +YUI.add('event-custom-base', function(Y) { + +/** + * Custom event engine, DOM event listener abstraction layer, synthetic DOM + * events. + * @module event-custom + */ + +Y.Env.evt = { + handles: {}, + plugins: {} +}; + + +/** + * Custom event engine, DOM event listener abstraction layer, synthetic DOM + * events. + * @module event-custom + * @submodule event-custom-base + */ + +/** + * Allows for the insertion of methods that are executed before or after + * a specified method + * @class Do + * @static + */ + +var DO_BEFORE = 0, + DO_AFTER = 1, + +DO = { + + /** + * Cache of objects touched by the utility + * @property objs + * @static + * @deprecated Since 3.6.0. The `_yuiaop` property on the AOP'd object + * replaces the role of this property, but is considered to be private, and + * is only mentioned to provide a migration path. + * + * If you have a use case which warrants migration to the _yuiaop property, + * please file a ticket to let us know what it's used for and we can see if + * we need to expose hooks for that functionality more formally. + */ + objs: null, + + /** + *

Execute the supplied method before the specified function. Wrapping + * function may optionally return an instance of the following classes to + * further alter runtime behavior:

+ *
+ *
Y.Do.Halt(message, returnValue)
+ *
Immediatly stop execution and return + * returnValue. No other wrapping functions will be + * executed.
+ *
Y.Do.AlterArgs(message, newArgArray)
+ *
Replace the arguments that the original function will be + * called with.
+ *
Y.Do.Prevent(message)
+ *
Don't execute the wrapped function. Other before phase + * wrappers will be executed.
+ *
+ * + * @method before + * @param fn {Function} the function to execute + * @param obj the object hosting the method to displace + * @param sFn {string} the name of the method to displace + * @param c The execution context for fn + * @param arg* {mixed} 0..n additional arguments to supply to the subscriber + * when the event fires. + * @return {string} handle for the subscription + * @static + */ + before: function(fn, obj, sFn, c) { + var f = fn, a; + if (c) { + a = [fn, c].concat(Y.Array(arguments, 4, true)); + f = Y.rbind.apply(Y, a); + } + + return this._inject(DO_BEFORE, f, obj, sFn); + }, + + /** + *

Execute the supplied method after the specified function. Wrapping + * function may optionally return an instance of the following classes to + * further alter runtime behavior:

+ *
+ *
Y.Do.Halt(message, returnValue)
+ *
Immediatly stop execution and return + * returnValue. No other wrapping functions will be + * executed.
+ *
Y.Do.AlterReturn(message, returnValue)
+ *
Return returnValue instead of the wrapped + * method's original return value. This can be further altered by + * other after phase wrappers.
+ *
+ * + *

The static properties Y.Do.originalRetVal and + * Y.Do.currentRetVal will be populated for reference.

+ * + * @method after + * @param fn {Function} the function to execute + * @param obj the object hosting the method to displace + * @param sFn {string} the name of the method to displace + * @param c The execution context for fn + * @param arg* {mixed} 0..n additional arguments to supply to the subscriber + * @return {string} handle for the subscription + * @static + */ + after: function(fn, obj, sFn, c) { + var f = fn, a; + if (c) { + a = [fn, c].concat(Y.Array(arguments, 4, true)); + f = Y.rbind.apply(Y, a); + } + + return this._inject(DO_AFTER, f, obj, sFn); + }, + + /** + * Execute the supplied method before or after the specified function. + * Used by before and after. + * + * @method _inject + * @param when {string} before or after + * @param fn {Function} the function to execute + * @param obj the object hosting the method to displace + * @param sFn {string} the name of the method to displace + * @param c The execution context for fn + * @return {string} handle for the subscription + * @private + * @static + */ + _inject: function(when, fn, obj, sFn) { + // object id + var id = Y.stamp(obj), o, sid; + + if (!obj._yuiaop) { + // create a map entry for the obj if it doesn't exist, to hold overridden methods + obj._yuiaop = {}; + } + + o = obj._yuiaop; + + if (!o[sFn]) { + // create a map entry for the method if it doesn't exist + o[sFn] = new Y.Do.Method(obj, sFn); + + // re-route the method to our wrapper + obj[sFn] = function() { + return o[sFn].exec.apply(o[sFn], arguments); + }; + } + + // subscriber id + sid = id + Y.stamp(fn) + sFn; + + // register the callback + o[sFn].register(sid, fn, when); + + return new Y.EventHandle(o[sFn], sid); + }, + + /** + * Detach a before or after subscription. + * + * @method detach + * @param handle {string} the subscription handle + * @static + */ + detach: function(handle) { + if (handle.detach) { + handle.detach(); + } + }, + + _unload: function(e, me) { + } +}; + +Y.Do = DO; + +////////////////////////////////////////////////////////////////////////// + +/** + * Contains the return value from the wrapped method, accessible + * by 'after' event listeners. + * + * @property originalRetVal + * @static + * @since 3.2.0 + */ + +/** + * Contains the current state of the return value, consumable by + * 'after' event listeners, and updated if an after subscriber + * changes the return value generated by the wrapped function. + * + * @property currentRetVal + * @static + * @since 3.2.0 + */ + +////////////////////////////////////////////////////////////////////////// + +/** + * Wrapper for a displaced method with aop enabled + * @class Do.Method + * @constructor + * @param obj The object to operate on + * @param sFn The name of the method to displace + */ +DO.Method = function(obj, sFn) { + this.obj = obj; + this.methodName = sFn; + this.method = obj[sFn]; + this.before = {}; + this.after = {}; +}; + +/** + * Register a aop subscriber + * @method register + * @param sid {string} the subscriber id + * @param fn {Function} the function to execute + * @param when {string} when to execute the function + */ +DO.Method.prototype.register = function (sid, fn, when) { + if (when) { + this.after[sid] = fn; + } else { + this.before[sid] = fn; + } +}; + +/** + * Unregister a aop subscriber + * @method delete + * @param sid {string} the subscriber id + * @param fn {Function} the function to execute + * @param when {string} when to execute the function + */ +DO.Method.prototype._delete = function (sid) { + delete this.before[sid]; + delete this.after[sid]; +}; + +/** + *

Execute the wrapped method. All arguments are passed into the wrapping + * functions. If any of the before wrappers return an instance of + * Y.Do.Halt or Y.Do.Prevent, neither the wrapped + * function nor any after phase subscribers will be executed.

+ * + *

The return value will be the return value of the wrapped function or one + * provided by a wrapper function via an instance of Y.Do.Halt or + * Y.Do.AlterReturn. + * + * @method exec + * @param arg* {any} Arguments are passed to the wrapping and wrapped functions + * @return {any} Return value of wrapped function unless overwritten (see above) + */ +DO.Method.prototype.exec = function () { + + var args = Y.Array(arguments, 0, true), + i, ret, newRet, + bf = this.before, + af = this.after, + prevented = false; + + // execute before + for (i in bf) { + if (bf.hasOwnProperty(i)) { + ret = bf[i].apply(this.obj, args); + if (ret) { + switch (ret.constructor) { + case DO.Halt: + return ret.retVal; + case DO.AlterArgs: + args = ret.newArgs; + break; + case DO.Prevent: + prevented = true; + break; + default: + } + } + } + } + + // execute method + if (!prevented) { + ret = this.method.apply(this.obj, args); + } + + DO.originalRetVal = ret; + DO.currentRetVal = ret; + + // execute after methods. + for (i in af) { + if (af.hasOwnProperty(i)) { + newRet = af[i].apply(this.obj, args); + // Stop processing if a Halt object is returned + if (newRet && newRet.constructor == DO.Halt) { + return newRet.retVal; + // Check for a new return value + } else if (newRet && newRet.constructor == DO.AlterReturn) { + ret = newRet.newRetVal; + // Update the static retval state + DO.currentRetVal = ret; + } + } + } + + return ret; +}; + +////////////////////////////////////////////////////////////////////////// + +/** + * Return an AlterArgs object when you want to change the arguments that + * were passed into the function. Useful for Do.before subscribers. An + * example would be a service that scrubs out illegal characters prior to + * executing the core business logic. + * @class Do.AlterArgs + * @constructor + * @param msg {String} (optional) Explanation of the altered return value + * @param newArgs {Array} Call parameters to be used for the original method + * instead of the arguments originally passed in. + */ +DO.AlterArgs = function(msg, newArgs) { + this.msg = msg; + this.newArgs = newArgs; +}; + +/** + * Return an AlterReturn object when you want to change the result returned + * from the core method to the caller. Useful for Do.after subscribers. + * @class Do.AlterReturn + * @constructor + * @param msg {String} (optional) Explanation of the altered return value + * @param newRetVal {any} Return value passed to code that invoked the wrapped + * function. + */ +DO.AlterReturn = function(msg, newRetVal) { + this.msg = msg; + this.newRetVal = newRetVal; +}; + +/** + * Return a Halt object when you want to terminate the execution + * of all subsequent subscribers as well as the wrapped method + * if it has not exectued yet. Useful for Do.before subscribers. + * @class Do.Halt + * @constructor + * @param msg {String} (optional) Explanation of why the termination was done + * @param retVal {any} Return value passed to code that invoked the wrapped + * function. + */ +DO.Halt = function(msg, retVal) { + this.msg = msg; + this.retVal = retVal; +}; + +/** + * Return a Prevent object when you want to prevent the wrapped function + * from executing, but want the remaining listeners to execute. Useful + * for Do.before subscribers. + * @class Do.Prevent + * @constructor + * @param msg {String} (optional) Explanation of why the termination was done + */ +DO.Prevent = function(msg) { + this.msg = msg; +}; + +/** + * Return an Error object when you want to terminate the execution + * of all subsequent method calls. + * @class Do.Error + * @constructor + * @param msg {String} (optional) Explanation of the altered return value + * @param retVal {any} Return value passed to code that invoked the wrapped + * function. + * @deprecated use Y.Do.Halt or Y.Do.Prevent + */ +DO.Error = DO.Halt; + + +////////////////////////////////////////////////////////////////////////// + +// Y["Event"] && Y.Event.addListener(window, "unload", Y.Do._unload, Y.Do); + + +/** + * Custom event engine, DOM event listener abstraction layer, synthetic DOM + * events. + * @module event-custom + * @submodule event-custom-base + */ + + +// var onsubscribeType = "_event:onsub", +var AFTER = 'after', + CONFIGS = [ + 'broadcast', + 'monitored', + 'bubbles', + 'context', + 'contextFn', + 'currentTarget', + 'defaultFn', + 'defaultTargetOnly', + 'details', + 'emitFacade', + 'fireOnce', + 'async', + 'host', + 'preventable', + 'preventedFn', + 'queuable', + 'silent', + 'stoppedFn', + 'target', + 'type' + ], + + YUI3_SIGNATURE = 9, + YUI_LOG = 'yui:log'; + +/** + * The CustomEvent class lets you define events for your application + * that can be subscribed to by one or more independent component. + * + * @param {String} type The type of event, which is passed to the callback + * when the event fires. + * @param {object} o configuration object. + * @class CustomEvent + * @constructor + */ +Y.CustomEvent = function(type, o) { + + // if (arguments.length > 2) { +// this.log('CustomEvent context and silent are now in the config', 'warn', 'Event'); + // } + + o = o || {}; + + this.id = Y.stamp(this); + + /** + * The type of event, returned to subscribers when the event fires + * @property type + * @type string + */ + this.type = type; + + /** + * The context the the event will fire from by default. Defaults to the YUI + * instance. + * @property context + * @type object + */ + this.context = Y; + + /** + * Monitor when an event is attached or detached. + * + * @property monitored + * @type boolean + */ + // this.monitored = false; + + this.logSystem = (type == YUI_LOG); + + /** + * If 0, this event does not broadcast. If 1, the YUI instance is notified + * every time this event fires. If 2, the YUI instance and the YUI global + * (if event is enabled on the global) are notified every time this event + * fires. + * @property broadcast + * @type int + */ + // this.broadcast = 0; + + /** + * By default all custom events are logged in the debug build, set silent + * to true to disable debug outpu for this event. + * @property silent + * @type boolean + */ + this.silent = this.logSystem; + + /** + * Specifies whether this event should be queued when the host is actively + * processing an event. This will effect exectution order of the callbacks + * for the various events. + * @property queuable + * @type boolean + * @default false + */ + // this.queuable = false; + + /** + * The subscribers to this event + * @property subscribers + * @type Subscriber {} + */ + this.subscribers = {}; + + /** + * 'After' subscribers + * @property afters + * @type Subscriber {} + */ + this.afters = {}; + + /** + * This event has fired if true + * + * @property fired + * @type boolean + * @default false; + */ + // this.fired = false; + + /** + * An array containing the arguments the custom event + * was last fired with. + * @property firedWith + * @type Array + */ + // this.firedWith; + + /** + * This event should only fire one time if true, and if + * it has fired, any new subscribers should be notified + * immediately. + * + * @property fireOnce + * @type boolean + * @default false; + */ + // this.fireOnce = false; + + /** + * fireOnce listeners will fire syncronously unless async + * is set to true + * @property async + * @type boolean + * @default false + */ + //this.async = false; + + /** + * Flag for stopPropagation that is modified during fire() + * 1 means to stop propagation to bubble targets. 2 means + * to also stop additional subscribers on this target. + * @property stopped + * @type int + */ + // this.stopped = 0; + + /** + * Flag for preventDefault that is modified during fire(). + * if it is not 0, the default behavior for this event + * @property prevented + * @type int + */ + // this.prevented = 0; + + /** + * Specifies the host for this custom event. This is used + * to enable event bubbling + * @property host + * @type EventTarget + */ + // this.host = null; + + /** + * The default function to execute after event listeners + * have fire, but only if the default action was not + * prevented. + * @property defaultFn + * @type Function + */ + // this.defaultFn = null; + + /** + * The function to execute if a subscriber calls + * stopPropagation or stopImmediatePropagation + * @property stoppedFn + * @type Function + */ + // this.stoppedFn = null; + + /** + * The function to execute if a subscriber calls + * preventDefault + * @property preventedFn + * @type Function + */ + // this.preventedFn = null; + + /** + * Specifies whether or not this event's default function + * can be cancelled by a subscriber by executing preventDefault() + * on the event facade + * @property preventable + * @type boolean + * @default true + */ + this.preventable = true; + + /** + * Specifies whether or not a subscriber can stop the event propagation + * via stopPropagation(), stopImmediatePropagation(), or halt() + * + * Events can only bubble if emitFacade is true. + * + * @property bubbles + * @type boolean + * @default true + */ + this.bubbles = true; + + /** + * Supports multiple options for listener signatures in order to + * port YUI 2 apps. + * @property signature + * @type int + * @default 9 + */ + this.signature = YUI3_SIGNATURE; + + this.subCount = 0; + this.afterCount = 0; + + // this.hasSubscribers = false; + + // this.hasAfters = false; + + /** + * If set to true, the custom event will deliver an EventFacade object + * that is similar to a DOM event object. + * @property emitFacade + * @type boolean + * @default false + */ + // this.emitFacade = false; + + this.applyConfig(o, true); + + // this.log("Creating " + this.type); + +}; + +Y.CustomEvent.prototype = { + constructor: Y.CustomEvent, + + /** + * Returns the number of subscribers for this event as the sum of the on() + * subscribers and after() subscribers. + * + * @method hasSubs + * @return Number + */ + hasSubs: function(when) { + var s = this.subCount, a = this.afterCount, sib = this.sibling; + + if (sib) { + s += sib.subCount; + a += sib.afterCount; + } + + if (when) { + return (when == 'after') ? a : s; + } + + return (s + a); + }, + + /** + * Monitor the event state for the subscribed event. The first parameter + * is what should be monitored, the rest are the normal parameters when + * subscribing to an event. + * @method monitor + * @param what {string} what to monitor ('detach', 'attach', 'publish'). + * @return {EventHandle} return value from the monitor event subscription. + */ + monitor: function(what) { + this.monitored = true; + var type = this.id + '|' + this.type + '_' + what, + args = Y.Array(arguments, 0, true); + args[0] = type; + return this.host.on.apply(this.host, args); + }, + + /** + * Get all of the subscribers to this event and any sibling event + * @method getSubs + * @return {Array} first item is the on subscribers, second the after. + */ + getSubs: function() { + var s = Y.merge(this.subscribers), a = Y.merge(this.afters), sib = this.sibling; + + if (sib) { + Y.mix(s, sib.subscribers); + Y.mix(a, sib.afters); + } + + return [s, a]; + }, + + /** + * Apply configuration properties. Only applies the CONFIG whitelist + * @method applyConfig + * @param o hash of properties to apply. + * @param force {boolean} if true, properties that exist on the event + * will be overwritten. + */ + applyConfig: function(o, force) { + if (o) { + Y.mix(this, o, force, CONFIGS); + } + }, + + /** + * Create the Subscription for subscribing function, context, and bound + * arguments. If this is a fireOnce event, the subscriber is immediately + * notified. + * + * @method _on + * @param fn {Function} Subscription callback + * @param [context] {Object} Override `this` in the callback + * @param [args] {Array} bound arguments that will be passed to the callback after the arguments generated by fire() + * @param [when] {String} "after" to slot into after subscribers + * @return {EventHandle} + * @protected + */ + _on: function(fn, context, args, when) { + + if (!fn) { + this.log('Invalid callback for CE: ' + this.type); + } + + var s = new Y.Subscriber(fn, context, args, when); + + if (this.fireOnce && this.fired) { + if (this.async) { + setTimeout(Y.bind(this._notify, this, s, this.firedWith), 0); + } else { + this._notify(s, this.firedWith); + } + } + + if (when == AFTER) { + this.afters[s.id] = s; + this.afterCount++; + } else { + this.subscribers[s.id] = s; + this.subCount++; + } + + return new Y.EventHandle(this, s); + + }, + + /** + * Listen for this event + * @method subscribe + * @param {Function} fn The function to execute. + * @return {EventHandle} Unsubscribe handle. + * @deprecated use on. + */ + subscribe: function(fn, context) { + var a = (arguments.length > 2) ? Y.Array(arguments, 2, true) : null; + return this._on(fn, context, a, true); + }, + + /** + * Listen for this event + * @method on + * @param {Function} fn The function to execute. + * @param {object} context optional execution context. + * @param {mixed} arg* 0..n additional arguments to supply to the subscriber + * when the event fires. + * @return {EventHandle} An object with a detach method to detch the handler(s). + */ + on: function(fn, context) { + var a = (arguments.length > 2) ? Y.Array(arguments, 2, true) : null; + if (this.host) { + this.host._monitor('attach', this.type, { + args: arguments + }); + } + return this._on(fn, context, a, true); + }, + + /** + * Listen for this event after the normal subscribers have been notified and + * the default behavior has been applied. If a normal subscriber prevents the + * default behavior, it also prevents after listeners from firing. + * @method after + * @param {Function} fn The function to execute. + * @param {object} context optional execution context. + * @param {mixed} arg* 0..n additional arguments to supply to the subscriber + * when the event fires. + * @return {EventHandle} handle Unsubscribe handle. + */ + after: function(fn, context) { + var a = (arguments.length > 2) ? Y.Array(arguments, 2, true) : null; + return this._on(fn, context, a, AFTER); + }, + + /** + * Detach listeners. + * @method detach + * @param {Function} fn The subscribed function to remove, if not supplied + * all will be removed. + * @param {Object} context The context object passed to subscribe. + * @return {int} returns the number of subscribers unsubscribed. + */ + detach: function(fn, context) { + // unsubscribe handle + if (fn && fn.detach) { + return fn.detach(); + } + + var i, s, + found = 0, + subs = Y.merge(this.subscribers, this.afters); + + for (i in subs) { + if (subs.hasOwnProperty(i)) { + s = subs[i]; + if (s && (!fn || fn === s.fn)) { + this._delete(s); + found++; + } + } + } + + return found; + }, + + /** + * Detach listeners. + * @method unsubscribe + * @param {Function} fn The subscribed function to remove, if not supplied + * all will be removed. + * @param {Object} context The context object passed to subscribe. + * @return {int|undefined} returns the number of subscribers unsubscribed. + * @deprecated use detach. + */ + unsubscribe: function() { + return this.detach.apply(this, arguments); + }, + + /** + * Notify a single subscriber + * @method _notify + * @param {Subscriber} s the subscriber. + * @param {Array} args the arguments array to apply to the listener. + * @protected + */ + _notify: function(s, args, ef) { + + this.log(this.type + '->' + 'sub: ' + s.id); + + var ret; + + ret = s.notify(args, this); + + if (false === ret || this.stopped > 1) { + this.log(this.type + ' cancelled by subscriber'); + return false; + } + + return true; + }, + + /** + * Logger abstraction to centralize the application of the silent flag + * @method log + * @param {string} msg message to log. + * @param {string} cat log category. + */ + log: function(msg, cat) { + if (!this.silent) { + } + }, + + /** + * Notifies the subscribers. The callback functions will be executed + * from the context specified when the event was created, and with the + * following parameters: + *

    + *
  • The type of event
  • + *
  • All of the arguments fire() was executed with as an array
  • + *
  • The custom object (if any) that was passed into the subscribe() + * method
  • + *
+ * @method fire + * @param {Object*} arguments an arbitrary set of parameters to pass to + * the handler. + * @return {boolean} false if one of the subscribers returned false, + * true otherwise. + * + */ + fire: function() { + if (this.fireOnce && this.fired) { + this.log('fireOnce event: ' + this.type + ' already fired'); + return true; + } else { + + var args = Y.Array(arguments, 0, true); + + // this doesn't happen if the event isn't published + // this.host._monitor('fire', this.type, args); + + this.fired = true; + this.firedWith = args; + + if (this.emitFacade) { + return this.fireComplex(args); + } else { + return this.fireSimple(args); + } + } + }, + + /** + * Set up for notifying subscribers of non-emitFacade events. + * + * @method fireSimple + * @param args {Array} Arguments passed to fire() + * @return Boolean false if a subscriber returned false + * @protected + */ + fireSimple: function(args) { + this.stopped = 0; + this.prevented = 0; + if (this.hasSubs()) { + // this._procSubs(Y.merge(this.subscribers, this.afters), args); + var subs = this.getSubs(); + this._procSubs(subs[0], args); + this._procSubs(subs[1], args); + } + this._broadcast(args); + return this.stopped ? false : true; + }, + + // Requires the event-custom-complex module for full funcitonality. + fireComplex: function(args) { + args[0] = args[0] || {}; + return this.fireSimple(args); + }, + + /** + * Notifies a list of subscribers. + * + * @method _procSubs + * @param subs {Array} List of subscribers + * @param args {Array} Arguments passed to fire() + * @param ef {} + * @return Boolean false if a subscriber returns false or stops the event + * propagation via e.stopPropagation(), + * e.stopImmediatePropagation(), or e.halt() + * @private + */ + _procSubs: function(subs, args, ef) { + var s, i; + for (i in subs) { + if (subs.hasOwnProperty(i)) { + s = subs[i]; + if (s && s.fn) { + if (false === this._notify(s, args, ef)) { + this.stopped = 2; + } + if (this.stopped == 2) { + return false; + } + } + } + } + + return true; + }, + + /** + * Notifies the YUI instance if the event is configured with broadcast = 1, + * and both the YUI instance and Y.Global if configured with broadcast = 2. + * + * @method _broadcast + * @param args {Array} Arguments sent to fire() + * @private + */ + _broadcast: function(args) { + if (!this.stopped && this.broadcast) { + + var a = Y.Array(args); + a.unshift(this.type); + + if (this.host !== Y) { + Y.fire.apply(Y, a); + } + + if (this.broadcast == 2) { + Y.Global.fire.apply(Y.Global, a); + } + } + }, + + /** + * Removes all listeners + * @method unsubscribeAll + * @return {int} The number of listeners unsubscribed. + * @deprecated use detachAll. + */ + unsubscribeAll: function() { + return this.detachAll.apply(this, arguments); + }, + + /** + * Removes all listeners + * @method detachAll + * @return {int} The number of listeners unsubscribed. + */ + detachAll: function() { + return this.detach(); + }, + + /** + * Deletes the subscriber from the internal store of on() and after() + * subscribers. + * + * @method _delete + * @param subscriber object. + * @private + */ + _delete: function(s) { + if (s) { + if (this.subscribers[s.id]) { + delete this.subscribers[s.id]; + this.subCount--; + } + if (this.afters[s.id]) { + delete this.afters[s.id]; + this.afterCount--; + } + } + + if (this.host) { + this.host._monitor('detach', this.type, { + ce: this, + sub: s + }); + } + + if (s) { + // delete s.fn; + // delete s.context; + s.deleted = true; + } + } +}; +/** + * Stores the subscriber information to be used when the event fires. + * @param {Function} fn The wrapped function to execute. + * @param {Object} context The value of the keyword 'this' in the listener. + * @param {Array} args* 0..n additional arguments to supply the listener. + * + * @class Subscriber + * @constructor + */ +Y.Subscriber = function(fn, context, args) { + + /** + * The callback that will be execute when the event fires + * This is wrapped by Y.rbind if obj was supplied. + * @property fn + * @type Function + */ + this.fn = fn; + + /** + * Optional 'this' keyword for the listener + * @property context + * @type Object + */ + this.context = context; + + /** + * Unique subscriber id + * @property id + * @type String + */ + this.id = Y.stamp(this); + + /** + * Additional arguments to propagate to the subscriber + * @property args + * @type Array + */ + this.args = args; + + /** + * Custom events for a given fire transaction. + * @property events + * @type {EventTarget} + */ + // this.events = null; + + /** + * This listener only reacts to the event once + * @property once + */ + // this.once = false; + +}; + +Y.Subscriber.prototype = { + constructor: Y.Subscriber, + + _notify: function(c, args, ce) { + if (this.deleted && !this.postponed) { + if (this.postponed) { + delete this.fn; + delete this.context; + } else { + delete this.postponed; + return null; + } + } + var a = this.args, ret; + switch (ce.signature) { + case 0: + ret = this.fn.call(c, ce.type, args, c); + break; + case 1: + ret = this.fn.call(c, args[0] || null, c); + break; + default: + if (a || args) { + args = args || []; + a = (a) ? args.concat(a) : args; + ret = this.fn.apply(c, a); + } else { + ret = this.fn.call(c); + } + } + + if (this.once) { + ce._delete(this); + } + + return ret; + }, + + /** + * Executes the subscriber. + * @method notify + * @param args {Array} Arguments array for the subscriber. + * @param ce {CustomEvent} The custom event that sent the notification. + */ + notify: function(args, ce) { + var c = this.context, + ret = true; + + if (!c) { + c = (ce.contextFn) ? ce.contextFn() : ce.context; + } + + // only catch errors if we will not re-throw them. + if (Y.config && Y.config.throwFail) { + ret = this._notify(c, args, ce); + } else { + try { + ret = this._notify(c, args, ce); + } catch (e) { + Y.error(this + ' failed: ' + e.message, e); + } + } + + return ret; + }, + + /** + * Returns true if the fn and obj match this objects properties. + * Used by the unsubscribe method to match the right subscriber. + * + * @method contains + * @param {Function} fn the function to execute. + * @param {Object} context optional 'this' keyword for the listener. + * @return {boolean} true if the supplied arguments match this + * subscriber's signature. + */ + contains: function(fn, context) { + if (context) { + return ((this.fn == fn) && this.context == context); + } else { + return (this.fn == fn); + } + } + +}; +/** + * Return value from all subscribe operations + * @class EventHandle + * @constructor + * @param {CustomEvent} evt the custom event. + * @param {Subscriber} sub the subscriber. + */ +Y.EventHandle = function(evt, sub) { + + /** + * The custom event + * + * @property evt + * @type CustomEvent + */ + this.evt = evt; + + /** + * The subscriber object + * + * @property sub + * @type Subscriber + */ + this.sub = sub; +}; + +Y.EventHandle.prototype = { + batch: function(f, c) { + f.call(c || this, this); + if (Y.Lang.isArray(this.evt)) { + Y.Array.each(this.evt, function(h) { + h.batch.call(c || h, f); + }); + } + }, + + /** + * Detaches this subscriber + * @method detach + * @return {int} the number of detached listeners + */ + detach: function() { + var evt = this.evt, detached = 0, i; + if (evt) { + if (Y.Lang.isArray(evt)) { + for (i = 0; i < evt.length; i++) { + detached += evt[i].detach(); + } + } else { + evt._delete(this.sub); + detached = 1; + } + + } + + return detached; + }, + + /** + * Monitor the event state for the subscribed event. The first parameter + * is what should be monitored, the rest are the normal parameters when + * subscribing to an event. + * @method monitor + * @param what {string} what to monitor ('attach', 'detach', 'publish'). + * @return {EventHandle} return value from the monitor event subscription. + */ + monitor: function(what) { + return this.evt.monitor.apply(this.evt, arguments); + } +}; + +/** + * Custom event engine, DOM event listener abstraction layer, synthetic DOM + * events. + * @module event-custom + * @submodule event-custom-base + */ + +/** + * EventTarget provides the implementation for any object to + * publish, subscribe and fire to custom events, and also + * alows other EventTargets to target the object with events + * sourced from the other object. + * EventTarget is designed to be used with Y.augment to wrap + * EventCustom in an interface that allows events to be listened to + * and fired by name. This makes it possible for implementing code to + * subscribe to an event that either has not been created yet, or will + * not be created at all. + * @class EventTarget + * @param opts a configuration object + * @config emitFacade {boolean} if true, all events will emit event + * facade payloads by default (default false) + * @config prefix {String} the prefix to apply to non-prefixed event names + */ + +var L = Y.Lang, + PREFIX_DELIMITER = ':', + CATEGORY_DELIMITER = '|', + AFTER_PREFIX = '~AFTER~', + YArray = Y.Array, + + _wildType = Y.cached(function(type) { + return type.replace(/(.*)(:)(.*)/, "*$2$3"); + }), + + /** + * If the instance has a prefix attribute and the + * event type is not prefixed, the instance prefix is + * applied to the supplied type. + * @method _getType + * @private + */ + _getType = Y.cached(function(type, pre) { + + if (!pre || !L.isString(type) || type.indexOf(PREFIX_DELIMITER) > -1) { + return type; + } + + return pre + PREFIX_DELIMITER + type; + }), + + /** + * Returns an array with the detach key (if provided), + * and the prefixed event name from _getType + * Y.on('detachcategory| menu:click', fn) + * @method _parseType + * @private + */ + _parseType = Y.cached(function(type, pre) { + + var t = type, detachcategory, after, i; + + if (!L.isString(t)) { + return t; + } + + i = t.indexOf(AFTER_PREFIX); + + if (i > -1) { + after = true; + t = t.substr(AFTER_PREFIX.length); + } + + i = t.indexOf(CATEGORY_DELIMITER); + + if (i > -1) { + detachcategory = t.substr(0, (i)); + t = t.substr(i+1); + if (t == '*') { + t = null; + } + } + + // detach category, full type with instance prefix, is this an after listener, short type + return [detachcategory, (pre) ? _getType(t, pre) : t, after, t]; + }), + + ET = function(opts) { + + + var o = (L.isObject(opts)) ? opts : {}; + + this._yuievt = this._yuievt || { + + id: Y.guid(), + + events: {}, + + targets: {}, + + config: o, + + chain: ('chain' in o) ? o.chain : Y.config.chain, + + bubbling: false, + + defaults: { + context: o.context || this, + host: this, + emitFacade: o.emitFacade, + fireOnce: o.fireOnce, + queuable: o.queuable, + monitored: o.monitored, + broadcast: o.broadcast, + defaultTargetOnly: o.defaultTargetOnly, + bubbles: ('bubbles' in o) ? o.bubbles : true + } + }; + + }; + + +ET.prototype = { + constructor: ET, + + /** + * Listen to a custom event hosted by this object one time. + * This is the equivalent to on except the + * listener is immediatelly detached when it is executed. + * @method once + * @param {String} type The name of the event + * @param {Function} fn The callback to execute in response to the event + * @param {Object} [context] Override `this` object in callback + * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber + * @return {EventHandle} A subscription handle capable of detaching the + * subscription + */ + once: function() { + var handle = this.on.apply(this, arguments); + handle.batch(function(hand) { + if (hand.sub) { + hand.sub.once = true; + } + }); + return handle; + }, + + /** + * Listen to a custom event hosted by this object one time. + * This is the equivalent to after except the + * listener is immediatelly detached when it is executed. + * @method onceAfter + * @param {String} type The name of the event + * @param {Function} fn The callback to execute in response to the event + * @param {Object} [context] Override `this` object in callback + * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber + * @return {EventHandle} A subscription handle capable of detaching that + * subscription + */ + onceAfter: function() { + var handle = this.after.apply(this, arguments); + handle.batch(function(hand) { + if (hand.sub) { + hand.sub.once = true; + } + }); + return handle; + }, + + /** + * Takes the type parameter passed to 'on' and parses out the + * various pieces that could be included in the type. If the + * event type is passed without a prefix, it will be expanded + * to include the prefix one is supplied or the event target + * is configured with a default prefix. + * @method parseType + * @param {String} type the type + * @param {String} [pre=this._yuievt.config.prefix] the prefix + * @since 3.3.0 + * @return {Array} an array containing: + * * the detach category, if supplied, + * * the prefixed event type, + * * whether or not this is an after listener, + * * the supplied event type + */ + parseType: function(type, pre) { + return _parseType(type, pre || this._yuievt.config.prefix); + }, + + /** + * Subscribe a callback function to a custom event fired by this object or + * from an object that bubbles its events to this object. + * + * Callback functions for events published with `emitFacade = true` will + * receive an `EventFacade` as the first argument (typically named "e"). + * These callbacks can then call `e.preventDefault()` to disable the + * behavior published to that event's `defaultFn`. See the `EventFacade` + * API for all available properties and methods. Subscribers to + * non-`emitFacade` events will receive the arguments passed to `fire()` + * after the event name. + * + * To subscribe to multiple events at once, pass an object as the first + * argument, where the key:value pairs correspond to the eventName:callback, + * or pass an array of event names as the first argument to subscribe to + * all listed events with the same callback. + * + * Returning `false` from a callback is supported as an alternative to + * calling `e.preventDefault(); e.stopPropagation();`. However, it is + * recommended to use the event methods whenever possible. + * + * @method on + * @param {String} type The name of the event + * @param {Function} fn The callback to execute in response to the event + * @param {Object} [context] Override `this` object in callback + * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber + * @return {EventHandle} A subscription handle capable of detaching that + * subscription + */ + on: function(type, fn, context) { + + var parts = _parseType(type, this._yuievt.config.prefix), f, c, args, ret, ce, + detachcategory, handle, store = Y.Env.evt.handles, after, adapt, shorttype, + Node = Y.Node, n, domevent, isArr; + + // full name, args, detachcategory, after + this._monitor('attach', parts[1], { + args: arguments, + category: parts[0], + after: parts[2] + }); + + if (L.isObject(type)) { + + if (L.isFunction(type)) { + return Y.Do.before.apply(Y.Do, arguments); + } + + f = fn; + c = context; + args = YArray(arguments, 0, true); + ret = []; + + if (L.isArray(type)) { + isArr = true; + } + + after = type._after; + delete type._after; + + Y.each(type, function(v, k) { + + if (L.isObject(v)) { + f = v.fn || ((L.isFunction(v)) ? v : f); + c = v.context || c; + } + + var nv = (after) ? AFTER_PREFIX : ''; + + args[0] = nv + ((isArr) ? v : k); + args[1] = f; + args[2] = c; + + ret.push(this.on.apply(this, args)); + + }, this); + + return (this._yuievt.chain) ? this : new Y.EventHandle(ret); + + } + + detachcategory = parts[0]; + after = parts[2]; + shorttype = parts[3]; + + // extra redirection so we catch adaptor events too. take a look at this. + if (Node && Y.instanceOf(this, Node) && (shorttype in Node.DOM_EVENTS)) { + args = YArray(arguments, 0, true); + args.splice(2, 0, Node.getDOMNode(this)); + return Y.on.apply(Y, args); + } + + type = parts[1]; + + if (Y.instanceOf(this, YUI)) { + + adapt = Y.Env.evt.plugins[type]; + args = YArray(arguments, 0, true); + args[0] = shorttype; + + if (Node) { + n = args[2]; + + if (Y.instanceOf(n, Y.NodeList)) { + n = Y.NodeList.getDOMNodes(n); + } else if (Y.instanceOf(n, Node)) { + n = Node.getDOMNode(n); + } + + domevent = (shorttype in Node.DOM_EVENTS); + + // Captures both DOM events and event plugins. + if (domevent) { + args[2] = n; + } + } + + // check for the existance of an event adaptor + if (adapt) { + handle = adapt.on.apply(Y, args); + } else if ((!type) || domevent) { + handle = Y.Event._attach(args); + } + + } + + if (!handle) { + ce = this._yuievt.events[type] || this.publish(type); + handle = ce._on(fn, context, (arguments.length > 3) ? YArray(arguments, 3, true) : null, (after) ? 'after' : true); + } + + if (detachcategory) { + store[detachcategory] = store[detachcategory] || {}; + store[detachcategory][type] = store[detachcategory][type] || []; + store[detachcategory][type].push(handle); + } + + return (this._yuievt.chain) ? this : handle; + + }, + + /** + * subscribe to an event + * @method subscribe + * @deprecated use on + */ + subscribe: function() { + return this.on.apply(this, arguments); + }, + + /** + * Detach one or more listeners the from the specified event + * @method detach + * @param type {string|Object} Either the handle to the subscriber or the + * type of event. If the type + * is not specified, it will attempt to remove + * the listener from all hosted events. + * @param fn {Function} The subscribed function to unsubscribe, if not + * supplied, all subscribers will be removed. + * @param context {Object} The custom object passed to subscribe. This is + * optional, but if supplied will be used to + * disambiguate multiple listeners that are the same + * (e.g., you subscribe many object using a function + * that lives on the prototype) + * @return {EventTarget} the host + */ + detach: function(type, fn, context) { + var evts = this._yuievt.events, i, + Node = Y.Node, isNode = Node && (Y.instanceOf(this, Node)); + + // detachAll disabled on the Y instance. + if (!type && (this !== Y)) { + for (i in evts) { + if (evts.hasOwnProperty(i)) { + evts[i].detach(fn, context); + } + } + if (isNode) { + Y.Event.purgeElement(Node.getDOMNode(this)); + } + + return this; + } + + var parts = _parseType(type, this._yuievt.config.prefix), + detachcategory = L.isArray(parts) ? parts[0] : null, + shorttype = (parts) ? parts[3] : null, + adapt, store = Y.Env.evt.handles, detachhost, cat, args, + ce, + + keyDetacher = function(lcat, ltype, host) { + var handles = lcat[ltype], ce, i; + if (handles) { + for (i = handles.length - 1; i >= 0; --i) { + ce = handles[i].evt; + if (ce.host === host || ce.el === host) { + handles[i].detach(); + } + } + } + }; + + if (detachcategory) { + + cat = store[detachcategory]; + type = parts[1]; + detachhost = (isNode) ? Y.Node.getDOMNode(this) : this; + + if (cat) { + if (type) { + keyDetacher(cat, type, detachhost); + } else { + for (i in cat) { + if (cat.hasOwnProperty(i)) { + keyDetacher(cat, i, detachhost); + } + } + } + + return this; + } + + // If this is an event handle, use it to detach + } else if (L.isObject(type) && type.detach) { + type.detach(); + return this; + // extra redirection so we catch adaptor events too. take a look at this. + } else if (isNode && ((!shorttype) || (shorttype in Node.DOM_EVENTS))) { + args = YArray(arguments, 0, true); + args[2] = Node.getDOMNode(this); + Y.detach.apply(Y, args); + return this; + } + + adapt = Y.Env.evt.plugins[shorttype]; + + // The YUI instance handles DOM events and adaptors + if (Y.instanceOf(this, YUI)) { + args = YArray(arguments, 0, true); + // use the adaptor specific detach code if + if (adapt && adapt.detach) { + adapt.detach.apply(Y, args); + return this; + // DOM event fork + } else if (!type || (!adapt && Node && (type in Node.DOM_EVENTS))) { + args[0] = type; + Y.Event.detach.apply(Y.Event, args); + return this; + } + } + + // ce = evts[type]; + ce = evts[parts[1]]; + if (ce) { + ce.detach(fn, context); + } + + return this; + }, + + /** + * detach a listener + * @method unsubscribe + * @deprecated use detach + */ + unsubscribe: function() { + return this.detach.apply(this, arguments); + }, + + /** + * Removes all listeners from the specified event. If the event type + * is not specified, all listeners from all hosted custom events will + * be removed. + * @method detachAll + * @param type {String} The type, or name of the event + */ + detachAll: function(type) { + return this.detach(type); + }, + + /** + * Removes all listeners from the specified event. If the event type + * is not specified, all listeners from all hosted custom events will + * be removed. + * @method unsubscribeAll + * @param type {String} The type, or name of the event + * @deprecated use detachAll + */ + unsubscribeAll: function() { + return this.detachAll.apply(this, arguments); + }, + + /** + * Creates a new custom event of the specified type. If a custom event + * by that name already exists, it will not be re-created. In either + * case the custom event is returned. + * + * @method publish + * + * @param type {String} the type, or name of the event + * @param opts {object} optional config params. Valid properties are: + * + *
    + *
  • + * 'broadcast': whether or not the YUI instance and YUI global are notified when the event is fired (false) + *
  • + *
  • + * 'bubbles': whether or not this event bubbles (true) + * Events can only bubble if emitFacade is true. + *
  • + *
  • + * 'context': the default execution context for the listeners (this) + *
  • + *
  • + * 'defaultFn': the default function to execute when this event fires if preventDefault was not called + *
  • + *
  • + * 'emitFacade': whether or not this event emits a facade (false) + *
  • + *
  • + * 'prefix': the prefix for this targets events, e.g., 'menu' in 'menu:click' + *
  • + *
  • + * 'fireOnce': if an event is configured to fire once, new subscribers after + * the fire will be notified immediately. + *
  • + *
  • + * 'async': fireOnce event listeners will fire synchronously if the event has already + * fired unless async is true. + *
  • + *
  • + * 'preventable': whether or not preventDefault() has an effect (true) + *
  • + *
  • + * 'preventedFn': a function that is executed when preventDefault is called + *
  • + *
  • + * 'queuable': whether or not this event can be queued during bubbling (false) + *
  • + *
  • + * 'silent': if silent is true, debug messages are not provided for this event. + *
  • + *
  • + * 'stoppedFn': a function that is executed when stopPropagation is called + *
  • + * + *
  • + * 'monitored': specifies whether or not this event should send notifications about + * when the event has been attached, detached, or published. + *
  • + *
  • + * 'type': the event type (valid option if not provided as the first parameter to publish) + *
  • + *
+ * + * @return {CustomEvent} the custom event + * + */ + publish: function(type, opts) { + var events, ce, ret, defaults, + edata = this._yuievt, + pre = edata.config.prefix; + + if (L.isObject(type)) { + ret = {}; + Y.each(type, function(v, k) { + ret[k] = this.publish(k, v || opts); + }, this); + + return ret; + } + + type = (pre) ? _getType(type, pre) : type; + + this._monitor('publish', type, { + args: arguments + }); + + events = edata.events; + ce = events[type]; + + if (ce) { +// ce.log("publish applying new config to published event: '"+type+"' exists", 'info', 'event'); + if (opts) { + ce.applyConfig(opts, true); + } + } else { + + defaults = edata.defaults; + + // apply defaults + ce = new Y.CustomEvent(type, + (opts) ? Y.merge(defaults, opts) : defaults); + events[type] = ce; + } + + // make sure we turn the broadcast flag off if this + // event was published as a result of bubbling + // if (opts instanceof Y.CustomEvent) { + // events[type].broadcast = false; + // } + + return events[type]; + }, + + /** + * This is the entry point for the event monitoring system. + * You can monitor 'attach', 'detach', 'fire', and 'publish'. + * When configured, these events generate an event. click -> + * click_attach, click_detach, click_publish -- these can + * be subscribed to like other events to monitor the event + * system. Inividual published events can have monitoring + * turned on or off (publish can't be turned off before it + * it published) by setting the events 'monitor' config. + * + * @method _monitor + * @param what {String} 'attach', 'detach', 'fire', or 'publish' + * @param type {String} Name of the event being monitored + * @param o {Object} Information about the event interaction, such as + * fire() args, subscription category, publish config + * @private + */ + _monitor: function(what, type, o) { + var monitorevt, ce = this.getEvent(type); + if ((this._yuievt.config.monitored && (!ce || ce.monitored)) || (ce && ce.monitored)) { + monitorevt = type + '_' + what; + o.monitored = what; + this.fire.call(this, monitorevt, o); + } + }, + + /** + * Fire a custom event by name. The callback functions will be executed + * from the context specified when the event was created, and with the + * following parameters. + * + * If the custom event object hasn't been created, then the event hasn't + * been published and it has no subscribers. For performance sake, we + * immediate exit in this case. This means the event won't bubble, so + * if the intention is that a bubble target be notified, the event must + * be published on this object first. + * + * The first argument is the event type, and any additional arguments are + * passed to the listeners as parameters. If the first of these is an + * object literal, and the event is configured to emit an event facade, + * that object is mixed into the event facade and the facade is provided + * in place of the original object. + * + * @method fire + * @param type {String|Object} The type of the event, or an object that contains + * a 'type' property. + * @param arguments {Object*} an arbitrary set of parameters to pass to + * the handler. If the first of these is an object literal and the event is + * configured to emit an event facade, the event facade will replace that + * parameter after the properties the object literal contains are copied to + * the event facade. + * @return {EventTarget} the event host + * + */ + fire: function(type) { + + var typeIncluded = L.isString(type), + t = (typeIncluded) ? type : (type && type.type), + ce, ret, pre = this._yuievt.config.prefix, ce2, + args = (typeIncluded) ? YArray(arguments, 1, true) : arguments; + + t = (pre) ? _getType(t, pre) : t; + + this._monitor('fire', t, { + args: args + }); + + ce = this.getEvent(t, true); + ce2 = this.getSibling(t, ce); + + if (ce2 && !ce) { + ce = this.publish(t); + } + + // this event has not been published or subscribed to + if (!ce) { + if (this._yuievt.hasTargets) { + return this.bubble({ type: t }, args, this); + } + + // otherwise there is nothing to be done + ret = true; + } else { + ce.sibling = ce2; + ret = ce.fire.apply(ce, args); + } + + return (this._yuievt.chain) ? this : ret; + }, + + getSibling: function(type, ce) { + var ce2; + // delegate to *:type events if there are subscribers + if (type.indexOf(PREFIX_DELIMITER) > -1) { + type = _wildType(type); + // console.log(type); + ce2 = this.getEvent(type, true); + if (ce2) { + // console.log("GOT ONE: " + type); + ce2.applyConfig(ce); + ce2.bubbles = false; + ce2.broadcast = 0; + // ret = ce2.fire.apply(ce2, a); + } + } + + return ce2; + }, + + /** + * Returns the custom event of the provided type has been created, a + * falsy value otherwise + * @method getEvent + * @param type {String} the type, or name of the event + * @param prefixed {String} if true, the type is prefixed already + * @return {CustomEvent} the custom event or null + */ + getEvent: function(type, prefixed) { + var pre, e; + if (!prefixed) { + pre = this._yuievt.config.prefix; + type = (pre) ? _getType(type, pre) : type; + } + e = this._yuievt.events; + return e[type] || null; + }, + + /** + * Subscribe to a custom event hosted by this object. The + * supplied callback will execute after any listeners add + * via the subscribe method, and after the default function, + * if configured for the event, has executed. + * + * @method after + * @param {String} type The name of the event + * @param {Function} fn The callback to execute in response to the event + * @param {Object} [context] Override `this` object in callback + * @param {Any} [arg*] 0..n additional arguments to supply to the subscriber + * @return {EventHandle} A subscription handle capable of detaching the + * subscription + */ + after: function(type, fn) { + + var a = YArray(arguments, 0, true); + + switch (L.type(type)) { + case 'function': + return Y.Do.after.apply(Y.Do, arguments); + case 'array': + // YArray.each(a[0], function(v) { + // v = AFTER_PREFIX + v; + // }); + // break; + case 'object': + a[0]._after = true; + break; + default: + a[0] = AFTER_PREFIX + type; + } + + return this.on.apply(this, a); + + }, + + /** + * Executes the callback before a DOM event, custom event + * or method. If the first argument is a function, it + * is assumed the target is a method. For DOM and custom + * events, this is an alias for Y.on. + * + * For DOM and custom events: + * type, callback, context, 0-n arguments + * + * For methods: + * callback, object (method host), methodName, context, 0-n arguments + * + * @method before + * @return detach handle + */ + before: function() { + return this.on.apply(this, arguments); + } + +}; + +Y.EventTarget = ET; + +// make Y an event target +Y.mix(Y, ET.prototype); +ET.call(Y, { bubbles: false }); + +YUI.Env.globalEvents = YUI.Env.globalEvents || new ET(); + +/** + * Hosts YUI page level events. This is where events bubble to + * when the broadcast config is set to 2. This property is + * only available if the custom event module is loaded. + * @property Global + * @type EventTarget + * @for YUI + */ +Y.Global = YUI.Env.globalEvents; + +// @TODO implement a global namespace function on Y.Global? + +/** +`Y.on()` can do many things: + +
    +
  • Subscribe to custom events `publish`ed and `fire`d from Y
  • +
  • Subscribe to custom events `publish`ed with `broadcast` 1 or 2 and + `fire`d from any object in the YUI instance sandbox
  • +
  • Subscribe to DOM events
  • +
  • Subscribe to the execution of a method on any object, effectively + treating that method as an event
  • +
+ +For custom event subscriptions, pass the custom event name as the first argument and callback as the second. The `this` object in the callback will be `Y` unless an override is passed as the third argument. + + Y.on('io:complete', function () { + Y.MyApp.updateStatus('Transaction complete'); + }); + +To subscribe to DOM events, pass the name of a DOM event as the first argument +and a CSS selector string as the third argument after the callback function. +Alternately, the third argument can be a `Node`, `NodeList`, `HTMLElement`, +array, or simply omitted (the default is the `window` object). + + Y.on('click', function (e) { + e.preventDefault(); + + // proceed with ajax form submission + var url = this.get('action'); + ... + }, '#my-form'); + +The `this` object in DOM event callbacks will be the `Node` targeted by the CSS +selector or other identifier. + +`on()` subscribers for DOM events or custom events `publish`ed with a +`defaultFn` can prevent the default behavior with `e.preventDefault()` from the +event object passed as the first parameter to the subscription callback. + +To subscribe to the execution of an object method, pass arguments corresponding to the call signature for +`Y.Do.before(...)`. + +NOTE: The formal parameter list below is for events, not for function +injection. See `Y.Do.before` for that signature. + +@method on +@param {String} type DOM or custom event name +@param {Function} fn The callback to execute in response to the event +@param {Object} [context] Override `this` object in callback +@param {Any} [arg*] 0..n additional arguments to supply to the subscriber +@return {EventHandle} A subscription handle capable of detaching the + subscription +@see Do.before +@for YUI +**/ + +/** +Listen for an event one time. Equivalent to `on()`, except that +the listener is immediately detached when executed. + +See the `on()` method for additional subscription +options. + +@see on +@method once +@param {String} type DOM or custom event name +@param {Function} fn The callback to execute in response to the event +@param {Object} [context] Override `this` object in callback +@param {Any} [arg*] 0..n additional arguments to supply to the subscriber +@return {EventHandle} A subscription handle capable of detaching the + subscription +@for YUI +**/ + +/** +Listen for an event one time. Equivalent to `once()`, except, like `after()`, +the subscription callback executes after all `on()` subscribers and the event's +`defaultFn` (if configured) have executed. Like `after()` if any `on()` phase +subscriber calls `e.preventDefault()`, neither the `defaultFn` nor the `after()` +subscribers will execute. + +The listener is immediately detached when executed. + +See the `on()` method for additional subscription +options. + +@see once +@method onceAfter +@param {String} type The custom event name +@param {Function} fn The callback to execute in response to the event +@param {Object} [context] Override `this` object in callback +@param {Any} [arg*] 0..n additional arguments to supply to the subscriber +@return {EventHandle} A subscription handle capable of detaching the + subscription +@for YUI +**/ + +/** +Like `on()`, this method creates a subscription to a custom event or to the +execution of a method on an object. + +For events, `after()` subscribers are executed after the event's +`defaultFn` unless `e.preventDefault()` was called from an `on()` subscriber. + +See the `on()` method for additional subscription +options. + +NOTE: The subscription signature shown is for events, not for function +injection. See `Y.Do.after` +for that signature. + +@see on +@see Do.after +@method after +@param {String} type The custom event name +@param {Function} fn The callback to execute in response to the event +@param {Object} [context] Override `this` object in callback +@param {Any} [args*] 0..n additional arguments to supply to the subscriber +@return {EventHandle} A subscription handle capable of detaching the + subscription +@for YUI +**/ + + +}, '3.6.0pr3' ,{requires:['oop']}); +YUI.add('event-custom-complex', function(Y) { + + +/** + * Adds event facades, preventable default behavior, and bubbling. + * events. + * @module event-custom + * @submodule event-custom-complex + */ + +var FACADE, + FACADE_KEYS, + EMPTY = {}, + CEProto = Y.CustomEvent.prototype, + ETProto = Y.EventTarget.prototype; + +/** + * Wraps and protects a custom event for use when emitFacade is set to true. + * Requires the event-custom-complex module + * @class EventFacade + * @param e {Event} the custom event + * @param currentTarget {HTMLElement} the element the listener was attached to + */ + +Y.EventFacade = function(e, currentTarget) { + + e = e || EMPTY; + + this._event = e; + + /** + * The arguments passed to fire + * @property details + * @type Array + */ + this.details = e.details; + + /** + * The event type, this can be overridden by the fire() payload + * @property type + * @type string + */ + this.type = e.type; + + /** + * The real event type + * @property _type + * @type string + * @private + */ + this._type = e.type; + + ////////////////////////////////////////////////////// + + /** + * Node reference for the targeted eventtarget + * @property target + * @type Node + */ + this.target = e.target; + + /** + * Node reference for the element that the listener was attached to. + * @property currentTarget + * @type Node + */ + this.currentTarget = currentTarget; + + /** + * Node reference to the relatedTarget + * @property relatedTarget + * @type Node + */ + this.relatedTarget = e.relatedTarget; + +}; + +Y.extend(Y.EventFacade, Object, { + + /** + * Stops the propagation to the next bubble target + * @method stopPropagation + */ + stopPropagation: function() { + this._event.stopPropagation(); + this.stopped = 1; + }, + + /** + * Stops the propagation to the next bubble target and + * prevents any additional listeners from being exectued + * on the current target. + * @method stopImmediatePropagation + */ + stopImmediatePropagation: function() { + this._event.stopImmediatePropagation(); + this.stopped = 2; + }, + + /** + * Prevents the event's default behavior + * @method preventDefault + */ + preventDefault: function() { + this._event.preventDefault(); + this.prevented = 1; + }, + + /** + * Stops the event propagation and prevents the default + * event behavior. + * @method halt + * @param immediate {boolean} if true additional listeners + * on the current target will not be executed + */ + halt: function(immediate) { + this._event.halt(immediate); + this.prevented = 1; + this.stopped = (immediate) ? 2 : 1; + } + +}); + +CEProto.fireComplex = function(args) { + + var es, ef, q, queue, ce, ret, events, subs, postponed, + self = this, host = self.host || self, next, oldbubble; + + if (self.stack) { + // queue this event if the current item in the queue bubbles + if (self.queuable && self.type != self.stack.next.type) { + self.log('queue ' + self.type); + self.stack.queue.push([self, args]); + return true; + } + } + + es = self.stack || { + // id of the first event in the stack + id: self.id, + next: self, + silent: self.silent, + stopped: 0, + prevented: 0, + bubbling: null, + type: self.type, + // defaultFnQueue: new Y.Queue(), + afterQueue: new Y.Queue(), + defaultTargetOnly: self.defaultTargetOnly, + queue: [] + }; + + subs = self.getSubs(); + + self.stopped = (self.type !== es.type) ? 0 : es.stopped; + self.prevented = (self.type !== es.type) ? 0 : es.prevented; + + self.target = self.target || host; + + events = new Y.EventTarget({ + fireOnce: true, + context: host + }); + + self.events = events; + + if (self.stoppedFn) { + events.on('stopped', self.stoppedFn); + } + + self.currentTarget = host; + + self.details = args.slice(); // original arguments in the details + + // self.log("Firing " + self + ", " + "args: " + args); + self.log("Firing " + self.type); + + self._facade = null; // kill facade to eliminate stale properties + + ef = self._getFacade(args); + + if (Y.Lang.isObject(args[0])) { + args[0] = ef; + } else { + args.unshift(ef); + } + + // if (subCount) { + if (subs[0]) { + // self._procSubs(Y.merge(self.subscribers), args, ef); + self._procSubs(subs[0], args, ef); + } + + // bubble if this is hosted in an event target and propagation has not been stopped + if (self.bubbles && host.bubble && !self.stopped) { + + oldbubble = es.bubbling; + + // self.bubbling = true; + es.bubbling = self.type; + + // if (host !== ef.target || es.type != self.type) { + if (es.type != self.type) { + es.stopped = 0; + es.prevented = 0; + } + + ret = host.bubble(self, args, null, es); + + self.stopped = Math.max(self.stopped, es.stopped); + self.prevented = Math.max(self.prevented, es.prevented); + + // self.bubbling = false; + es.bubbling = oldbubble; + + } + + if (self.prevented) { + if (self.preventedFn) { + self.preventedFn.apply(host, args); + } + } else if (self.defaultFn && + ((!self.defaultTargetOnly && !es.defaultTargetOnly) || + host === ef.target)) { + self.defaultFn.apply(host, args); + } + + // broadcast listeners are fired as discreet events on the + // YUI instance and potentially the YUI global. + self._broadcast(args); + + // Queue the after + if (subs[1] && !self.prevented && self.stopped < 2) { + if (es.id === self.id || self.type != host._yuievt.bubbling) { + self._procSubs(subs[1], args, ef); + while ((next = es.afterQueue.last())) { + next(); + } + } else { + postponed = subs[1]; + if (es.execDefaultCnt) { + postponed = Y.merge(postponed); + Y.each(postponed, function(s) { + s.postponed = true; + }); + } + + es.afterQueue.add(function() { + self._procSubs(postponed, args, ef); + }); + } + } + + self.target = null; + + if (es.id === self.id) { + queue = es.queue; + + while (queue.length) { + q = queue.pop(); + ce = q[0]; + // set up stack to allow the next item to be processed + es.next = ce; + ce.fire.apply(ce, q[1]); + } + + self.stack = null; + } + + ret = !(self.stopped); + + if (self.type != host._yuievt.bubbling) { + es.stopped = 0; + es.prevented = 0; + self.stopped = 0; + self.prevented = 0; + } + + return ret; +}; + +CEProto._getFacade = function() { + + var ef = this._facade, o, o2, + args = this.details; + + if (!ef) { + ef = new Y.EventFacade(this, this.currentTarget); + } + + // if the first argument is an object literal, apply the + // properties to the event facade + o = args && args[0]; + + if (Y.Lang.isObject(o, true)) { + + o2 = {}; + + // protect the event facade properties + Y.mix(o2, ef, true, FACADE_KEYS); + + // mix the data + Y.mix(ef, o, true); + + // restore ef + Y.mix(ef, o2, true, FACADE_KEYS); + + // Allow the event type to be faked + // http://yuilibrary.com/projects/yui3/ticket/2528376 + ef.type = o.type || ef.type; + } + + // update the details field with the arguments + // ef.type = this.type; + ef.details = this.details; + + // use the original target when the event bubbled to this target + ef.target = this.originalTarget || this.target; + + ef.currentTarget = this.currentTarget; + ef.stopped = 0; + ef.prevented = 0; + + this._facade = ef; + + return this._facade; +}; + +/** + * Stop propagation to bubble targets + * @for CustomEvent + * @method stopPropagation + */ +CEProto.stopPropagation = function() { + this.stopped = 1; + if (this.stack) { + this.stack.stopped = 1; + } + this.events.fire('stopped', this); +}; + +/** + * Stops propagation to bubble targets, and prevents any remaining + * subscribers on the current target from executing. + * @method stopImmediatePropagation + */ +CEProto.stopImmediatePropagation = function() { + this.stopped = 2; + if (this.stack) { + this.stack.stopped = 2; + } + this.events.fire('stopped', this); +}; + +/** + * Prevents the execution of this event's defaultFn + * @method preventDefault + */ +CEProto.preventDefault = function() { + if (this.preventable) { + this.prevented = 1; + if (this.stack) { + this.stack.prevented = 1; + } + } +}; + +/** + * Stops the event propagation and prevents the default + * event behavior. + * @method halt + * @param immediate {boolean} if true additional listeners + * on the current target will not be executed + */ +CEProto.halt = function(immediate) { + if (immediate) { + this.stopImmediatePropagation(); + } else { + this.stopPropagation(); + } + this.preventDefault(); +}; + +/** + * Registers another EventTarget as a bubble target. Bubble order + * is determined by the order registered. Multiple targets can + * be specified. + * + * Events can only bubble if emitFacade is true. + * + * Included in the event-custom-complex submodule. + * + * @method addTarget + * @param o {EventTarget} the target to add + * @for EventTarget + */ +ETProto.addTarget = function(o) { + this._yuievt.targets[Y.stamp(o)] = o; + this._yuievt.hasTargets = true; +}; + +/** + * Returns an array of bubble targets for this object. + * @method getTargets + * @return EventTarget[] + */ +ETProto.getTargets = function() { + return Y.Object.values(this._yuievt.targets); +}; + +/** + * Removes a bubble target + * @method removeTarget + * @param o {EventTarget} the target to remove + * @for EventTarget + */ +ETProto.removeTarget = function(o) { + delete this._yuievt.targets[Y.stamp(o)]; +}; + +/** + * Propagate an event. Requires the event-custom-complex module. + * @method bubble + * @param evt {CustomEvent} the custom event to propagate + * @return {boolean} the aggregated return value from Event.Custom.fire + * @for EventTarget + */ +ETProto.bubble = function(evt, args, target, es) { + + var targs = this._yuievt.targets, ret = true, + t, type = evt && evt.type, ce, i, bc, ce2, + originalTarget = target || (evt && evt.target) || this, + oldbubble; + + if (!evt || ((!evt.stopped) && targs)) { + + for (i in targs) { + if (targs.hasOwnProperty(i)) { + t = targs[i]; + ce = t.getEvent(type, true); + ce2 = t.getSibling(type, ce); + + if (ce2 && !ce) { + ce = t.publish(type); + } + + oldbubble = t._yuievt.bubbling; + t._yuievt.bubbling = type; + + // if this event was not published on the bubble target, + // continue propagating the event. + if (!ce) { + if (t._yuievt.hasTargets) { + t.bubble(evt, args, originalTarget, es); + } + } else { + + ce.sibling = ce2; + + // set the original target to that the target payload on the + // facade is correct. + ce.target = originalTarget; + ce.originalTarget = originalTarget; + ce.currentTarget = t; + bc = ce.broadcast; + ce.broadcast = false; + + // default publish may not have emitFacade true -- that + // shouldn't be what the implementer meant to do + ce.emitFacade = true; + + ce.stack = es; + + ret = ret && ce.fire.apply(ce, args || evt.details || []); + ce.broadcast = bc; + ce.originalTarget = null; + + + // stopPropagation() was called + if (ce.stopped) { + break; + } + } + + t._yuievt.bubbling = oldbubble; + } + } + } + + return ret; +}; + +FACADE = new Y.EventFacade(); +FACADE_KEYS = Y.Object.keys(FACADE); + + + +}, '3.6.0pr3' ,{requires:['event-custom-base']}); +YUI.add('node-core', function(Y) { + +/** + * The Node Utility provides a DOM-like interface for interacting with DOM nodes. + * @module node + * @main node + * @submodule node-core + */ + +/** + * The Node class provides a wrapper for manipulating DOM Nodes. + * Node properties can be accessed via the set/get methods. + * Use `Y.one()` to retrieve Node instances. + * + * NOTE: Node properties are accessed using + * the set and get methods. + * + * @class Node + * @constructor + * @param {DOMNode} node the DOM node to be mapped to the Node instance. + * @uses EventTarget + */ + +// "globals" +var DOT = '.', + NODE_NAME = 'nodeName', + NODE_TYPE = 'nodeType', + OWNER_DOCUMENT = 'ownerDocument', + TAG_NAME = 'tagName', + UID = '_yuid', + EMPTY_OBJ = {}, + + _slice = Array.prototype.slice, + + Y_DOM = Y.DOM, + + Y_Node = function(node) { + if (!this.getDOMNode) { // support optional "new" + return new Y_Node(node); + } + + if (typeof node == 'string') { + node = Y_Node._fromString(node); + if (!node) { + return null; // NOTE: return + } + } + + var uid = (node.nodeType !== 9) ? node.uniqueID : node[UID]; + + if (uid && Y_Node._instances[uid] && Y_Node._instances[uid]._node !== node) { + node[UID] = null; // unset existing uid to prevent collision (via clone or hack) + } + + uid = uid || Y.stamp(node); + if (!uid) { // stamp failed; likely IE non-HTMLElement + uid = Y.guid(); + } + + this[UID] = uid; + + /** + * The underlying DOM node bound to the Y.Node instance + * @property _node + * @private + */ + this._node = node; + + this._stateProxy = node; // when augmented with Attribute + + if (this._initPlugins) { // when augmented with Plugin.Host + this._initPlugins(); + } + }, + + // used with previous/next/ancestor tests + _wrapFn = function(fn) { + var ret = null; + if (fn) { + ret = (typeof fn == 'string') ? + function(n) { + return Y.Selector.test(n, fn); + } : + function(n) { + return fn(Y.one(n)); + }; + } + + return ret; + }; +// end "globals" + +Y_Node.ATTRS = {}; +Y_Node.DOM_EVENTS = {}; + +Y_Node._fromString = function(node) { + if (node) { + if (node.indexOf('doc') === 0) { // doc OR document + node = Y.config.doc; + } else if (node.indexOf('win') === 0) { // win OR window + node = Y.config.win; + } else { + node = Y.Selector.query(node, null, true); + } + } + + return node || null; +}; + +/** + * The name of the component + * @static + * @property NAME + */ +Y_Node.NAME = 'node'; + +/* + * The pattern used to identify ARIA attributes + */ +Y_Node.re_aria = /^(?:role$|aria-)/; + +Y_Node.SHOW_TRANSITION = 'fadeIn'; +Y_Node.HIDE_TRANSITION = 'fadeOut'; + +/** + * A list of Node instances that have been created + * @private + * @property _instances + * @static + * + */ +Y_Node._instances = {}; + +/** + * Retrieves the DOM node bound to a Node instance + * @method getDOMNode + * @static + * + * @param {Node | HTMLNode} node The Node instance or an HTMLNode + * @return {HTMLNode} The DOM node bound to the Node instance. If a DOM node is passed + * as the node argument, it is simply returned. + */ +Y_Node.getDOMNode = function(node) { + if (node) { + return (node.nodeType) ? node : node._node || null; + } + return null; +}; + +/** + * Checks Node return values and wraps DOM Nodes as Y.Node instances + * and DOM Collections / Arrays as Y.NodeList instances. + * Other return values just pass thru. If undefined is returned (e.g. no return) + * then the Node instance is returned for chainability. + * @method scrubVal + * @static + * + * @param {any} node The Node instance or an HTMLNode + * @return {Node | NodeList | Any} Depends on what is returned from the DOM node. + */ +Y_Node.scrubVal = function(val, node) { + if (val) { // only truthy values are risky + if (typeof val == 'object' || typeof val == 'function') { // safari nodeList === function + if (NODE_TYPE in val || Y_DOM.isWindow(val)) {// node || window + val = Y.one(val); + } else if ((val.item && !val._nodes) || // dom collection or Node instance + (val[0] && val[0][NODE_TYPE])) { // array of DOM Nodes + val = Y.all(val); + } + } + } else if (typeof val === 'undefined') { + val = node; // for chaining + } else if (val === null) { + val = null; // IE: DOM null not the same as null + } + + return val; +}; + +/** + * Adds methods to the Y.Node prototype, routing through scrubVal. + * @method addMethod + * @static + * + * @param {String} name The name of the method to add + * @param {Function} fn The function that becomes the method + * @param {Object} context An optional context to call the method with + * (defaults to the Node instance) + * @return {any} Depends on what is returned from the DOM node. + */ +Y_Node.addMethod = function(name, fn, context) { + if (name && fn && typeof fn == 'function') { + Y_Node.prototype[name] = function() { + var args = _slice.call(arguments), + node = this, + ret; + + if (args[0] && args[0]._node) { + args[0] = args[0]._node; + } + + if (args[1] && args[1]._node) { + args[1] = args[1]._node; + } + args.unshift(node._node); + + ret = fn.apply(node, args); + + if (ret) { // scrub truthy + ret = Y_Node.scrubVal(ret, node); + } + + (typeof ret != 'undefined') || (ret = node); + return ret; + }; + } else { + } +}; + +/** + * Imports utility methods to be added as Y.Node methods. + * @method importMethod + * @static + * + * @param {Object} host The object that contains the method to import. + * @param {String} name The name of the method to import + * @param {String} altName An optional name to use in place of the host name + * @param {Object} context An optional context to call the method with + */ +Y_Node.importMethod = function(host, name, altName) { + if (typeof name == 'string') { + altName = altName || name; + Y_Node.addMethod(altName, host[name], host); + } else { + Y.Array.each(name, function(n) { + Y_Node.importMethod(host, n); + }); + } +}; + +/** + * Retrieves a NodeList based on the given CSS selector. + * @method all + * + * @param {string} selector The CSS selector to test against. + * @return {NodeList} A NodeList instance for the matching HTMLCollection/Array. + * @for YUI + */ + +/** + * Returns a single Node instance bound to the node or the + * first element matching the given selector. Returns null if no match found. + * Note: For chaining purposes you may want to + * use Y.all, which returns a NodeList when no match is found. + * @method one + * @param {String | HTMLElement} node a node or Selector + * @return {Node | null} a Node instance or null if no match found. + * @for YUI + */ + +/** + * Returns a single Node instance bound to the node or the + * first element matching the given selector. Returns null if no match found. + * Note: For chaining purposes you may want to + * use Y.all, which returns a NodeList when no match is found. + * @method one + * @static + * @param {String | HTMLElement} node a node or Selector + * @return {Node | null} a Node instance or null if no match found. + * @for Node + */ +Y_Node.one = function(node) { + var instance = null, + cachedNode, + uid; + + if (node) { + if (typeof node == 'string') { + node = Y_Node._fromString(node); + if (!node) { + return null; // NOTE: return + } + } else if (node.getDOMNode) { + return node; // NOTE: return + } + + if (node.nodeType || Y.DOM.isWindow(node)) { // avoid bad input (numbers, boolean, etc) + uid = (node.uniqueID && node.nodeType !== 9) ? node.uniqueID : node._yuid; + instance = Y_Node._instances[uid]; // reuse exising instances + cachedNode = instance ? instance._node : null; + if (!instance || (cachedNode && node !== cachedNode)) { // new Node when nodes don't match + instance = new Y_Node(node); + if (node.nodeType != 11) { // dont cache document fragment + Y_Node._instances[instance[UID]] = instance; // cache node + } + } + } + } + + return instance; +}; + +/** + * The default setter for DOM properties + * Called with instance context (this === the Node instance) + * @method DEFAULT_SETTER + * @static + * @param {String} name The attribute/property being set + * @param {any} val The value to be set + * @return {any} The value + */ +Y_Node.DEFAULT_SETTER = function(name, val) { + var node = this._stateProxy, + strPath; + + if (name.indexOf(DOT) > -1) { + strPath = name; + name = name.split(DOT); + // only allow when defined on node + Y.Object.setValue(node, name, val); + } else if (typeof node[name] != 'undefined') { // pass thru DOM properties + node[name] = val; + } + + return val; +}; + +/** + * The default getter for DOM properties + * Called with instance context (this === the Node instance) + * @method DEFAULT_GETTER + * @static + * @param {String} name The attribute/property to look up + * @return {any} The current value + */ +Y_Node.DEFAULT_GETTER = function(name) { + var node = this._stateProxy, + val; + + if (name.indexOf && name.indexOf(DOT) > -1) { + val = Y.Object.getValue(node, name.split(DOT)); + } else if (typeof node[name] != 'undefined') { // pass thru from DOM + val = node[name]; + } + + return val; +}; + +Y.mix(Y_Node.prototype, { + DATA_PREFIX: 'data-', + + /** + * The method called when outputting Node instances as strings + * @method toString + * @return {String} A string representation of the Node instance + */ + toString: function() { + var str = this[UID] + ': not bound to a node', + node = this._node, + attrs, id, className; + + if (node) { + attrs = node.attributes; + id = (attrs && attrs.id) ? node.getAttribute('id') : null; + className = (attrs && attrs.className) ? node.getAttribute('className') : null; + str = node[NODE_NAME]; + + if (id) { + str += '#' + id; + } + + if (className) { + str += '.' + className.replace(' ', '.'); + } + + // TODO: add yuid? + str += ' ' + this[UID]; + } + return str; + }, + + /** + * Returns an attribute value on the Node instance. + * Unless pre-configured (via `Node.ATTRS`), get hands + * off to the underlying DOM node. Only valid + * attributes/properties for the node will be queried. + * @method get + * @param {String} attr The attribute + * @return {any} The current value of the attribute + */ + get: function(attr) { + var val; + + if (this._getAttr) { // use Attribute imple + val = this._getAttr(attr); + } else { + val = this._get(attr); + } + + if (val) { + val = Y_Node.scrubVal(val, this); + } else if (val === null) { + val = null; // IE: DOM null is not true null (even though they ===) + } + return val; + }, + + /** + * Helper method for get. + * @method _get + * @private + * @param {String} attr The attribute + * @return {any} The current value of the attribute + */ + _get: function(attr) { + var attrConfig = Y_Node.ATTRS[attr], + val; + + if (attrConfig && attrConfig.getter) { + val = attrConfig.getter.call(this); + } else if (Y_Node.re_aria.test(attr)) { + val = this._node.getAttribute(attr, 2); + } else { + val = Y_Node.DEFAULT_GETTER.apply(this, arguments); + } + + return val; + }, + + /** + * Sets an attribute on the Node instance. + * Unless pre-configured (via Node.ATTRS), set hands + * off to the underlying DOM node. Only valid + * attributes/properties for the node will be set. + * To set custom attributes use setAttribute. + * @method set + * @param {String} attr The attribute to be set. + * @param {any} val The value to set the attribute to. + * @chainable + */ + set: function(attr, val) { + var attrConfig = Y_Node.ATTRS[attr]; + + if (this._setAttr) { // use Attribute imple + this._setAttr.apply(this, arguments); + } else { // use setters inline + if (attrConfig && attrConfig.setter) { + attrConfig.setter.call(this, val, attr); + } else if (Y_Node.re_aria.test(attr)) { // special case Aria + this._node.setAttribute(attr, val); + } else { + Y_Node.DEFAULT_SETTER.apply(this, arguments); + } + } + + return this; + }, + + /** + * Sets multiple attributes. + * @method setAttrs + * @param {Object} attrMap an object of name/value pairs to set + * @chainable + */ + setAttrs: function(attrMap) { + if (this._setAttrs) { // use Attribute imple + this._setAttrs(attrMap); + } else { // use setters inline + Y.Object.each(attrMap, function(v, n) { + this.set(n, v); + }, this); + } + + return this; + }, + + /** + * Returns an object containing the values for the requested attributes. + * @method getAttrs + * @param {Array} attrs an array of attributes to get values + * @return {Object} An object with attribute name/value pairs. + */ + getAttrs: function(attrs) { + var ret = {}; + if (this._getAttrs) { // use Attribute imple + this._getAttrs(attrs); + } else { // use setters inline + Y.Array.each(attrs, function(v, n) { + ret[v] = this.get(v); + }, this); + } + + return ret; + }, + + /** + * Compares nodes to determine if they match. + * Node instances can be compared to each other and/or HTMLElements. + * @method compareTo + * @param {HTMLElement | Node} refNode The reference node to compare to the node. + * @return {Boolean} True if the nodes match, false if they do not. + */ + compareTo: function(refNode) { + var node = this._node; + + if (refNode && refNode._node) { + refNode = refNode._node; + } + return node === refNode; + }, + + /** + * Determines whether the node is appended to the document. + * @method inDoc + * @param {Node|HTMLElement} doc optional An optional document to check against. + * Defaults to current document. + * @return {Boolean} Whether or not this node is appended to the document. + */ + inDoc: function(doc) { + var node = this._node; + doc = (doc) ? doc._node || doc : node[OWNER_DOCUMENT]; + if (doc.documentElement) { + return Y_DOM.contains(doc.documentElement, node); + } + }, + + getById: function(id) { + var node = this._node, + ret = Y_DOM.byId(id, node[OWNER_DOCUMENT]); + if (ret && Y_DOM.contains(node, ret)) { + ret = Y.one(ret); + } else { + ret = null; + } + return ret; + }, + + /** + * Returns the nearest ancestor that passes the test applied by supplied boolean method. + * @method ancestor + * @param {String | Function} fn A selector string or boolean method for testing elements. + * If a function is used, it receives the current node being tested as the only argument. + * @param {Boolean} testSelf optional Whether or not to include the element in the scan + * @param {String | Function} stopFn optional A selector string or boolean + * method to indicate when the search should stop. The search bails when the function + * returns true or the selector matches. + * If a function is used, it receives the current node being tested as the only argument. + * @return {Node} The matching Node instance or null if not found + */ + ancestor: function(fn, testSelf, stopFn) { + // testSelf is optional, check for stopFn as 2nd arg + if (arguments.length === 2 && + (typeof testSelf == 'string' || typeof testSelf == 'function')) { + stopFn = testSelf; + } + + return Y.one(Y_DOM.ancestor(this._node, _wrapFn(fn), testSelf, _wrapFn(stopFn))); + }, + + /** + * Returns the ancestors that pass the test applied by supplied boolean method. + * @method ancestors + * @param {String | Function} fn A selector string or boolean method for testing elements. + * @param {Boolean} testSelf optional Whether or not to include the element in the scan + * If a function is used, it receives the current node being tested as the only argument. + * @return {NodeList} A NodeList instance containing the matching elements + */ + ancestors: function(fn, testSelf, stopFn) { + if (arguments.length === 2 && + (typeof testSelf == 'string' || typeof testSelf == 'function')) { + stopFn = testSelf; + } + return Y.all(Y_DOM.ancestors(this._node, _wrapFn(fn), testSelf, _wrapFn(stopFn))); + }, + + /** + * Returns the previous matching sibling. + * Returns the nearest element node sibling if no method provided. + * @method previous + * @param {String | Function} fn A selector or boolean method for testing elements. + * If a function is used, it receives the current node being tested as the only argument. + * @return {Node} Node instance or null if not found + */ + previous: function(fn, all) { + return Y.one(Y_DOM.elementByAxis(this._node, 'previousSibling', _wrapFn(fn), all)); + }, + + /** + * Returns the next matching sibling. + * Returns the nearest element node sibling if no method provided. + * @method next + * @param {String | Function} fn A selector or boolean method for testing elements. + * If a function is used, it receives the current node being tested as the only argument. + * @return {Node} Node instance or null if not found + */ + next: function(fn, all) { + return Y.one(Y_DOM.elementByAxis(this._node, 'nextSibling', _wrapFn(fn), all)); + }, + + /** + * Returns all matching siblings. + * Returns all siblings if no method provided. + * @method siblings + * @param {String | Function} fn A selector or boolean method for testing elements. + * If a function is used, it receives the current node being tested as the only argument. + * @return {NodeList} NodeList instance bound to found siblings + */ + siblings: function(fn) { + return Y.all(Y_DOM.siblings(this._node, _wrapFn(fn))); + }, + + /** + * Retrieves a Node instance of nodes based on the given CSS selector. + * @method one + * + * @param {string} selector The CSS selector to test against. + * @return {Node} A Node instance for the matching HTMLElement. + */ + one: function(selector) { + return Y.one(Y.Selector.query(selector, this._node, true)); + }, + + /** + * Retrieves a NodeList based on the given CSS selector. + * @method all + * + * @param {string} selector The CSS selector to test against. + * @return {NodeList} A NodeList instance for the matching HTMLCollection/Array. + */ + all: function(selector) { + var nodelist = Y.all(Y.Selector.query(selector, this._node)); + nodelist._query = selector; + nodelist._queryRoot = this._node; + return nodelist; + }, + + // TODO: allow fn test + /** + * Test if the supplied node matches the supplied selector. + * @method test + * + * @param {string} selector The CSS selector to test against. + * @return {boolean} Whether or not the node matches the selector. + */ + test: function(selector) { + return Y.Selector.test(this._node, selector); + }, + + /** + * Removes the node from its parent. + * Shortcut for myNode.get('parentNode').removeChild(myNode); + * @method remove + * @param {Boolean} destroy whether or not to call destroy() on the node + * after removal. + * @chainable + * + */ + remove: function(destroy) { + var node = this._node; + + if (node && node.parentNode) { + node.parentNode.removeChild(node); + } + + if (destroy) { + this.destroy(); + } + + return this; + }, + + /** + * Replace the node with the other node. This is a DOM update only + * and does not change the node bound to the Node instance. + * Shortcut for myNode.get('parentNode').replaceChild(newNode, myNode); + * @method replace + * @param {Node | HTMLNode} newNode Node to be inserted + * @chainable + * + */ + replace: function(newNode) { + var node = this._node; + if (typeof newNode == 'string') { + newNode = Y_Node.create(newNode); + } + node.parentNode.replaceChild(Y_Node.getDOMNode(newNode), node); + return this; + }, + + /** + * @method replaceChild + * @for Node + * @param {String | HTMLElement | Node} node Node to be inserted + * @param {HTMLElement | Node} refNode Node to be replaced + * @return {Node} The replaced node + */ + replaceChild: function(node, refNode) { + if (typeof node == 'string') { + node = Y_DOM.create(node); + } + + return Y.one(this._node.replaceChild(Y_Node.getDOMNode(node), Y_Node.getDOMNode(refNode))); + }, + + /** + * Nulls internal node references, removes any plugins and event listeners + * @method destroy + * @param {Boolean} recursivePurge (optional) Whether or not to remove listeners from the + * node's subtree (default is false) + * + */ + destroy: function(recursive) { + var UID = Y.config.doc.uniqueID ? 'uniqueID' : '_yuid', + instance; + + this.purge(); // TODO: only remove events add via this Node + + if (this.unplug) { // may not be a PluginHost + this.unplug(); + } + + this.clearData(); + + if (recursive) { + Y.NodeList.each(this.all('*'), function(node) { + instance = Y_Node._instances[node[UID]]; + if (instance) { + instance.destroy(); + } else { // purge in case added by other means + Y.Event.purgeElement(node); + } + }); + } + + this._node = null; + this._stateProxy = null; + + delete Y_Node._instances[this._yuid]; + }, + + /** + * Invokes a method on the Node instance + * @method invoke + * @param {String} method The name of the method to invoke + * @param {Any} a, b, c, etc. Arguments to invoke the method with. + * @return Whatever the underly method returns. + * DOM Nodes and Collections return values + * are converted to Node/NodeList instances. + * + */ + invoke: function(method, a, b, c, d, e) { + var node = this._node, + ret; + + if (a && a._node) { + a = a._node; + } + + if (b && b._node) { + b = b._node; + } + + ret = node[method](a, b, c, d, e); + return Y_Node.scrubVal(ret, this); + }, + + /** + * @method swap + * @description Swap DOM locations with the given node. + * This does not change which DOM node each Node instance refers to. + * @param {Node} otherNode The node to swap with + * @chainable + */ + swap: Y.config.doc.documentElement.swapNode ? + function(otherNode) { + this._node.swapNode(Y_Node.getDOMNode(otherNode)); + } : + function(otherNode) { + otherNode = Y_Node.getDOMNode(otherNode); + var node = this._node, + parent = otherNode.parentNode, + nextSibling = otherNode.nextSibling; + + if (nextSibling === node) { + parent.insertBefore(node, otherNode); + } else if (otherNode === node.nextSibling) { + parent.insertBefore(otherNode, node); + } else { + node.parentNode.replaceChild(otherNode, node); + Y_DOM.addHTML(parent, node, nextSibling); + } + return this; + }, + + + hasMethod: function(method) { + var node = this._node; + return !!(node && method in node && + typeof node[method] != 'unknown' && + (typeof node[method] == 'function' || + String(node[method]).indexOf('function') === 1)); // IE reports as object, prepends space + }, + + isFragment: function() { + return (this.get('nodeType') === 11); + }, + + /** + * Removes and destroys all of the nodes within the node. + * @method empty + * @chainable + */ + empty: function() { + this.get('childNodes').remove().destroy(true); + return this; + }, + + /** + * Returns the DOM node bound to the Node instance + * @method getDOMNode + * @return {DOMNode} + */ + getDOMNode: function() { + return this._node; + } +}, true); + +Y.Node = Y_Node; +Y.one = Y_Node.one; +/** + * The NodeList module provides support for managing collections of Nodes. + * @module node + * @submodule node-core + */ + +/** + * The NodeList class provides a wrapper for manipulating DOM NodeLists. + * NodeList properties can be accessed via the set/get methods. + * Use Y.all() to retrieve NodeList instances. + * + * @class NodeList + * @constructor + */ + +var NodeList = function(nodes) { + var tmp = []; + + if (nodes) { + if (typeof nodes === 'string') { // selector query + this._query = nodes; + nodes = Y.Selector.query(nodes); + } else if (nodes.nodeType || Y_DOM.isWindow(nodes)) { // domNode || window + nodes = [nodes]; + } else if (nodes._node) { // Y.Node + nodes = [nodes._node]; + } else if (nodes[0] && nodes[0]._node) { // allow array of Y.Nodes + Y.Array.each(nodes, function(node) { + if (node._node) { + tmp.push(node._node); + } + }); + nodes = tmp; + } else { // array of domNodes or domNodeList (no mixed array of Y.Node/domNodes) + nodes = Y.Array(nodes, 0, true); + } + } + + /** + * The underlying array of DOM nodes bound to the Y.NodeList instance + * @property _nodes + * @private + */ + this._nodes = nodes || []; +}; + +NodeList.NAME = 'NodeList'; + +/** + * Retrieves the DOM nodes bound to a NodeList instance + * @method getDOMNodes + * @static + * + * @param {NodeList} nodelist The NodeList instance + * @return {Array} The array of DOM nodes bound to the NodeList + */ +NodeList.getDOMNodes = function(nodelist) { + return (nodelist && nodelist._nodes) ? nodelist._nodes : nodelist; +}; + +NodeList.each = function(instance, fn, context) { + var nodes = instance._nodes; + if (nodes && nodes.length) { + Y.Array.each(nodes, fn, context || instance); + } else { + } +}; + +NodeList.addMethod = function(name, fn, context) { + if (name && fn) { + NodeList.prototype[name] = function() { + var ret = [], + args = arguments; + + Y.Array.each(this._nodes, function(node) { + var UID = (node.uniqueID && node.nodeType !== 9 ) ? 'uniqueID' : '_yuid', + instance = Y.Node._instances[node[UID]], + ctx, + result; + + if (!instance) { + instance = NodeList._getTempNode(node); + } + ctx = context || instance; + result = fn.apply(ctx, args); + if (result !== undefined && result !== instance) { + ret[ret.length] = result; + } + }); + + // TODO: remove tmp pointer + return ret.length ? ret : this; + }; + } else { + } +}; + +NodeList.importMethod = function(host, name, altName) { + if (typeof name === 'string') { + altName = altName || name; + NodeList.addMethod(name, host[name]); + } else { + Y.Array.each(name, function(n) { + NodeList.importMethod(host, n); + }); + } +}; + +NodeList._getTempNode = function(node) { + var tmp = NodeList._tempNode; + if (!tmp) { + tmp = Y.Node.create('
'); + NodeList._tempNode = tmp; + } + + tmp._node = node; + tmp._stateProxy = node; + return tmp; +}; + +Y.mix(NodeList.prototype, { + _invoke: function(method, args, getter) { + var ret = (getter) ? [] : this; + + this.each(function(node) { + var val = node[method].apply(node, args); + if (getter) { + ret.push(val); + } + }); + + return ret; + }, + + /** + * Retrieves the Node instance at the given index. + * @method item + * + * @param {Number} index The index of the target Node. + * @return {Node} The Node instance at the given index. + */ + item: function(index) { + return Y.one((this._nodes || [])[index]); + }, + + /** + * Applies the given function to each Node in the NodeList. + * @method each + * @param {Function} fn The function to apply. It receives 3 arguments: + * the current node instance, the node's index, and the NodeList instance + * @param {Object} context optional An optional context to apply the function with + * Default context is the current Node instance + * @chainable + */ + each: function(fn, context) { + var instance = this; + Y.Array.each(this._nodes, function(node, index) { + node = Y.one(node); + return fn.call(context || node, node, index, instance); + }); + return instance; + }, + + batch: function(fn, context) { + var nodelist = this; + + Y.Array.each(this._nodes, function(node, index) { + var instance = Y.Node._instances[node[UID]]; + if (!instance) { + instance = NodeList._getTempNode(node); + } + + return fn.call(context || instance, instance, index, nodelist); + }); + return nodelist; + }, + + /** + * Executes the function once for each node until a true value is returned. + * @method some + * @param {Function} fn The function to apply. It receives 3 arguments: + * the current node instance, the node's index, and the NodeList instance + * @param {Object} context optional An optional context to execute the function from. + * Default context is the current Node instance + * @return {Boolean} Whether or not the function returned true for any node. + */ + some: function(fn, context) { + var instance = this; + return Y.Array.some(this._nodes, function(node, index) { + node = Y.one(node); + context = context || node; + return fn.call(context, node, index, instance); + }); + }, + + /** + * Creates a documenFragment from the nodes bound to the NodeList instance + * @method toFrag + * @return {Node} a Node instance bound to the documentFragment + */ + toFrag: function() { + return Y.one(Y.DOM._nl2frag(this._nodes)); + }, + + /** + * Returns the index of the node in the NodeList instance + * or -1 if the node isn't found. + * @method indexOf + * @param {Node | DOMNode} node the node to search for + * @return {Int} the index of the node value or -1 if not found + */ + indexOf: function(node) { + return Y.Array.indexOf(this._nodes, Y.Node.getDOMNode(node)); + }, + + /** + * Filters the NodeList instance down to only nodes matching the given selector. + * @method filter + * @param {String} selector The selector to filter against + * @return {NodeList} NodeList containing the updated collection + * @see Selector + */ + filter: function(selector) { + return Y.all(Y.Selector.filter(this._nodes, selector)); + }, + + + /** + * Creates a new NodeList containing all nodes at every n indices, where + * remainder n % index equals r. + * (zero-based index). + * @method modulus + * @param {Int} n The offset to use (return every nth node) + * @param {Int} r An optional remainder to use with the modulus operation (defaults to zero) + * @return {NodeList} NodeList containing the updated collection + */ + modulus: function(n, r) { + r = r || 0; + var nodes = []; + NodeList.each(this, function(node, i) { + if (i % n === r) { + nodes.push(node); + } + }); + + return Y.all(nodes); + }, + + /** + * Creates a new NodeList containing all nodes at odd indices + * (zero-based index). + * @method odd + * @return {NodeList} NodeList containing the updated collection + */ + odd: function() { + return this.modulus(2, 1); + }, + + /** + * Creates a new NodeList containing all nodes at even indices + * (zero-based index), including zero. + * @method even + * @return {NodeList} NodeList containing the updated collection + */ + even: function() { + return this.modulus(2); + }, + + destructor: function() { + }, + + /** + * Reruns the initial query, when created using a selector query + * @method refresh + * @chainable + */ + refresh: function() { + var doc, + nodes = this._nodes, + query = this._query, + root = this._queryRoot; + + if (query) { + if (!root) { + if (nodes && nodes[0] && nodes[0].ownerDocument) { + root = nodes[0].ownerDocument; + } + } + + this._nodes = Y.Selector.query(query, root); + } + + return this; + }, + + /** + * Returns the current number of items in the NodeList. + * @method size + * @return {Int} The number of items in the NodeList. + */ + size: function() { + return this._nodes.length; + }, + + /** + * Determines if the instance is bound to any nodes + * @method isEmpty + * @return {Boolean} Whether or not the NodeList is bound to any nodes + */ + isEmpty: function() { + return this._nodes.length < 1; + }, + + toString: function() { + var str = '', + errorMsg = this[UID] + ': not bound to any nodes', + nodes = this._nodes, + node; + + if (nodes && nodes[0]) { + node = nodes[0]; + str += node[NODE_NAME]; + if (node.id) { + str += '#' + node.id; + } + + if (node.className) { + str += '.' + node.className.replace(' ', '.'); + } + + if (nodes.length > 1) { + str += '...[' + nodes.length + ' items]'; + } + } + return str || errorMsg; + }, + + /** + * Returns the DOM node bound to the Node instance + * @method getDOMNodes + * @return {Array} + */ + getDOMNodes: function() { + return this._nodes; + } +}, true); + +NodeList.importMethod(Y.Node.prototype, [ + /** + * Called on each Node instance. Nulls internal node references, + * removes any plugins and event listeners + * @method destroy + * @param {Boolean} recursivePurge (optional) Whether or not to + * remove listeners from the node's subtree (default is false) + * @see Node.destroy + */ + 'destroy', + + /** + * Called on each Node instance. Removes and destroys all of the nodes + * within the node + * @method empty + * @chainable + * @see Node.empty + */ + 'empty', + + /** + * Called on each Node instance. Removes the node from its parent. + * Shortcut for myNode.get('parentNode').removeChild(myNode); + * @method remove + * @param {Boolean} destroy whether or not to call destroy() on the node + * after removal. + * @chainable + * @see Node.remove + */ + 'remove', + + /** + * Called on each Node instance. Sets an attribute on the Node instance. + * Unless pre-configured (via Node.ATTRS), set hands + * off to the underlying DOM node. Only valid + * attributes/properties for the node will be set. + * To set custom attributes use setAttribute. + * @method set + * @param {String} attr The attribute to be set. + * @param {any} val The value to set the attribute to. + * @chainable + * @see Node.set + */ + 'set' +]); + +// one-off implementation to convert array of Nodes to NodeList +// e.g. Y.all('input').get('parentNode'); + +/** Called on each Node instance + * @method get + * @see Node + */ +NodeList.prototype.get = function(attr) { + var ret = [], + nodes = this._nodes, + isNodeList = false, + getTemp = NodeList._getTempNode, + instance, + val; + + if (nodes[0]) { + instance = Y.Node._instances[nodes[0]._yuid] || getTemp(nodes[0]); + val = instance._get(attr); + if (val && val.nodeType) { + isNodeList = true; + } + } + + Y.Array.each(nodes, function(node) { + instance = Y.Node._instances[node._yuid]; + + if (!instance) { + instance = getTemp(node); + } + + val = instance._get(attr); + if (!isNodeList) { // convert array of Nodes to NodeList + val = Y.Node.scrubVal(val, instance); + } + + ret.push(val); + }); + + return (isNodeList) ? Y.all(ret) : ret; +}; + +Y.NodeList = NodeList; + +Y.all = function(nodes) { + return new NodeList(nodes); +}; + +Y.Node.all = Y.all; +/** + * @module node + * @submodule node-core + */ + +var Y_NodeList = Y.NodeList, + ArrayProto = Array.prototype, + ArrayMethods = { + /** Returns a new NodeList combining the given NodeList(s) + * @for NodeList + * @method concat + * @param {NodeList | Array} valueN Arrays/NodeLists and/or values to + * concatenate to the resulting NodeList + * @return {NodeList} A new NodeList comprised of this NodeList joined with the input. + */ + 'concat': 1, + /** Removes the last from the NodeList and returns it. + * @for NodeList + * @method pop + * @return {Node} The last item in the NodeList. + */ + 'pop': 0, + /** Adds the given Node(s) to the end of the NodeList. + * @for NodeList + * @method push + * @param {Node | DOMNode} nodes One or more nodes to add to the end of the NodeList. + */ + 'push': 0, + /** Removes the first item from the NodeList and returns it. + * @for NodeList + * @method shift + * @return {Node} The first item in the NodeList. + */ + 'shift': 0, + /** Returns a new NodeList comprising the Nodes in the given range. + * @for NodeList + * @method slice + * @param {Number} begin Zero-based index at which to begin extraction. + As a negative index, start indicates an offset from the end of the sequence. slice(-2) extracts the second-to-last element and the last element in the sequence. + * @param {Number} end Zero-based index at which to end extraction. slice extracts up to but not including end. + slice(1,4) extracts the second element through the fourth element (elements indexed 1, 2, and 3). + As a negative index, end indicates an offset from the end of the sequence. slice(2,-1) extracts the third element through the second-to-last element in the sequence. + If end is omitted, slice extracts to the end of the sequence. + * @return {NodeList} A new NodeList comprised of this NodeList joined with the input. + */ + 'slice': 1, + /** Changes the content of the NodeList, adding new elements while removing old elements. + * @for NodeList + * @method splice + * @param {Number} index Index at which to start changing the array. If negative, will begin that many elements from the end. + * @param {Number} howMany An integer indicating the number of old array elements to remove. If howMany is 0, no elements are removed. In this case, you should specify at least one new element. If no howMany parameter is specified (second syntax above, which is a SpiderMonkey extension), all elements after index are removed. + * {Node | DOMNode| element1, ..., elementN + The elements to add to the array. If you don't specify any elements, splice simply removes elements from the array. + * @return {NodeList} The element(s) removed. + */ + 'splice': 1, + /** Adds the given Node(s) to the beginning of the NodeList. + * @for NodeList + * @method unshift + * @param {Node | DOMNode} nodes One or more nodes to add to the NodeList. + */ + 'unshift': 0 + }; + + +Y.Object.each(ArrayMethods, function(returnNodeList, name) { + Y_NodeList.prototype[name] = function() { + var args = [], + i = 0, + arg, + ret; + + while (typeof (arg = arguments[i++]) != 'undefined') { // use DOM nodes/nodeLists + args.push(arg._node || arg._nodes || arg); + } + + ret = ArrayProto[name].apply(this._nodes, args); + + if (returnNodeList) { + ret = Y.all(ret); + } else { + ret = Y.Node.scrubVal(ret); + } + + return ret; + }; +}); +/** + * @module node + * @submodule node-core + */ + +Y.Array.each([ + /** + * Passes through to DOM method. + * @for Node + * @method removeChild + * @param {HTMLElement | Node} node Node to be removed + * @return {Node} The removed node + */ + 'removeChild', + + /** + * Passes through to DOM method. + * @method hasChildNodes + * @return {Boolean} Whether or not the node has any childNodes + */ + 'hasChildNodes', + + /** + * Passes through to DOM method. + * @method cloneNode + * @param {Boolean} deep Whether or not to perform a deep clone, which includes + * subtree and attributes + * @return {Node} The clone + */ + 'cloneNode', + + /** + * Passes through to DOM method. + * @method hasAttribute + * @param {String} attribute The attribute to test for + * @return {Boolean} Whether or not the attribute is present + */ + 'hasAttribute', + + /** + * Passes through to DOM method. + * @method scrollIntoView + * @chainable + */ + 'scrollIntoView', + + /** + * Passes through to DOM method. + * @method getElementsByTagName + * @param {String} tagName The tagName to collect + * @return {NodeList} A NodeList representing the HTMLCollection + */ + 'getElementsByTagName', + + /** + * Passes through to DOM method. + * @method focus + * @chainable + */ + 'focus', + + /** + * Passes through to DOM method. + * @method blur + * @chainable + */ + 'blur', + + /** + * Passes through to DOM method. + * Only valid on FORM elements + * @method submit + * @chainable + */ + 'submit', + + /** + * Passes through to DOM method. + * Only valid on FORM elements + * @method reset + * @chainable + */ + 'reset', + + /** + * Passes through to DOM method. + * @method select + * @chainable + */ + 'select', + + /** + * Passes through to DOM method. + * Only valid on TABLE elements + * @method createCaption + * @chainable + */ + 'createCaption' + +], function(method) { + Y.Node.prototype[method] = function(arg1, arg2, arg3) { + var ret = this.invoke(method, arg1, arg2, arg3); + return ret; + }; +}); + +/** + * Passes through to DOM method. + * @method removeAttribute + * @param {String} attribute The attribute to be removed + * @chainable + */ + // one-off implementation due to IE returning boolean, breaking chaining +Y.Node.prototype.removeAttribute = function(attr) { + var node = this._node; + if (node) { + node.removeAttribute(attr, 0); // comma zero for IE < 8 to force case-insensitive + } + + return this; +}; + +Y.Node.importMethod(Y.DOM, [ + /** + * Determines whether the node is an ancestor of another HTML element in the DOM hierarchy. + * @method contains + * @param {Node | HTMLElement} needle The possible node or descendent + * @return {Boolean} Whether or not this node is the needle its ancestor + */ + 'contains', + /** + * Allows setting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method setAttribute + * @for Node + * @chainable + * @param {string} name The attribute name + * @param {string} value The value to set + */ + 'setAttribute', + /** + * Allows getting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method getAttribute + * @for Node + * @param {string} name The attribute name + * @return {string} The attribute value + */ + 'getAttribute', + + /** + * Wraps the given HTML around the node. + * @method wrap + * @param {String} html The markup to wrap around the node. + * @chainable + * @for Node + */ + 'wrap', + + /** + * Removes the node's parent node. + * @method unwrap + * @chainable + */ + 'unwrap', + + /** + * Applies a unique ID to the node if none exists + * @method generateID + * @return {String} The existing or generated ID + */ + 'generateID' +]); + +Y.NodeList.importMethod(Y.Node.prototype, [ +/** + * Allows getting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method getAttribute + * @see Node + * @for NodeList + * @param {string} name The attribute name + * @return {string} The attribute value + */ + + 'getAttribute', +/** + * Allows setting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method setAttribute + * @see Node + * @for NodeList + * @chainable + * @param {string} name The attribute name + * @param {string} value The value to set + */ + 'setAttribute', + +/** + * Allows for removing attributes on DOM nodes. + * This passes through to the DOM node, allowing for custom attributes. + * @method removeAttribute + * @see Node + * @for NodeList + * @param {string} name The attribute to remove + */ + 'removeAttribute', +/** + * Removes the parent node from node in the list. + * @method unwrap + * @chainable + */ + 'unwrap', +/** + * Wraps the given HTML around each node. + * @method wrap + * @param {String} html The markup to wrap around the node. + * @chainable + */ + 'wrap', + +/** + * Applies a unique ID to each node if none exists + * @method generateID + * @return {String} The existing or generated ID + */ + 'generateID' +]); + + +}, '3.6.0pr3' ,{requires:['dom-core', 'selector']}); +YUI.add('node-base', function(Y) { + +/** + * @module node + * @submodule node-base + */ + +var methods = [ +/** + * Determines whether each node has the given className. + * @method hasClass + * @for Node + * @param {String} className the class name to search for + * @return {Boolean} Whether or not the element has the specified class + */ + 'hasClass', + +/** + * Adds a class name to each node. + * @method addClass + * @param {String} className the class name to add to the node's class attribute + * @chainable + */ + 'addClass', + +/** + * Removes a class name from each node. + * @method removeClass + * @param {String} className the class name to remove from the node's class attribute + * @chainable + */ + 'removeClass', + +/** + * Replace a class with another class for each node. + * If no oldClassName is present, the newClassName is simply added. + * @method replaceClass + * @param {String} oldClassName the class name to be replaced + * @param {String} newClassName the class name that will be replacing the old class name + * @chainable + */ + 'replaceClass', + +/** + * If the className exists on the node it is removed, if it doesn't exist it is added. + * @method toggleClass + * @param {String} className the class name to be toggled + * @param {Boolean} force Option to force adding or removing the class. + * @chainable + */ + 'toggleClass' +]; + +Y.Node.importMethod(Y.DOM, methods); +/** + * Determines whether each node has the given className. + * @method hasClass + * @see Node.hasClass + * @for NodeList + * @param {String} className the class name to search for + * @return {Array} An array of booleans for each node bound to the NodeList. + */ + +/** + * Adds a class name to each node. + * @method addClass + * @see Node.addClass + * @param {String} className the class name to add to the node's class attribute + * @chainable + */ + +/** + * Removes a class name from each node. + * @method removeClass + * @see Node.removeClass + * @param {String} className the class name to remove from the node's class attribute + * @chainable + */ + +/** + * Replace a class with another class for each node. + * If no oldClassName is present, the newClassName is simply added. + * @method replaceClass + * @see Node.replaceClass + * @param {String} oldClassName the class name to be replaced + * @param {String} newClassName the class name that will be replacing the old class name + * @chainable + */ + +/** + * If the className exists on the node it is removed, if it doesn't exist it is added. + * @method toggleClass + * @see Node.toggleClass + * @param {String} className the class name to be toggled + * @chainable + */ +Y.NodeList.importMethod(Y.Node.prototype, methods); +/** + * @module node + * @submodule node-base + */ + +var Y_Node = Y.Node, + Y_DOM = Y.DOM; + +/** + * Returns a new dom node using the provided markup string. + * @method create + * @static + * @param {String} html The markup used to create the element + * Use `Y.Escape.html()` + * to escape html content. + * @param {HTMLDocument} doc An optional document context + * @return {Node} A Node instance bound to a DOM node or fragment + * @for Node + */ +Y_Node.create = function(html, doc) { + if (doc && doc._node) { + doc = doc._node; + } + return Y.one(Y_DOM.create(html, doc)); +}; + +Y.mix(Y_Node.prototype, { + /** + * Creates a new Node using the provided markup string. + * @method create + * @param {String} html The markup used to create the element. + * Use `Y.Escape.html()` + * to escape html content. + * @param {HTMLDocument} doc An optional document context + * @return {Node} A Node instance bound to a DOM node or fragment + */ + create: Y_Node.create, + + /** + * Inserts the content before the reference node. + * @method insert + * @param {String | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert + * Use `Y.Escape.html()` + * to escape html content. + * @param {Int | Node | HTMLElement | String} where The position to insert at. + * Possible "where" arguments + *
+ *
Y.Node
+ *
The Node to insert before
+ *
HTMLElement
+ *
The element to insert before
+ *
Int
+ *
The index of the child element to insert before
+ *
"replace"
+ *
Replaces the existing HTML
+ *
"before"
+ *
Inserts before the existing HTML
+ *
"before"
+ *
Inserts content before the node
+ *
"after"
+ *
Inserts content after the node
+ *
+ * @chainable + */ + insert: function(content, where) { + this._insert(content, where); + return this; + }, + + _insert: function(content, where) { + var node = this._node, + ret = null; + + if (typeof where == 'number') { // allow index + where = this._node.childNodes[where]; + } else if (where && where._node) { // Node + where = where._node; + } + + if (content && typeof content != 'string') { // allow Node or NodeList/Array instances + content = content._node || content._nodes || content; + } + ret = Y_DOM.addHTML(node, content, where); + + return ret; + }, + + /** + * Inserts the content as the firstChild of the node. + * @method prepend + * @param {String | Node | HTMLElement} content The content to insert + * Use `Y.Escape.html()` + * to escape html content. + * @chainable + */ + prepend: function(content) { + return this.insert(content, 0); + }, + + /** + * Inserts the content as the lastChild of the node. + * @method append + * @param {String | Node | HTMLElement} content The content to insert + * Use `Y.Escape.html()` + * to escape html content. + * @chainable + */ + append: function(content) { + return this.insert(content, null); + }, + + /** + * @method appendChild + * @param {String | HTMLElement | Node} node Node to be appended + * Use `Y.Escape.html()` + * to escape html content. + * @return {Node} The appended node + */ + appendChild: function(node) { + return Y_Node.scrubVal(this._insert(node)); + }, + + /** + * @method insertBefore + * @param {String | HTMLElement | Node} newNode Node to be appended + * @param {HTMLElement | Node} refNode Node to be inserted before + * Use `Y.Escape.html()` + * to escape html content. + * @return {Node} The inserted node + */ + insertBefore: function(newNode, refNode) { + return Y.Node.scrubVal(this._insert(newNode, refNode)); + }, + + /** + * Appends the node to the given node. + * @method appendTo + * @param {Node | HTMLElement} node The node to append to + * @chainable + */ + appendTo: function(node) { + Y.one(node).append(this); + return this; + }, + + /** + * Replaces the node's current content with the content. + * Note that this passes to innerHTML and is not escaped. + * Use `Y.Escape.html()` + * to escape html content or `set('text')` to add as text. + * @method setContent + * @deprecated Use setHTML + * @param {String | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert + * @chainable + */ + setContent: function(content) { + this._insert(content, 'replace'); + return this; + }, + + /** + * Returns the node's current content (e.g. innerHTML) + * @method getContent + * @deprecated Use getHTML + * @return {String} The current content + */ + getContent: function(content) { + return this.get('innerHTML'); + } +}); + +/** + * Replaces the node's current html content with the content provided. + * Note that this passes to innerHTML and is not escaped. + * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text. + * @method setHTML + * @param {String | HTML | Node | HTMLElement | NodeList | HTMLCollection} content The content to insert + * @chainable + */ +Y.Node.prototype.setHTML = Y.Node.prototype.setContent; + +/** + * Returns the node's current html content (e.g. innerHTML) + * @method getHTML + * @return {String} The html content + */ +Y.Node.prototype.getHTML = Y.Node.prototype.getContent; + +Y.NodeList.importMethod(Y.Node.prototype, [ + /** + * Called on each Node instance + * @for NodeList + * @method append + * @see Node.append + */ + 'append', + + /** + * Called on each Node instance + * @for NodeList + * @method insert + * @see Node.insert + */ + 'insert', + + /** + * Called on each Node instance + * @for NodeList + * @method appendChild + * @see Node.appendChild + */ + 'appendChild', + + /** + * Called on each Node instance + * @for NodeList + * @method insertBefore + * @see Node.insertBefore + */ + 'insertBefore', + + /** + * Called on each Node instance + * @for NodeList + * @method prepend + * @see Node.prepend + */ + 'prepend', + + /** + * Called on each Node instance + * Note that this passes to innerHTML and is not escaped. + * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text. + * @for NodeList + * @method setContent + * @deprecated Use setHTML + */ + 'setContent', + + /** + * Called on each Node instance + * @for NodeList + * @method getContent + * @deprecated Use getHTML + */ + 'getContent', + + /** + * Called on each Node instance + * Note that this passes to innerHTML and is not escaped. + * Use `Y.Escape.html()` to escape HTML, or `set('text')` to add as text. + * @for NodeList + * @method setHTML + * @see Node.setHTML + */ + 'setHTML', + + /** + * Called on each Node instance + * @for NodeList + * @method getHTML + * @see Node.getHTML + */ + 'getHTML' +]); +/** + * @module node + * @submodule node-base + */ + +var Y_Node = Y.Node, + Y_DOM = Y.DOM; + +/** + * Static collection of configuration attributes for special handling + * @property ATTRS + * @static + * @type object + */ +Y_Node.ATTRS = { + /** + * Allows for getting and setting the text of an element. + * Formatting is preserved and special characters are treated literally. + * @config text + * @type String + */ + text: { + getter: function() { + return Y_DOM.getText(this._node); + }, + + setter: function(content) { + Y_DOM.setText(this._node, content); + return content; + } + }, + + /** + * Allows for getting and setting the text of an element. + * Formatting is preserved and special characters are treated literally. + * @config for + * @type String + */ + 'for': { + getter: function() { + return Y_DOM.getAttribute(this._node, 'for'); + }, + + setter: function(val) { + Y_DOM.setAttribute(this._node, 'for', val); + return val; + } + }, + + 'options': { + getter: function() { + return this._node.getElementsByTagName('option'); + } + }, + + /** + * Returns a NodeList instance of all HTMLElement children. + * @readOnly + * @config children + * @type NodeList + */ + 'children': { + getter: function() { + var node = this._node, + children = node.children, + childNodes, i, len; + + if (!children) { + childNodes = node.childNodes; + children = []; + + for (i = 0, len = childNodes.length; i < len; ++i) { + if (childNodes[i].tagName) { + children[children.length] = childNodes[i]; + } + } + } + return Y.all(children); + } + }, + + value: { + getter: function() { + return Y_DOM.getValue(this._node); + }, + + setter: function(val) { + Y_DOM.setValue(this._node, val); + return val; + } + } +}; + +Y.Node.importMethod(Y.DOM, [ + /** + * Allows setting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method setAttribute + * @for Node + * @for NodeList + * @chainable + * @param {string} name The attribute name + * @param {string} value The value to set + */ + 'setAttribute', + /** + * Allows getting attributes on DOM nodes, normalizing in some cases. + * This passes through to the DOM node, allowing for custom attributes. + * @method getAttribute + * @for Node + * @for NodeList + * @param {string} name The attribute name + * @return {string} The attribute value + */ + 'getAttribute' + +]); +/** + * @module node + * @submodule node-base + */ + +var Y_Node = Y.Node; +var Y_NodeList = Y.NodeList; +/** + * List of events that route to DOM events + * @static + * @property DOM_EVENTS + * @for Node + */ + +Y_Node.DOM_EVENTS = { + abort: 1, + beforeunload: 1, + blur: 1, + change: 1, + click: 1, + close: 1, + command: 1, + contextmenu: 1, + dblclick: 1, + DOMMouseScroll: 1, + drag: 1, + dragstart: 1, + dragenter: 1, + dragover: 1, + dragleave: 1, + dragend: 1, + drop: 1, + error: 1, + focus: 1, + key: 1, + keydown: 1, + keypress: 1, + keyup: 1, + load: 1, + message: 1, + mousedown: 1, + mouseenter: 1, + mouseleave: 1, + mousemove: 1, + mousemultiwheel: 1, + mouseout: 1, + mouseover: 1, + mouseup: 1, + mousewheel: 1, + orientationchange: 1, + reset: 1, + resize: 1, + select: 1, + selectstart: 1, + submit: 1, + scroll: 1, + textInput: 1, + unload: 1 +}; + +// Add custom event adaptors to this list. This will make it so +// that delegate, key, available, contentready, etc all will +// be available through Node.on +Y.mix(Y_Node.DOM_EVENTS, Y.Env.evt.plugins); + +Y.augment(Y_Node, Y.EventTarget); + +Y.mix(Y_Node.prototype, { + /** + * Removes event listeners from the node and (optionally) its subtree + * @method purge + * @param {Boolean} recurse (optional) Whether or not to remove listeners from the + * node's subtree + * @param {String} type (optional) Only remove listeners of the specified type + * @chainable + * + */ + purge: function(recurse, type) { + Y.Event.purgeElement(this._node, recurse, type); + return this; + } + +}); + +Y.mix(Y.NodeList.prototype, { + _prepEvtArgs: function(type, fn, context) { + // map to Y.on/after signature (type, fn, nodes, context, arg1, arg2, etc) + var args = Y.Array(arguments, 0, true); + + if (args.length < 2) { // type only (event hash) just add nodes + args[2] = this._nodes; + } else { + args.splice(2, 0, this._nodes); + } + + args[3] = context || this; // default to NodeList instance as context + + return args; + }, + + /** + Subscribe a callback function for each `Node` in the collection to execute + in response to a DOM event. + + NOTE: Generally, the `on()` method should be avoided on `NodeLists`, in + favor of using event delegation from a parent Node. See the Event user + guide for details. + + Most DOM events are associated with a preventable default behavior, such as + link clicks navigating to a new page. Callbacks are passed a + `DOMEventFacade` object as their first argument (usually called `e`) that + can be used to prevent this default behavior with `e.preventDefault()`. See + the `DOMEventFacade` API for all available properties and methods on the + object. + + By default, the `this` object will be the `NodeList` that the subscription + came from, not the `Node` that received the event. Use + `e.currentTarget` to refer to the `Node`. + + Returning `false` from a callback is supported as an alternative to calling + `e.preventDefault(); e.stopPropagation();`. However, it is recommended to + use the event methods. + + @example + + Y.all(".sku").on("keydown", function (e) { + if (e.keyCode === 13) { + e.preventDefault(); + + // Use e.currentTarget to refer to the individual Node + var item = Y.MyApp.searchInventory( e.currentTarget.get('value') ); + // etc ... + } + }); + + @method on + @param {String} type The name of the event + @param {Function} fn The callback to execute in response to the event + @param {Object} [context] Override `this` object in callback + @param {Any} [arg*] 0..n additional arguments to supply to the subscriber + @return {EventHandle} A subscription handle capable of detaching that + subscription + @for NodeList + **/ + on: function(type, fn, context) { + return Y.on.apply(Y, this._prepEvtArgs.apply(this, arguments)); + }, + + /** + * Applies an one-time event listener to each Node bound to the NodeList. + * @method once + * @param {String} type The event being listened for + * @param {Function} fn The handler to call when the event fires + * @param {Object} context The context to call the handler with. + * Default is the NodeList instance. + * @return {EventHandle} A subscription handle capable of detaching that + * subscription + * @for NodeList + */ + once: function(type, fn, context) { + return Y.once.apply(Y, this._prepEvtArgs.apply(this, arguments)); + }, + + /** + * Applies an event listener to each Node bound to the NodeList. + * The handler is called only after all on() handlers are called + * and the event is not prevented. + * @method after + * @param {String} type The event being listened for + * @param {Function} fn The handler to call when the event fires + * @param {Object} context The context to call the handler with. + * Default is the NodeList instance. + * @return {EventHandle} A subscription handle capable of detaching that + * subscription + * @for NodeList + */ + after: function(type, fn, context) { + return Y.after.apply(Y, this._prepEvtArgs.apply(this, arguments)); + }, + + /** + * Applies an one-time event listener to each Node bound to the NodeList + * that will be called only after all on() handlers are called and the + * event is not prevented. + * + * @method onceAfter + * @param {String} type The event being listened for + * @param {Function} fn The handler to call when the event fires + * @param {Object} context The context to call the handler with. + * Default is the NodeList instance. + * @return {EventHandle} A subscription handle capable of detaching that + * subscription + * @for NodeList + */ + onceAfter: function(type, fn, context) { + return Y.onceAfter.apply(Y, this._prepEvtArgs.apply(this, arguments)); + } +}); + +Y_NodeList.importMethod(Y.Node.prototype, [ + /** + * Called on each Node instance + * @method detach + * @see Node.detach + * @for NodeList + */ + 'detach', + + /** Called on each Node instance + * @method detachAll + * @see Node.detachAll + * @for NodeList + */ + 'detachAll' +]); + +/** +Subscribe a callback function to execute in response to a DOM event or custom +event. + +Most DOM events are associated with a preventable default behavior such as +link clicks navigating to a new page. Callbacks are passed a `DOMEventFacade` +object as their first argument (usually called `e`) that can be used to +prevent this default behavior with `e.preventDefault()`. See the +`DOMEventFacade` API for all available properties and methods on the object. + +If the event name passed as the first parameter is not a whitelisted DOM event, +it will be treated as a custom event subscriptions, allowing +`node.fire('customEventName')` later in the code. Refer to the Event user guide +for the full DOM event whitelist. + +By default, the `this` object in the callback will refer to the subscribed +`Node`. + +Returning `false` from a callback is supported as an alternative to calling +`e.preventDefault(); e.stopPropagation();`. However, it is recommended to use +the event methods. + +@example + + Y.one("#my-form").on("submit", function (e) { + e.preventDefault(); + + // proceed with ajax form submission instead... + }); + +@method on +@param {String} type The name of the event +@param {Function} fn The callback to execute in response to the event +@param {Object} [context] Override `this` object in callback +@param {Any} [arg*] 0..n additional arguments to supply to the subscriber +@return {EventHandle} A subscription handle capable of detaching that + subscription +@for Node +**/ + +Y.mix(Y.Node.ATTRS, { + offsetHeight: { + setter: function(h) { + Y.DOM.setHeight(this._node, h); + return h; + }, + + getter: function() { + return this._node.offsetHeight; + } + }, + + offsetWidth: { + setter: function(w) { + Y.DOM.setWidth(this._node, w); + return w; + }, + + getter: function() { + return this._node.offsetWidth; + } + } +}); + +Y.mix(Y.Node.prototype, { + sizeTo: function(w, h) { + var node; + if (arguments.length < 2) { + node = Y.one(w); + w = node.get('offsetWidth'); + h = node.get('offsetHeight'); + } + + this.setAttrs({ + offsetWidth: w, + offsetHeight: h + }); + } +}); +/** + * @module node + * @submodule node-base + */ + +var Y_Node = Y.Node; + +Y.mix(Y_Node.prototype, { + /** + * Makes the node visible. + * If the "transition" module is loaded, show optionally + * animates the showing of the node using either the default + * transition effect ('fadeIn'), or the given named effect. + * @method show + * @for Node + * @param {String} name A named Transition effect to use as the show effect. + * @param {Object} config Options to use with the transition. + * @param {Function} callback An optional function to run after the transition completes. + * @chainable + */ + show: function(callback) { + callback = arguments[arguments.length - 1]; + this.toggleView(true, callback); + return this; + }, + + /** + * The implementation for showing nodes. + * Default is to toggle the style.display property. + * @method _show + * @protected + * @chainable + */ + _show: function() { + this.setStyle('display', ''); + + }, + + _isHidden: function() { + return Y.DOM.getStyle(this._node, 'display') === 'none'; + }, + + /** + * Displays or hides the node. + * If the "transition" module is loaded, toggleView optionally + * animates the toggling of the node using either the default + * transition effect ('fadeIn'), or the given named effect. + * @method toggleView + * @for Node + * @param {Boolean} [on] An optional boolean value to force the node to be shown or hidden + * @param {Function} [callback] An optional function to run after the transition completes. + * @chainable + */ + toggleView: function(on, callback) { + this._toggleView.apply(this, arguments); + return this; + }, + + _toggleView: function(on, callback) { + callback = arguments[arguments.length - 1]; + + // base on current state if not forcing + if (typeof on != 'boolean') { + on = (this._isHidden()) ? 1 : 0; + } + + if (on) { + this._show(); + } else { + this._hide(); + } + + if (typeof callback == 'function') { + callback.call(this); + } + + return this; + }, + + /** + * Hides the node. + * If the "transition" module is loaded, hide optionally + * animates the hiding of the node using either the default + * transition effect ('fadeOut'), or the given named effect. + * @method hide + * @param {String} name A named Transition effect to use as the show effect. + * @param {Object} config Options to use with the transition. + * @param {Function} callback An optional function to run after the transition completes. + * @chainable + */ + hide: function(callback) { + callback = arguments[arguments.length - 1]; + this.toggleView(false, callback); + return this; + }, + + /** + * The implementation for hiding nodes. + * Default is to toggle the style.display property. + * @method _hide + * @protected + * @chainable + */ + _hide: function() { + this.setStyle('display', 'none'); + } +}); + +Y.NodeList.importMethod(Y.Node.prototype, [ + /** + * Makes each node visible. + * If the "transition" module is loaded, show optionally + * animates the showing of the node using either the default + * transition effect ('fadeIn'), or the given named effect. + * @method show + * @param {String} name A named Transition effect to use as the show effect. + * @param {Object} config Options to use with the transition. + * @param {Function} callback An optional function to run after the transition completes. + * @for NodeList + * @chainable + */ + 'show', + + /** + * Hides each node. + * If the "transition" module is loaded, hide optionally + * animates the hiding of the node using either the default + * transition effect ('fadeOut'), or the given named effect. + * @method hide + * @param {String} name A named Transition effect to use as the show effect. + * @param {Object} config Options to use with the transition. + * @param {Function} callback An optional function to run after the transition completes. + * @chainable + */ + 'hide', + + /** + * Displays or hides each node. + * If the "transition" module is loaded, toggleView optionally + * animates the toggling of the nodes using either the default + * transition effect ('fadeIn'), or the given named effect. + * @method toggleView + * @param {Boolean} [on] An optional boolean value to force the nodes to be shown or hidden + * @param {Function} [callback] An optional function to run after the transition completes. + * @chainable + */ + 'toggleView' +]); + +if (!Y.config.doc.documentElement.hasAttribute) { // IE < 8 + Y.Node.prototype.hasAttribute = function(attr) { + if (attr === 'value') { + if (this.get('value') !== "") { // IE < 8 fails to populate specified when set in HTML + return true; + } + } + return !!(this._node.attributes[attr] && + this._node.attributes[attr].specified); + }; +} + +// IE throws an error when calling focus() on an element that's invisible, not +// displayed, or disabled. +Y.Node.prototype.focus = function () { + try { + this._node.focus(); + } catch (e) { + } + + return this; +}; + +// IE throws error when setting input.type = 'hidden', +// input.setAttribute('type', 'hidden') and input.attributes.type.value = 'hidden' +Y.Node.ATTRS.type = { + setter: function(val) { + if (val === 'hidden') { + try { + this._node.type = 'hidden'; + } catch(e) { + this.setStyle('display', 'none'); + this._inputType = 'hidden'; + } + } else { + try { // IE errors when changing the type from "hidden' + this._node.type = val; + } catch (e) { + } + } + return val; + }, + + getter: function() { + return this._inputType || this._node.type; + }, + + _bypassProxy: true // don't update DOM when using with Attribute +}; + +if (Y.config.doc.createElement('form').elements.nodeType) { + // IE: elements collection is also FORM node which trips up scrubVal. + Y.Node.ATTRS.elements = { + getter: function() { + return this.all('input, textarea, button, select'); + } + }; +} + +/** + * Provides methods for managing custom Node data. + * + * @module node + * @main node + * @submodule node-data + */ + +Y.mix(Y.Node.prototype, { + _initData: function() { + if (! ('_data' in this)) { + this._data = {}; + } + }, + + /** + * @method getData + * @for Node + * @description Retrieves arbitrary data stored on a Node instance. + * If no data is associated with the Node, it will attempt to retrieve + * a value from the corresponding HTML data attribute. (e.g. node.getData('foo') + * will check node.getAttribute('data-foo')). + * @param {string} name Optional name of the data field to retrieve. + * If no name is given, all data is returned. + * @return {any | Object} Whatever is stored at the given field, + * or an object hash of all fields. + */ + getData: function(name) { + this._initData(); + var data = this._data, + ret = data; + + if (arguments.length) { // single field + if (name in data) { + ret = data[name]; + } else { // initialize from HTML attribute + ret = this._getDataAttribute(name); + } + } else if (typeof data == 'object' && data !== null) { // all fields + ret = {}; + Y.Object.each(data, function(v, n) { + ret[n] = v; + }); + + ret = this._getDataAttributes(ret); + } + + return ret; + + }, + + _getDataAttributes: function(ret) { + ret = ret || {}; + var i = 0, + attrs = this._node.attributes, + len = attrs.length, + prefix = this.DATA_PREFIX, + prefixLength = prefix.length, + name; + + while (i < len) { + name = attrs[i].name; + if (name.indexOf(prefix) === 0) { + name = name.substr(prefixLength); + if (!(name in ret)) { // only merge if not already stored + ret[name] = this._getDataAttribute(name); + } + } + + i += 1; + } + + return ret; + }, + + _getDataAttribute: function(name) { + var name = this.DATA_PREFIX + name, + node = this._node, + attrs = node.attributes, + data = attrs && attrs[name] && attrs[name].value; + + return data; + }, + + /** + * @method setData + * @for Node + * @description Stores arbitrary data on a Node instance. + * This is not stored with the DOM node. + * @param {string} name The name of the field to set. If no name + * is given, name is treated as the data and overrides any existing data. + * @param {any} val The value to be assigned to the field. + * @chainable + */ + setData: function(name, val) { + this._initData(); + if (arguments.length > 1) { + this._data[name] = val; + } else { + this._data = name; + } + + return this; + }, + + /** + * @method clearData + * @for Node + * @description Clears internally stored data. + * @param {string} name The name of the field to clear. If no name + * is given, all data is cleared. + * @chainable + */ + clearData: function(name) { + if ('_data' in this) { + if (typeof name != 'undefined') { + delete this._data[name]; + } else { + delete this._data; + } + } + + return this; + } +}); + +Y.mix(Y.NodeList.prototype, { + /** + * @method getData + * @for NodeList + * @description Retrieves arbitrary data stored on each Node instance + * bound to the NodeList. + * @see Node + * @param {string} name Optional name of the data field to retrieve. + * If no name is given, all data is returned. + * @return {Array} An array containing all of the data for each Node instance. + * or an object hash of all fields. + */ + getData: function(name) { + var args = (arguments.length) ? [name] : []; + return this._invoke('getData', args, true); + }, + + /** + * @method setData + * @for NodeList + * @description Stores arbitrary data on each Node instance bound to the + * NodeList. This is not stored with the DOM node. + * @param {string} name The name of the field to set. If no name + * is given, name is treated as the data and overrides any existing data. + * @param {any} val The value to be assigned to the field. + * @chainable + */ + setData: function(name, val) { + var args = (arguments.length > 1) ? [name, val] : [name]; + return this._invoke('setData', args); + }, + + /** + * @method clearData + * @for NodeList + * @description Clears data on all Node instances bound to the NodeList. + * @param {string} name The name of the field to clear. If no name + * is given, all data is cleared. + * @chainable + */ + clearData: function(name) { + var args = (arguments.length) ? [name] : []; + return this._invoke('clearData', [name]); + } +}); + + +}, '3.6.0pr3' ,{requires:['dom-base', 'node-core', 'event-base']}); +(function () { +var GLOBAL_ENV = YUI.Env; + +if (!GLOBAL_ENV._ready) { + GLOBAL_ENV._ready = function() { + GLOBAL_ENV.DOMReady = true; + GLOBAL_ENV.remove(YUI.config.doc, 'DOMContentLoaded', GLOBAL_ENV._ready); + }; + + GLOBAL_ENV.add(YUI.config.doc, 'DOMContentLoaded', GLOBAL_ENV._ready); +} +})(); +YUI.add('event-base', function(Y) { + +/* + * DOM event listener abstraction layer + * @module event + * @submodule event-base + */ + +/** + * The domready event fires at the moment the browser's DOM is + * usable. In most cases, this is before images are fully + * downloaded, allowing you to provide a more responsive user + * interface. + * + * In YUI 3, domready subscribers will be notified immediately if + * that moment has already passed when the subscription is created. + * + * One exception is if the yui.js file is dynamically injected into + * the page. If this is done, you must tell the YUI instance that + * you did this in order for DOMReady (and window load events) to + * fire normally. That configuration option is 'injected' -- set + * it to true if the yui.js script is not included inline. + * + * This method is part of the 'event-ready' module, which is a + * submodule of 'event'. + * + * @event domready + * @for YUI + */ +Y.publish('domready', { + fireOnce: true, + async: true +}); + +if (YUI.Env.DOMReady) { + Y.fire('domready'); +} else { + Y.Do.before(function() { Y.fire('domready'); }, YUI.Env, '_ready'); +} + +/** + * Custom event engine, DOM event listener abstraction layer, synthetic DOM + * events. + * @module event + * @submodule event-base + */ + +/** + * Wraps a DOM event, properties requiring browser abstraction are + * fixed here. Provids a security layer when required. + * @class DOMEventFacade + * @param ev {Event} the DOM event + * @param currentTarget {HTMLElement} the element the listener was attached to + * @param wrapper {Event.Custom} the custom event wrapper for this DOM event + */ + + var ua = Y.UA, + + EMPTY = {}, + + /** + * webkit key remapping required for Safari < 3.1 + * @property webkitKeymap + * @private + */ + webkitKeymap = { + 63232: 38, // up + 63233: 40, // down + 63234: 37, // left + 63235: 39, // right + 63276: 33, // page up + 63277: 34, // page down + 25: 9, // SHIFT-TAB (Safari provides a different key code in + // this case, even though the shiftKey modifier is set) + 63272: 46, // delete + 63273: 36, // home + 63275: 35 // end + }, + + /** + * Returns a wrapped node. Intended to be used on event targets, + * so it will return the node's parent if the target is a text + * node. + * + * If accessing a property of the node throws an error, this is + * probably the anonymous div wrapper Gecko adds inside text + * nodes. This likely will only occur when attempting to access + * the relatedTarget. In this case, we now return null because + * the anonymous div is completely useless and we do not know + * what the related target was because we can't even get to + * the element's parent node. + * + * @method resolve + * @private + */ + resolve = function(n) { + if (!n) { + return n; + } + try { + if (n && 3 == n.nodeType) { + n = n.parentNode; + } + } catch(e) { + return null; + } + + return Y.one(n); + }, + + DOMEventFacade = function(ev, currentTarget, wrapper) { + this._event = ev; + this._currentTarget = currentTarget; + this._wrapper = wrapper || EMPTY; + + // if not lazy init + this.init(); + }; + +Y.extend(DOMEventFacade, Object, { + + init: function() { + + var e = this._event, + overrides = this._wrapper.overrides, + x = e.pageX, + y = e.pageY, + c, + currentTarget = this._currentTarget; + + this.altKey = e.altKey; + this.ctrlKey = e.ctrlKey; + this.metaKey = e.metaKey; + this.shiftKey = e.shiftKey; + this.type = (overrides && overrides.type) || e.type; + this.clientX = e.clientX; + this.clientY = e.clientY; + + this.pageX = x; + this.pageY = y; + + // charCode is unknown in keyup, keydown. keyCode is unknown in keypress. + // FF 3.6 - 8+? pass 0 for keyCode in keypress events. + // Webkit, FF 3.6-8+?, and IE9+? pass 0 for charCode in keydown, keyup. + // Webkit and IE9+? duplicate charCode in keyCode. + // Opera never sets charCode, always keyCode (though with the charCode). + // IE6-8 don't set charCode or which. + // All browsers other than IE6-8 set which=keyCode in keydown, keyup, and + // which=charCode in keypress. + // + // Moral of the story: (e.which || e.keyCode) will always return the + // known code for that key event phase. e.keyCode is often different in + // keypress from keydown and keyup. + c = e.keyCode || e.charCode; + + if (ua.webkit && (c in webkitKeymap)) { + c = webkitKeymap[c]; + } + + this.keyCode = c; + this.charCode = c; + // Fill in e.which for IE - implementers should always use this over + // e.keyCode or e.charCode. + this.which = e.which || e.charCode || c; + // this.button = e.button; + this.button = this.which; + + this.target = resolve(e.target); + this.currentTarget = resolve(currentTarget); + this.relatedTarget = resolve(e.relatedTarget); + + if (e.type == "mousewheel" || e.type == "DOMMouseScroll") { + this.wheelDelta = (e.detail) ? (e.detail * -1) : Math.round(e.wheelDelta / 80) || ((e.wheelDelta < 0) ? -1 : 1); + } + + if (this._touch) { + this._touch(e, currentTarget, this._wrapper); + } + }, + + stopPropagation: function() { + this._event.stopPropagation(); + this._wrapper.stopped = 1; + this.stopped = 1; + }, + + stopImmediatePropagation: function() { + var e = this._event; + if (e.stopImmediatePropagation) { + e.stopImmediatePropagation(); + } else { + this.stopPropagation(); + } + this._wrapper.stopped = 2; + this.stopped = 2; + }, + + preventDefault: function(returnValue) { + var e = this._event; + e.preventDefault(); + e.returnValue = returnValue || false; + this._wrapper.prevented = 1; + this.prevented = 1; + }, + + halt: function(immediate) { + if (immediate) { + this.stopImmediatePropagation(); + } else { + this.stopPropagation(); + } + + this.preventDefault(); + } + +}); + +DOMEventFacade.resolve = resolve; +Y.DOM2EventFacade = DOMEventFacade; +Y.DOMEventFacade = DOMEventFacade; + + /** + * The native event + * @property _event + * @type {Native DOM Event} + * @private + */ + + /** + The name of the event (e.g. "click") + + @property type + @type {String} + **/ + + /** + `true` if the "alt" or "option" key is pressed. + + @property altKey + @type {Boolean} + **/ + + /** + `true` if the shift key is pressed. + + @property shiftKey + @type {Boolean} + **/ + + /** + `true` if the "Windows" key on a Windows keyboard, "command" key on an + Apple keyboard, or "meta" key on other keyboards is pressed. + + @property metaKey + @type {Boolean} + **/ + + /** + `true` if the "Ctrl" or "control" key is pressed. + + @property ctrlKey + @type {Boolean} + **/ + + /** + * The X location of the event on the page (including scroll) + * @property pageX + * @type {Number} + */ + + /** + * The Y location of the event on the page (including scroll) + * @property pageY + * @type {Number} + */ + + /** + * The X location of the event in the viewport + * @property clientX + * @type {Number} + */ + + /** + * The Y location of the event in the viewport + * @property clientY + * @type {Number} + */ + + /** + * The keyCode for key events. Uses charCode if keyCode is not available + * @property keyCode + * @type {Number} + */ + + /** + * The charCode for key events. Same as keyCode + * @property charCode + * @type {Number} + */ + + /** + * The button that was pushed. 1 for left click, 2 for middle click, 3 for + * right click. This is only reliably populated on `mouseup` events. + * @property button + * @type {Number} + */ + + /** + * The button that was pushed. Same as button. + * @property which + * @type {Number} + */ + + /** + * Node reference for the targeted element + * @property target + * @type {Node} + */ + + /** + * Node reference for the element that the listener was attached to. + * @property currentTarget + * @type {Node} + */ + + /** + * Node reference to the relatedTarget + * @property relatedTarget + * @type {Node} + */ + + /** + * Number representing the direction and velocity of the movement of the mousewheel. + * Negative is down, the higher the number, the faster. Applies to the mousewheel event. + * @property wheelDelta + * @type {Number} + */ + + /** + * Stops the propagation to the next bubble target + * @method stopPropagation + */ + + /** + * Stops the propagation to the next bubble target and + * prevents any additional listeners from being exectued + * on the current target. + * @method stopImmediatePropagation + */ + + /** + * Prevents the event's default behavior + * @method preventDefault + * @param returnValue {string} sets the returnValue of the event to this value + * (rather than the default false value). This can be used to add a customized + * confirmation query to the beforeunload event). + */ + + /** + * Stops the event propagation and prevents the default + * event behavior. + * @method halt + * @param immediate {boolean} if true additional listeners + * on the current target will not be executed + */ +(function() { +/** + * The event utility provides functions to add and remove event listeners, + * event cleansing. It also tries to automatically remove listeners it + * registers during the unload event. + * @module event + * @main event + * @submodule event-base + */ + +/** + * The event utility provides functions to add and remove event listeners, + * event cleansing. It also tries to automatically remove listeners it + * registers during the unload event. + * + * @class Event + * @static + */ + +Y.Env.evt.dom_wrappers = {}; +Y.Env.evt.dom_map = {}; + +var _eventenv = Y.Env.evt, + config = Y.config, + win = config.win, + add = YUI.Env.add, + remove = YUI.Env.remove, + + onLoad = function() { + YUI.Env.windowLoaded = true; + Y.Event._load(); + remove(win, "load", onLoad); + }, + + onUnload = function() { + Y.Event._unload(); + }, + + EVENT_READY = 'domready', + + COMPAT_ARG = '~yui|2|compat~', + + shouldIterate = function(o) { + try { + return (o && typeof o !== "string" && Y.Lang.isNumber(o.length) && + !o.tagName && !o.alert); + } catch(ex) { + return false; + } + + }, + + // aliases to support DOM event subscription clean up when the last + // subscriber is detached. deleteAndClean overrides the DOM event's wrapper + // CustomEvent _delete method. + _ceProtoDelete = Y.CustomEvent.prototype._delete, + _deleteAndClean = function(s) { + var ret = _ceProtoDelete.apply(this, arguments); + + if (!this.subCount && !this.afterCount) { + Y.Event._clean(this); + } + + return ret; + }, + +Event = function() { + + /** + * True after the onload event has fired + * @property _loadComplete + * @type boolean + * @static + * @private + */ + var _loadComplete = false, + + /** + * The number of times to poll after window.onload. This number is + * increased if additional late-bound handlers are requested after + * the page load. + * @property _retryCount + * @static + * @private + */ + _retryCount = 0, + + /** + * onAvailable listeners + * @property _avail + * @static + * @private + */ + _avail = [], + + /** + * Custom event wrappers for DOM events. Key is + * 'event:' + Element uid stamp + event type + * @property _wrappers + * @type Y.Event.Custom + * @static + * @private + */ + _wrappers = _eventenv.dom_wrappers, + + _windowLoadKey = null, + + /** + * Custom event wrapper map DOM events. Key is + * Element uid stamp. Each item is a hash of custom event + * wrappers as provided in the _wrappers collection. This + * provides the infrastructure for getListeners. + * @property _el_events + * @static + * @private + */ + _el_events = _eventenv.dom_map; + + return { + + /** + * The number of times we should look for elements that are not + * in the DOM at the time the event is requested after the document + * has been loaded. The default is 1000@amp;40 ms, so it will poll + * for 40 seconds or until all outstanding handlers are bound + * (whichever comes first). + * @property POLL_RETRYS + * @type int + * @static + * @final + */ + POLL_RETRYS: 1000, + + /** + * The poll interval in milliseconds + * @property POLL_INTERVAL + * @type int + * @static + * @final + */ + POLL_INTERVAL: 40, + + /** + * addListener/removeListener can throw errors in unexpected scenarios. + * These errors are suppressed, the method returns false, and this property + * is set + * @property lastError + * @static + * @type Error + */ + lastError: null, + + + /** + * poll handle + * @property _interval + * @static + * @private + */ + _interval: null, + + /** + * document readystate poll handle + * @property _dri + * @static + * @private + */ + _dri: null, + + /** + * True when the document is initially usable + * @property DOMReady + * @type boolean + * @static + */ + DOMReady: false, + + /** + * @method startInterval + * @static + * @private + */ + startInterval: function() { + if (!Event._interval) { +Event._interval = setInterval(Event._poll, Event.POLL_INTERVAL); + } + }, + + /** + * Executes the supplied callback when the item with the supplied + * id is found. This is meant to be used to execute behavior as + * soon as possible as the page loads. If you use this after the + * initial page load it will poll for a fixed time for the element. + * The number of times it will poll and the frequency are + * configurable. By default it will poll for 10 seconds. + * + *

The callback is executed with a single parameter: + * the custom object parameter, if provided.

+ * + * @method onAvailable + * + * @param {string||string[]} id the id of the element, or an array + * of ids to look for. + * @param {function} fn what to execute when the element is found. + * @param {object} p_obj an optional object to be passed back as + * a parameter to fn. + * @param {boolean|object} p_override If set to true, fn will execute + * in the context of p_obj, if set to an object it + * will execute in the context of that object + * @param checkContent {boolean} check child node readiness (onContentReady) + * @static + * @deprecated Use Y.on("available") + */ + // @TODO fix arguments + onAvailable: function(id, fn, p_obj, p_override, checkContent, compat) { + + var a = Y.Array(id), i, availHandle; + + + for (i=0; iThe callback is executed with a single parameter: + * the custom object parameter, if provided.

+ * + * @method onContentReady + * + * @param {string} id the id of the element to look for. + * @param {function} fn what to execute when the element is ready. + * @param {object} obj an optional object to be passed back as + * a parameter to fn. + * @param {boolean|object} override If set to true, fn will execute + * in the context of p_obj. If an object, fn will + * exectute in the context of that object + * + * @static + * @deprecated Use Y.on("contentready") + */ + // @TODO fix arguments + onContentReady: function(id, fn, obj, override, compat) { + return Event.onAvailable(id, fn, obj, override, true, compat); + }, + + /** + * Adds an event listener + * + * @method attach + * + * @param {String} type The type of event to append + * @param {Function} fn The method the event invokes + * @param {String|HTMLElement|Array|NodeList} el An id, an element + * reference, or a collection of ids and/or elements to assign the + * listener to. + * @param {Object} context optional context object + * @param {Boolean|object} args 0..n arguments to pass to the callback + * @return {EventHandle} an object to that can be used to detach the listener + * + * @static + */ + + attach: function(type, fn, el, context) { + return Event._attach(Y.Array(arguments, 0, true)); + }, + + _createWrapper: function (el, type, capture, compat, facade) { + + var cewrapper, + ek = Y.stamp(el), + key = 'event:' + ek + type; + + if (false === facade) { + key += 'native'; + } + if (capture) { + key += 'capture'; + } + + + cewrapper = _wrappers[key]; + + + if (!cewrapper) { + // create CE wrapper + cewrapper = Y.publish(key, { + silent: true, + bubbles: false, + contextFn: function() { + if (compat) { + return cewrapper.el; + } else { + cewrapper.nodeRef = cewrapper.nodeRef || Y.one(cewrapper.el); + return cewrapper.nodeRef; + } + } + }); + + cewrapper.overrides = {}; + + // for later removeListener calls + cewrapper.el = el; + cewrapper.key = key; + cewrapper.domkey = ek; + cewrapper.type = type; + cewrapper.fn = function(e) { + cewrapper.fire(Event.getEvent(e, el, (compat || (false === facade)))); + }; + cewrapper.capture = capture; + + if (el == win && type == "load") { + // window load happens once + cewrapper.fireOnce = true; + _windowLoadKey = key; + } + cewrapper._delete = _deleteAndClean; + + _wrappers[key] = cewrapper; + _el_events[ek] = _el_events[ek] || {}; + _el_events[ek][key] = cewrapper; + + add(el, type, cewrapper.fn, capture); + } + + return cewrapper; + + }, + + _attach: function(args, conf) { + + var compat, + handles, oEl, cewrapper, context, + fireNow = false, ret, + type = args[0], + fn = args[1], + el = args[2] || win, + facade = conf && conf.facade, + capture = conf && conf.capture, + overrides = conf && conf.overrides; + + if (args[args.length-1] === COMPAT_ARG) { + compat = true; + } + + if (!fn || !fn.call) { +// throw new TypeError(type + " attach call failed, callback undefined"); + return false; + } + + // The el argument can be an array of elements or element ids. + if (shouldIterate(el)) { + + handles=[]; + + Y.each(el, function(v, k) { + args[2] = v; + handles.push(Event._attach(args.slice(), conf)); + }); + + // return (handles.length === 1) ? handles[0] : handles; + return new Y.EventHandle(handles); + + // If the el argument is a string, we assume it is + // actually the id of the element. If the page is loaded + // we convert el to the actual element, otherwise we + // defer attaching the event until the element is + // ready + } else if (Y.Lang.isString(el)) { + + // oEl = (compat) ? Y.DOM.byId(el) : Y.Selector.query(el); + + if (compat) { + oEl = Y.DOM.byId(el); + } else { + + oEl = Y.Selector.query(el); + + switch (oEl.length) { + case 0: + oEl = null; + break; + case 1: + oEl = oEl[0]; + break; + default: + args[2] = oEl; + return Event._attach(args, conf); + } + } + + if (oEl) { + + el = oEl; + + // Not found = defer adding the event until the element is available + } else { + + ret = Event.onAvailable(el, function() { + + ret.handle = Event._attach(args, conf); + + }, Event, true, false, compat); + + return ret; + + } + } + + // Element should be an html element or node + if (!el) { + return false; + } + + if (Y.Node && Y.instanceOf(el, Y.Node)) { + el = Y.Node.getDOMNode(el); + } + + cewrapper = Event._createWrapper(el, type, capture, compat, facade); + if (overrides) { + Y.mix(cewrapper.overrides, overrides); + } + + if (el == win && type == "load") { + + // if the load is complete, fire immediately. + // all subscribers, including the current one + // will be notified. + if (YUI.Env.windowLoaded) { + fireNow = true; + } + } + + if (compat) { + args.pop(); + } + + context = args[3]; + + // set context to the Node if not specified + // ret = cewrapper.on.apply(cewrapper, trimmedArgs); + ret = cewrapper._on(fn, context, (args.length > 4) ? args.slice(4) : null); + + if (fireNow) { + cewrapper.fire(); + } + + return ret; + + }, + + /** + * Removes an event listener. Supports the signature the event was bound + * with, but the preferred way to remove listeners is using the handle + * that is returned when using Y.on + * + * @method detach + * + * @param {String} type the type of event to remove. + * @param {Function} fn the method the event invokes. If fn is + * undefined, then all event handlers for the type of event are + * removed. + * @param {String|HTMLElement|Array|NodeList|EventHandle} el An + * event handle, an id, an element reference, or a collection + * of ids and/or elements to remove the listener from. + * @return {boolean} true if the unbind was successful, false otherwise. + * @static + */ + detach: function(type, fn, el, obj) { + + var args=Y.Array(arguments, 0, true), compat, l, ok, i, + id, ce; + + if (args[args.length-1] === COMPAT_ARG) { + compat = true; + // args.pop(); + } + + if (type && type.detach) { + return type.detach(); + } + + // The el argument can be a string + if (typeof el == "string") { + + // el = (compat) ? Y.DOM.byId(el) : Y.all(el); + if (compat) { + el = Y.DOM.byId(el); + } else { + el = Y.Selector.query(el); + l = el.length; + if (l < 1) { + el = null; + } else if (l == 1) { + el = el[0]; + } + } + // return Event.detach.apply(Event, args); + } + + if (!el) { + return false; + } + + if (el.detach) { + args.splice(2, 1); + return el.detach.apply(el, args); + // The el argument can be an array of elements or element ids. + } else if (shouldIterate(el)) { + ok = true; + for (i=0, l=el.length; i 0); + } + + // onAvailable + notAvail = []; + + executeItem = function (el, item) { + var context, ov = item.override; + try { + if (item.compat) { + if (item.override) { + if (ov === true) { + context = item.obj; + } else { + context = ov; + } + } else { + context = el; + } + item.fn.call(context, item.obj); + } else { + context = item.obj || Y.one(el); + item.fn.apply(context, (Y.Lang.isArray(ov)) ? ov : []); + } + } catch (e) { + } + }; + + // onAvailable + for (i=0,len=_avail.length; i 4 ? Y.Array(arguments, 4, true) : null; + return Y.Event.onAvailable.call(Y.Event, id, fn, o, a); + } +}; + +/** + * Executes the callback as soon as the specified element + * is detected in the DOM with a nextSibling property + * (indicating that the element's children are available). + * This function expects a selector + * string for the element(s) to detect. If you already have + * an element reference, you don't need this event. + * @event contentready + * @param type {string} 'contentready' + * @param fn {function} the callback function to execute. + * @param el {string} an selector for the element(s) to attach. + * @param context optional argument that specifies what 'this' refers to. + * @param args* 0..n additional arguments to pass on to the callback function. + * These arguments will be added after the event object. + * @return {EventHandle} the detach handle + * @for YUI + */ +Y.Env.evt.plugins.contentready = { + on: function(type, fn, id, o) { + var a = arguments.length > 4 ? Y.Array(arguments, 4, true) : null; + return Y.Event.onContentReady.call(Y.Event, id, fn, o, a); + } +}; + + +}, '3.6.0pr3' ,{requires:['event-custom-base']}); +YUI.add('pluginhost-base', function(Y) { + + /** + * Provides the augmentable PluginHost interface, which can be added to any class. + * @module pluginhost + */ + + /** + * Provides the augmentable PluginHost interface, which can be added to any class. + * @module pluginhost-base + */ + + /** + *

+ * An augmentable class, which provides the augmented class with the ability to host plugins. + * It adds plug and unplug methods to the augmented class, which can + * be used to add or remove plugins from instances of the class. + *

+ * + *

Plugins can also be added through the constructor configuration object passed to the host class' constructor using + * the "plugins" property. Supported values for the "plugins" property are those defined by the plug method. + * + * For example the following code would add the AnimPlugin and IOPlugin to Overlay (the plugin host): + *

+ * var o = new Overlay({plugins: [ AnimPlugin, {fn:IOPlugin, cfg:{section:"header"}}]}); + * + *

+ *

+ * Plug.Host's protected _initPlugins and _destroyPlugins + * methods should be invoked by the host class at the appropriate point in the host's lifecyle. + *

+ * + * @class Plugin.Host + */ + + var L = Y.Lang; + + function PluginHost() { + this._plugins = {}; + } + + PluginHost.prototype = { + + /** + * Adds a plugin to the host object. This will instantiate the + * plugin and attach it to the configured namespace on the host object. + * + * @method plug + * @chainable + * @param P {Function | Object |Array} Accepts the plugin class, or an + * object with a "fn" property specifying the plugin class and + * a "cfg" property specifying the configuration for the Plugin. + *

+ * Additionally an Array can also be passed in, with the above function or + * object values, allowing the user to add multiple plugins in a single call. + *

+ * @param config (Optional) If the first argument is the plugin class, the second argument + * can be the configuration for the plugin. + * @return {Base} A reference to the host object + */ + plug: function(Plugin, config) { + var i, ln, ns; + + if (L.isArray(Plugin)) { + for (i = 0, ln = Plugin.length; i < ln; i++) { + this.plug(Plugin[i]); + } + } else { + if (Plugin && !L.isFunction(Plugin)) { + config = Plugin.cfg; + Plugin = Plugin.fn; + } + + // Plugin should be fn by now + if (Plugin && Plugin.NS) { + ns = Plugin.NS; + + config = config || {}; + config.host = this; + + if (this.hasPlugin(ns)) { + // Update config + if (this[ns].setAttrs) { + this[ns].setAttrs(config); + } + } else { + // Create new instance + this[ns] = new Plugin(config); + this._plugins[ns] = Plugin; + } + } + } + return this; + }, + + /** + * Removes a plugin from the host object. This will destroy the + * plugin instance and delete the namepsace from the host object. + * + * @method unplug + * @param {String | Function} plugin The namespace of the plugin, or the plugin class with the static NS namespace property defined. If not provided, + * all registered plugins are unplugged. + * @return {Base} A reference to the host object + * @chainable + */ + unplug: function(plugin) { + var ns = plugin, + plugins = this._plugins; + + if (plugin) { + if (L.isFunction(plugin)) { + ns = plugin.NS; + if (ns && (!plugins[ns] || plugins[ns] !== plugin)) { + ns = null; + } + } + + if (ns) { + if (this[ns]) { + if (this[ns].destroy) { + this[ns].destroy(); + } + delete this[ns]; + } + if (plugins[ns]) { + delete plugins[ns]; + } + } + } else { + for (ns in this._plugins) { + if (this._plugins.hasOwnProperty(ns)) { + this.unplug(ns); + } + } + } + return this; + }, + + /** + * Determines if a plugin has plugged into this host. + * + * @method hasPlugin + * @param {String} ns The plugin's namespace + * @return {Plugin} Returns a truthy value (the plugin instance) if present, or undefined if not. + */ + hasPlugin : function(ns) { + return (this._plugins[ns] && this[ns]); + }, + + /** + * Initializes static plugins registered on the host (using the + * Base.plug static method) and any plugins passed to the + * instance through the "plugins" configuration property. + * + * @method _initPlugins + * @param {Config} config The configuration object with property name/value pairs. + * @private + */ + + _initPlugins: function(config) { + this._plugins = this._plugins || {}; + + if (this._initConfigPlugins) { + this._initConfigPlugins(config); + } + }, + + /** + * Unplugs and destroys all plugins on the host + * @method _destroyPlugins + * @private + */ + _destroyPlugins: function() { + this.unplug(); + } + }; + + Y.namespace("Plugin").Host = PluginHost; + + +}, '3.6.0pr3' ,{requires:['yui-base']}); +YUI.add('pluginhost-config', function(Y) { + + /** + * Adds pluginhost constructor configuration and static configuration support + * @submodule pluginhost-config + */ + + var PluginHost = Y.Plugin.Host, + L = Y.Lang; + + /** + * A protected initialization method, used by the host class to initialize + * plugin configurations passed the constructor, through the config object. + * + * Host objects should invoke this method at the appropriate time in their + * construction lifecycle. + * + * @method _initConfigPlugins + * @param {Object} config The configuration object passed to the constructor + * @protected + * @for Plugin.Host + */ + PluginHost.prototype._initConfigPlugins = function(config) { + + // Class Configuration + var classes = (this._getClasses) ? this._getClasses() : [this.constructor], + plug = [], + unplug = {}, + constructor, i, classPlug, classUnplug, pluginClassName; + + // TODO: Room for optimization. Can we apply statically/unplug in same pass? + for (i = classes.length - 1; i >= 0; i--) { + constructor = classes[i]; + + classUnplug = constructor._UNPLUG; + if (classUnplug) { + // subclasses over-write + Y.mix(unplug, classUnplug, true); + } + + classPlug = constructor._PLUG; + if (classPlug) { + // subclasses over-write + Y.mix(plug, classPlug, true); + } + } + + for (pluginClassName in plug) { + if (plug.hasOwnProperty(pluginClassName)) { + if (!unplug[pluginClassName]) { + this.plug(plug[pluginClassName]); + } + } + } + + // User Configuration + if (config && config.plugins) { + this.plug(config.plugins); + } + }; + + /** + * Registers plugins to be instantiated at the class level (plugins + * which should be plugged into every instance of the class by default). + * + * @method plug + * @static + * + * @param {Function} hostClass The host class on which to register the plugins + * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined) + * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin + * @for Plugin.Host + */ + PluginHost.plug = function(hostClass, plugin, config) { + // Cannot plug into Base, since Plugins derive from Base [ will cause infinite recurrsion ] + var p, i, l, name; + + if (hostClass !== Y.Base) { + hostClass._PLUG = hostClass._PLUG || {}; + + if (!L.isArray(plugin)) { + if (config) { + plugin = {fn:plugin, cfg:config}; + } + plugin = [plugin]; + } + + for (i = 0, l = plugin.length; i < l;i++) { + p = plugin[i]; + name = p.NAME || p.fn.NAME; + hostClass._PLUG[name] = p; + } + } + }; + + /** + * Unregisters any class level plugins which have been registered by the host class, or any + * other class in the hierarchy. + * + * @method unplug + * @static + * + * @param {Function} hostClass The host class from which to unregister the plugins + * @param {Function | Array} plugin The plugin class, or an array of plugin classes + * @for Plugin.Host + */ + PluginHost.unplug = function(hostClass, plugin) { + var p, i, l, name; + + if (hostClass !== Y.Base) { + hostClass._UNPLUG = hostClass._UNPLUG || {}; + + if (!L.isArray(plugin)) { + plugin = [plugin]; + } + + for (i = 0, l = plugin.length; i < l; i++) { + p = plugin[i]; + name = p.NAME; + if (!hostClass._PLUG[name]) { + hostClass._UNPLUG[name] = p; + } else { + delete hostClass._PLUG[name]; + } + } + } + }; + + +}, '3.6.0pr3' ,{requires:['pluginhost-base']}); +YUI.add('event-delegate', function(Y) { + +/** + * Adds event delegation support to the library. + * + * @module event + * @submodule event-delegate + */ + +var toArray = Y.Array, + YLang = Y.Lang, + isString = YLang.isString, + isObject = YLang.isObject, + isArray = YLang.isArray, + selectorTest = Y.Selector.test, + detachCategories = Y.Env.evt.handles; + +/** + *

Sets up event delegation on a container element. The delegated event + * will use a supplied selector or filtering function to test if the event + * references at least one node that should trigger the subscription + * callback.

+ * + *

Selector string filters will trigger the callback if the event originated + * from a node that matches it or is contained in a node that matches it. + * Function filters are called for each Node up the parent axis to the + * subscribing container node, and receive at each level the Node and the event + * object. The function should return true (or a truthy value) if that Node + * should trigger the subscription callback. Note, it is possible for filters + * to match multiple Nodes for a single event. In this case, the delegate + * callback will be executed for each matching Node.

+ * + *

For each matching Node, the callback will be executed with its 'this' + * object set to the Node matched by the filter (unless a specific context was + * provided during subscription), and the provided event's + * currentTarget will also be set to the matching Node. The + * containing Node from which the subscription was originally made can be + * referenced as e.container. + * + * @method delegate + * @param type {String} the event type to delegate + * @param fn {Function} the callback function to execute. This function + * will be provided the event object for the delegated event. + * @param el {String|node} the element that is the delegation container + * @param filter {string|Function} a selector that must match the target of the + * event or a function to test target and its parents for a match + * @param context optional argument that specifies what 'this' refers to. + * @param args* 0..n additional arguments to pass on to the callback function. + * These arguments will be added after the event object. + * @return {EventHandle} the detach handle + * @static + * @for Event + */ +function delegate(type, fn, el, filter) { + var args = toArray(arguments, 0, true), + query = isString(el) ? el : null, + typeBits, synth, container, categories, cat, i, len, handles, handle; + + // Support Y.delegate({ click: fnA, key: fnB }, el, filter, ...); + // and Y.delegate(['click', 'key'], fn, el, filter, ...); + if (isObject(type)) { + handles = []; + + if (isArray(type)) { + for (i = 0, len = type.length; i < len; ++i) { + args[0] = type[i]; + handles.push(Y.delegate.apply(Y, args)); + } + } else { + // Y.delegate({'click', fn}, el, filter) => + // Y.delegate('click', fn, el, filter) + args.unshift(null); // one arg becomes two; need to make space + + for (i in type) { + if (type.hasOwnProperty(i)) { + args[0] = i; + args[1] = type[i]; + handles.push(Y.delegate.apply(Y, args)); + } + } + } + + return new Y.EventHandle(handles); + } + + typeBits = type.split(/\|/); + + if (typeBits.length > 1) { + cat = typeBits.shift(); + args[0] = type = typeBits.shift(); + } + + synth = Y.Node.DOM_EVENTS[type]; + + if (isObject(synth) && synth.delegate) { + handle = synth.delegate.apply(synth, arguments); + } + + if (!handle) { + if (!type || !fn || !el || !filter) { + return; + } + + container = (query) ? Y.Selector.query(query, null, true) : el; + + if (!container && isString(el)) { + handle = Y.on('available', function () { + Y.mix(handle, Y.delegate.apply(Y, args), true); + }, el); + } + + if (!handle && container) { + args.splice(2, 2, container); // remove the filter + + handle = Y.Event._attach(args, { facade: false }); + handle.sub.filter = filter; + handle.sub._notify = delegate.notifySub; + } + } + + if (handle && cat) { + categories = detachCategories[cat] || (detachCategories[cat] = {}); + categories = categories[type] || (categories[type] = []); + categories.push(handle); + } + + return handle; +} + +/** +Overrides the _notify method on the normal DOM subscription to +inject the filtering logic and only proceed in the case of a match. + +This method is hosted as a private property of the `delegate` method +(e.g. `Y.delegate.notifySub`) + +@method notifySub +@param thisObj {Object} default 'this' object for the callback +@param args {Array} arguments passed to the event's fire() +@param ce {CustomEvent} the custom event managing the DOM subscriptions for + the subscribed event on the subscribing node. +@return {Boolean} false if the event was stopped +@private +@static +@since 3.2.0 +**/ +delegate.notifySub = function (thisObj, args, ce) { + // Preserve args for other subscribers + args = args.slice(); + if (this.args) { + args.push.apply(args, this.args); + } + + // Only notify subs if the event occurred on a targeted element + var currentTarget = delegate._applyFilter(this.filter, args, ce), + //container = e.currentTarget, + e, i, len, ret; + + if (currentTarget) { + // Support multiple matches up the the container subtree + currentTarget = toArray(currentTarget); + + // The second arg is the currentTarget, but we'll be reusing this + // facade, replacing the currentTarget for each use, so it doesn't + // matter what element we seed it with. + e = args[0] = new Y.DOMEventFacade(args[0], ce.el, ce); + + e.container = Y.one(ce.el); + + for (i = 0, len = currentTarget.length; i < len && !e.stopped; ++i) { + e.currentTarget = Y.one(currentTarget[i]); + + ret = this.fn.apply(this.context || e.currentTarget, args); + + if (ret === false) { // stop further notifications + break; + } + } + + return ret; + } +}; + +/** +Compiles a selector string into a filter function to identify whether +Nodes along the parent axis of an event's target should trigger event +notification. + +This function is memoized, so previously compiled filter functions are +returned if the same selector string is provided. + +This function may be useful when defining synthetic events for delegate +handling. + +Hosted as a property of the `delegate` method (e.g. `Y.delegate.compileFilter`). + +@method compileFilter +@param selector {String} the selector string to base the filtration on +@return {Function} +@since 3.2.0 +@static +**/ +delegate.compileFilter = Y.cached(function (selector) { + return function (target, e) { + return selectorTest(target._node, selector, + (e.currentTarget === e.target) ? null : e.currentTarget._node); + }; +}); + +/** +Walks up the parent axis of an event's target, and tests each element +against a supplied filter function. If any Nodes, including the container, +satisfy the filter, the delegated callback will be triggered for each. + +Hosted as a protected property of the `delegate` method (e.g. +`Y.delegate._applyFilter`). + +@method _applyFilter +@param filter {Function} boolean function to test for inclusion in event + notification +@param args {Array} the arguments that would be passed to subscribers +@param ce {CustomEvent} the DOM event wrapper +@return {Node|Node[]|undefined} The Node or Nodes that satisfy the filter +@protected +**/ +delegate._applyFilter = function (filter, args, ce) { + var e = args[0], + container = ce.el, // facadeless events in IE, have no e.currentTarget + target = e.target || e.srcElement, + match = [], + isContainer = false; + + // Resolve text nodes to their containing element + if (target.nodeType === 3) { + target = target.parentNode; + } + + // passing target as the first arg rather than leaving well enough alone + // making 'this' in the filter function refer to the target. This is to + // support bound filter functions. + args.unshift(target); + + if (isString(filter)) { + while (target) { + isContainer = (target === container); + if (selectorTest(target, filter, (isContainer ? null: container))) { + match.push(target); + } + + if (isContainer) { + break; + } + + target = target.parentNode; + } + } else { + // filter functions are implementer code and should receive wrappers + args[0] = Y.one(target); + args[1] = new Y.DOMEventFacade(e, container, ce); + + while (target) { + // filter(target, e, extra args...) - this === target + if (filter.apply(args[0], args)) { + match.push(target); + } + + if (target === container) { + break; + } + + target = target.parentNode; + args[0] = Y.one(target); + } + args[1] = e; // restore the raw DOM event + } + + if (match.length <= 1) { + match = match[0]; // single match or undefined + } + + // remove the target + args.shift(); + + return match; +}; + +/** + * Sets up event delegation on a container element. The delegated event + * will use a supplied filter to test if the callback should be executed. + * This filter can be either a selector string or a function that returns + * a Node to use as the currentTarget for the event. + * + * The event object for the delegated event is supplied to the callback + * function. It is modified slightly in order to support all properties + * that may be needed for event delegation. 'currentTarget' is set to + * the element that matched the selector string filter or the Node returned + * from the filter function. 'container' is set to the element that the + * listener is delegated from (this normally would be the 'currentTarget'). + * + * Filter functions will be called with the arguments that would be passed to + * the callback function, including the event object as the first parameter. + * The function should return false (or a falsey value) if the success criteria + * aren't met, and the Node to use as the event's currentTarget and 'this' + * object if they are. + * + * @method delegate + * @param type {string} the event type to delegate + * @param fn {function} the callback function to execute. This function + * will be provided the event object for the delegated event. + * @param el {string|node} the element that is the delegation container + * @param filter {string|function} a selector that must match the target of the + * event or a function that returns a Node or false. + * @param context optional argument that specifies what 'this' refers to. + * @param args* 0..n additional arguments to pass on to the callback function. + * These arguments will be added after the event object. + * @return {EventHandle} the detach handle + * @for YUI + */ +Y.delegate = Y.Event.delegate = delegate; + + +}, '3.6.0pr3' ,{requires:['node-base']}); +YUI.add('node-event-delegate', function(Y) { + +/** + * Functionality to make the node a delegated event container + * @module node + * @submodule node-event-delegate + */ + +/** + *

Sets up a delegation listener for an event occurring inside the Node. + * The delegated event will be verified against a supplied selector or + * filtering function to test if the event references at least one node that + * should trigger the subscription callback.

+ * + *

Selector string filters will trigger the callback if the event originated + * from a node that matches it or is contained in a node that matches it. + * Function filters are called for each Node up the parent axis to the + * subscribing container node, and receive at each level the Node and the event + * object. The function should return true (or a truthy value) if that Node + * should trigger the subscription callback. Note, it is possible for filters + * to match multiple Nodes for a single event. In this case, the delegate + * callback will be executed for each matching Node.

+ * + *

For each matching Node, the callback will be executed with its 'this' + * object set to the Node matched by the filter (unless a specific context was + * provided during subscription), and the provided event's + * currentTarget will also be set to the matching Node. The + * containing Node from which the subscription was originally made can be + * referenced as e.container. + * + * @method delegate + * @param type {String} the event type to delegate + * @param fn {Function} the callback function to execute. This function + * will be provided the event object for the delegated event. + * @param spec {String|Function} a selector that must match the target of the + * event or a function to test target and its parents for a match + * @param context {Object} optional argument that specifies what 'this' refers to. + * @param args* {any} 0..n additional arguments to pass on to the callback function. + * These arguments will be added after the event object. + * @return {EventHandle} the detach handle + * @for Node + */ +Y.Node.prototype.delegate = function(type) { + + var args = Y.Array(arguments, 0, true), + index = (Y.Lang.isObject(type) && !Y.Lang.isArray(type)) ? 1 : 2; + + args.splice(index, 0, this._node); + + return Y.delegate.apply(Y, args); +}; + + +}, '3.6.0pr3' ,{requires:['node-base', 'event-delegate']}); +YUI.add('node-pluginhost', function(Y) { + +/** + * @module node + * @submodule node-pluginhost + */ + +/** + * Registers plugins to be instantiated at the class level (plugins + * which should be plugged into every instance of Node by default). + * + * @method plug + * @static + * @for Node + * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined) + * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin + */ +Y.Node.plug = function() { + var args = Y.Array(arguments); + args.unshift(Y.Node); + Y.Plugin.Host.plug.apply(Y.Base, args); + return Y.Node; +}; + +/** + * Unregisters any class level plugins which have been registered by the Node + * + * @method unplug + * @static + * + * @param {Function | Array} plugin The plugin class, or an array of plugin classes + */ +Y.Node.unplug = function() { + var args = Y.Array(arguments); + args.unshift(Y.Node); + Y.Plugin.Host.unplug.apply(Y.Base, args); + return Y.Node; +}; + +Y.mix(Y.Node, Y.Plugin.Host, false, null, 1); + +// allow batching of plug/unplug via NodeList +// doesn't use NodeList.importMethod because we need real Nodes (not tmpNode) +/** + * Adds a plugin to each node in the NodeList. + * This will instantiate the plugin and attach it to the configured namespace on each node + * @method plug + * @for NodeList + * @param P {Function | Object |Array} Accepts the plugin class, or an + * object with a "fn" property specifying the plugin class and + * a "cfg" property specifying the configuration for the Plugin. + *

+ * Additionally an Array can also be passed in, with the above function or + * object values, allowing the user to add multiple plugins in a single call. + *

+ * @param config (Optional) If the first argument is the plugin class, the second argument + * can be the configuration for the plugin. + * @chainable + */ +Y.NodeList.prototype.plug = function() { + var args = arguments; + Y.NodeList.each(this, function(node) { + Y.Node.prototype.plug.apply(Y.one(node), args); + }); + return this; +}; + +/** + * Removes a plugin from all nodes in the NodeList. This will destroy the + * plugin instance and delete the namespace each node. + * @method unplug + * @for NodeList + * @param {String | Function} plugin The namespace of the plugin, or the plugin class with the static NS namespace property defined. If not provided, + * all registered plugins are unplugged. + * @chainable + */ +Y.NodeList.prototype.unplug = function() { + var args = arguments; + Y.NodeList.each(this, function(node) { + Y.Node.prototype.unplug.apply(Y.one(node), args); + }); + return this; +}; + + +}, '3.6.0pr3' ,{requires:['node-base', 'pluginhost']}); +YUI.add('node-screen', function(Y) { + +/** + * Extended Node interface for managing regions and screen positioning. + * Adds support for positioning elements and normalizes window size and scroll detection. + * @module node + * @submodule node-screen + */ + +// these are all "safe" returns, no wrapping required +Y.each([ + /** + * Returns the inner width of the viewport (exludes scrollbar). + * @config winWidth + * @for Node + * @type {Int} + */ + 'winWidth', + + /** + * Returns the inner height of the viewport (exludes scrollbar). + * @config winHeight + * @type {Int} + */ + 'winHeight', + + /** + * Document width + * @config winHeight + * @type {Int} + */ + 'docWidth', + + /** + * Document height + * @config docHeight + * @type {Int} + */ + 'docHeight', + + /** + * Pixel distance the page has been scrolled horizontally + * @config docScrollX + * @type {Int} + */ + 'docScrollX', + + /** + * Pixel distance the page has been scrolled vertically + * @config docScrollY + * @type {Int} + */ + 'docScrollY' + ], + function(name) { + Y.Node.ATTRS[name] = { + getter: function() { + var args = Array.prototype.slice.call(arguments); + args.unshift(Y.Node.getDOMNode(this)); + + return Y.DOM[name].apply(this, args); + } + }; + } +); + +Y.Node.ATTRS.scrollLeft = { + getter: function() { + var node = Y.Node.getDOMNode(this); + return ('scrollLeft' in node) ? node.scrollLeft : Y.DOM.docScrollX(node); + }, + + setter: function(val) { + var node = Y.Node.getDOMNode(this); + if (node) { + if ('scrollLeft' in node) { + node.scrollLeft = val; + } else if (node.document || node.nodeType === 9) { + Y.DOM._getWin(node).scrollTo(val, Y.DOM.docScrollY(node)); // scroll window if win or doc + } + } else { + } + } +}; + +Y.Node.ATTRS.scrollTop = { + getter: function() { + var node = Y.Node.getDOMNode(this); + return ('scrollTop' in node) ? node.scrollTop : Y.DOM.docScrollY(node); + }, + + setter: function(val) { + var node = Y.Node.getDOMNode(this); + if (node) { + if ('scrollTop' in node) { + node.scrollTop = val; + } else if (node.document || node.nodeType === 9) { + Y.DOM._getWin(node).scrollTo(Y.DOM.docScrollX(node), val); // scroll window if win or doc + } + } else { + } + } +}; + +Y.Node.importMethod(Y.DOM, [ +/** + * Gets the current position of the node in page coordinates. + * @method getXY + * @for Node + * @return {Array} The XY position of the node +*/ + 'getXY', + +/** + * Set the position of the node in page coordinates, regardless of how the node is positioned. + * @method setXY + * @param {Array} xy Contains X & Y values for new position (coordinates are page-based) + * @chainable + */ + 'setXY', + +/** + * Gets the current position of the node in page coordinates. + * @method getX + * @return {Int} The X position of the node +*/ + 'getX', + +/** + * Set the position of the node in page coordinates, regardless of how the node is positioned. + * @method setX + * @param {Int} x X value for new position (coordinates are page-based) + * @chainable + */ + 'setX', + +/** + * Gets the current position of the node in page coordinates. + * @method getY + * @return {Int} The Y position of the node +*/ + 'getY', + +/** + * Set the position of the node in page coordinates, regardless of how the node is positioned. + * @method setY + * @param {Int} y Y value for new position (coordinates are page-based) + * @chainable + */ + 'setY', + +/** + * Swaps the XY position of this node with another node. + * @method swapXY + * @param {Node | HTMLElement} otherNode The node to swap with. + * @chainable + */ + 'swapXY' +]); + +/** + * @module node + * @submodule node-screen + */ + +/** + * Returns a region object for the node + * @config region + * @for Node + * @type Node + */ +Y.Node.ATTRS.region = { + getter: function() { + var node = this.getDOMNode(), + region; + + if (node && !node.tagName) { + if (node.nodeType === 9) { // document + node = node.documentElement; + } + } + if (Y.DOM.isWindow(node)) { + region = Y.DOM.viewportRegion(node); + } else { + region = Y.DOM.region(node); + } + return region; + } +}; + +/** + * Returns a region object for the node's viewport + * @config viewportRegion + * @type Node + */ +Y.Node.ATTRS.viewportRegion = { + getter: function() { + return Y.DOM.viewportRegion(Y.Node.getDOMNode(this)); + } +}; + +Y.Node.importMethod(Y.DOM, 'inViewportRegion'); + +// these need special treatment to extract 2nd node arg +/** + * Compares the intersection of the node with another node or region + * @method intersect + * @for Node + * @param {Node|Object} node2 The node or region to compare with. + * @param {Object} altRegion An alternate region to use (rather than this node's). + * @return {Object} An object representing the intersection of the regions. + */ +Y.Node.prototype.intersect = function(node2, altRegion) { + var node1 = Y.Node.getDOMNode(this); + if (Y.instanceOf(node2, Y.Node)) { // might be a region object + node2 = Y.Node.getDOMNode(node2); + } + return Y.DOM.intersect(node1, node2, altRegion); +}; + +/** + * Determines whether or not the node is within the giving region. + * @method inRegion + * @param {Node|Object} node2 The node or region to compare with. + * @param {Boolean} all Whether or not all of the node must be in the region. + * @param {Object} altRegion An alternate region to use (rather than this node's). + * @return {Object} An object representing the intersection of the regions. + */ +Y.Node.prototype.inRegion = function(node2, all, altRegion) { + var node1 = Y.Node.getDOMNode(this); + if (Y.instanceOf(node2, Y.Node)) { // might be a region object + node2 = Y.Node.getDOMNode(node2); + } + return Y.DOM.inRegion(node1, node2, all, altRegion); +}; + + +}, '3.6.0pr3' ,{requires:['node-base', 'dom-screen']}); +YUI.add('node-style', function(Y) { + +(function(Y) { +/** + * Extended Node interface for managing node styles. + * @module node + * @submodule node-style + */ + +Y.mix(Y.Node.prototype, { + /** + * Sets a style property of the node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method setStyle + * @param {String} attr The style attribute to set. + * @param {String|Number} val The value. + * @chainable + */ + setStyle: function(attr, val) { + Y.DOM.setStyle(this._node, attr, val); + return this; + }, + + /** + * Sets multiple style properties on the node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method setStyles + * @param {Object} hash An object literal of property:value pairs. + * @chainable + */ + setStyles: function(hash) { + Y.DOM.setStyles(this._node, hash); + return this; + }, + + /** + * Returns the style's current value. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method getStyle + * @for Node + * @param {String} attr The style attribute to retrieve. + * @return {String} The current value of the style property for the element. + */ + + getStyle: function(attr) { + return Y.DOM.getStyle(this._node, attr); + }, + + /** + * Returns the computed value for the given style property. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method getComputedStyle + * @param {String} attr The style attribute to retrieve. + * @return {String} The computed value of the style property for the element. + */ + getComputedStyle: function(attr) { + return Y.DOM.getComputedStyle(this._node, attr); + } +}); + +/** + * Returns an array of values for each node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method getStyle + * @for NodeList + * @see Node.getStyle + * @param {String} attr The style attribute to retrieve. + * @return {Array} The current values of the style property for the element. + */ + +/** + * Returns an array of the computed value for each node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method getComputedStyle + * @see Node.getComputedStyle + * @param {String} attr The style attribute to retrieve. + * @return {Array} The computed values for each node. + */ + +/** + * Sets a style property on each node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method setStyle + * @see Node.setStyle + * @param {String} attr The style attribute to set. + * @param {String|Number} val The value. + * @chainable + */ + +/** + * Sets multiple style properties on each node. + * Use camelCase (e.g. 'backgroundColor') for multi-word properties. + * @method setStyles + * @see Node.setStyles + * @param {Object} hash An object literal of property:value pairs. + * @chainable + */ + +// These are broken out to handle undefined return (avoid false positive for +// chainable) + +Y.NodeList.importMethod(Y.Node.prototype, ['getStyle', 'getComputedStyle', 'setStyle', 'setStyles']); +})(Y); + + +}, '3.6.0pr3' ,{requires:['dom-style', 'node-base']}); +YUI.add('querystring-stringify-simple', function(Y) { + +/*global Y */ +/** + *

Provides Y.QueryString.stringify method for converting objects to Query Strings. + * This is a subset implementation of the full querystring-stringify.

+ *

This module provides the bare minimum functionality (encoding a hash of simple values), + * without the additional support for nested data structures. Every key-value pair is + * encoded by encodeURIComponent.

+ *

This module provides a minimalistic way for io to handle single-level objects + * as transaction data.

+ * + * @module querystring + * @submodule querystring-stringify-simple + * @for QueryString + * @static + */ + +var QueryString = Y.namespace("QueryString"), + EUC = encodeURIComponent; + +/** + *

Converts a simple object to a Query String representation.

+ *

Nested objects, Arrays, and so on, are not supported.

+ * + * @method stringify + * @for QueryString + * @public + * @submodule querystring-stringify-simple + * @param obj {Object} A single-level object to convert to a querystring. + * @param cfg {Object} (optional) Configuration object. In the simple + * module, only the arrayKey setting is + * supported. When set to true, the key of an + * array will have the '[]' notation appended + * to the key;. + * @static + */ +QueryString.stringify = function (obj, c) { + var qs = [], + // Default behavior is false; standard key notation. + s = c && c.arrayKey ? true : false, + key, i, l; + + for (key in obj) { + if (obj.hasOwnProperty(key)) { + if (Y.Lang.isArray(obj[key])) { + for (i = 0, l = obj[key].length; i < l; i++) { + qs.push(EUC(s ? key + '[]' : key) + '=' + EUC(obj[key][i])); + } + } + else { + qs.push(EUC(key) + '=' + EUC(obj[key])); + } + } + } + + return qs.join('&'); +}; + + +}, '3.6.0pr3' ,{requires:['yui-base']}); +YUI.add('io-base', function(Y) { + +/** +Base IO functionality. Provides basic XHR transport support. +@module io-base +@main io-base +@for IO +**/ + +var // List of events that comprise the IO event lifecycle. + EVENTS = ['start', 'complete', 'end', 'success', 'failure', 'progress'], + + // Whitelist of used XHR response object properties. + XHR_PROPS = ['status', 'statusText', 'responseText', 'responseXML'], + + win = Y.config.win, + uid = 0; + +/** +The IO class is a utility that brokers HTTP requests through a simplified +interface. Specifically, it allows JavaScript to make HTTP requests to +a resource without a page reload. The underlying transport for making +same-domain requests is the XMLHttpRequest object. IO can also use +Flash, if specified as a transport, for cross-domain requests. + +@class IO +@constructor +@param {Object} config Object of EventTarget's publish method configurations + used to configure IO's events. +**/ +function IO (config) { + var io = this; + + io._uid = 'io:' + uid++; + io._init(config); + Y.io._map[io._uid] = io; +} + +IO.prototype = { + //-------------------------------------- + // Properties + //-------------------------------------- + + /** + * A counter that increments for each transaction. + * + * @property _id + * @private + * @type {Number} + */ + _id: 0, + + /** + * Object of IO HTTP headers sent with each transaction. + * + * @property _headers + * @private + * @type {Object} + */ + _headers: { + 'X-Requested-With' : 'XMLHttpRequest' + }, + + /** + * Object that stores timeout values for any transaction with a defined + * "timeout" configuration property. + * + * @property _timeout + * @private + * @type {Object} + */ + _timeout: {}, + + //-------------------------------------- + // Methods + //-------------------------------------- + + _init: function(config) { + var io = this, i, len; + + io.cfg = config || {}; + + Y.augment(io, Y.EventTarget); + for (i = 0, len = EVENTS.length; i < len; ++i) { + // Publish IO global events with configurations, if any. + // IO global events are set to broadcast by default. + // These events use the "io:" namespace. + io.publish('io:' + EVENTS[i], Y.merge({ broadcast: 1 }, config)); + // Publish IO transaction events with configurations, if + // any. These events use the "io-trn:" namespace. + io.publish('io-trn:' + EVENTS[i], config); + } + }, + + /** + * Method that creates a unique transaction object for each request. + * + * @method _create + * @private + * @param {Object} cfg Configuration object subset to determine if + * the transaction is an XDR or file upload, + * requiring an alternate transport. + * @param {Number} id Transaction id + * @return {Object} The transaction object + */ + _create: function(config, id) { + var io = this, + transaction = { + id : Y.Lang.isNumber(id) ? id : io._id++, + uid: io._uid + }, + alt = config.xdr ? config.xdr.use : null, + form = config.form && config.form.upload ? 'iframe' : null, + use; + + if (alt === 'native') { + // Non-IE can use XHR level 2 and not rely on an + // external transport. + alt = Y.UA.ie ? 'xdr' : null; + } + + use = alt || form; + transaction = use ? Y.merge(Y.IO.customTransport(use), transaction) : + Y.merge(Y.IO.defaultTransport(), transaction); + + if (transaction.notify) { + config.notify = function (e, t, c) { io.notify(e, t, c); }; + } + + if (!use) { + if (win && win.FormData && config.data instanceof FormData) { + transaction.c.upload.onprogress = function (e) { + io.progress(transaction, e, config); + }; + transaction.c.onload = function (e) { + io.load(transaction, e, config); + }; + transaction.c.onerror = function (e) { + io.error(transaction, e, config); + }; + transaction.upload = true; + } + } + + return transaction; + }, + + _destroy: function(transaction) { + if (win && !transaction.notify && !transaction.xdr) { + if (XHR && !transaction.upload) { + transaction.c.onreadystatechange = null; + } else if (transaction.upload) { + transaction.c.upload.onprogress = null; + transaction.c.onload = null; + transaction.c.onerror = null; + } else if (Y.UA.ie && !transaction.e) { + // IE, when using XMLHttpRequest as an ActiveX Object, will throw + // a "Type Mismatch" error if the event handler is set to "null". + transaction.c.abort(); + } + } + + transaction = transaction.c = null; + }, + + /** + * Method for creating and firing events. + * + * @method _evt + * @private + * @param {String} eventName Event to be published. + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration data subset for event subscription. + */ + _evt: function(eventName, transaction, config) { + var io = this, params, + args = config['arguments'], + emitFacade = io.cfg.emitFacade, + globalEvent = "io:" + eventName, + trnEvent = "io-trn:" + eventName; + + // Workaround for #2532107 + this.detach(trnEvent); + + if (transaction.e) { + transaction.c = { status: 0, statusText: transaction.e }; + } + + // Fire event with parameters or an Event Facade. + params = [ emitFacade ? + { + id: transaction.id, + data: transaction.c, + cfg: config, + 'arguments': args + } : + transaction.id + ]; + + if (!emitFacade) { + if (eventName === EVENTS[0] || eventName === EVENTS[2]) { + if (args) { + params.push(args); + } + } else { + if (transaction.evt) { + params.push(transaction.evt); + } else { + params.push(transaction.c); + } + if (args) { + params.push(args); + } + } + } + + params.unshift(globalEvent); + // Fire global events. + io.fire.apply(io, params); + // Fire transaction events, if receivers are defined. + if (config.on) { + params[0] = trnEvent; + io.once(trnEvent, config.on[eventName], config.context || Y); + io.fire.apply(io, params); + } + }, + + /** + * Fires event "io:start" and creates, fires a transaction-specific + * start event, if `config.on.start` is defined. + * + * @method start + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration object for the transaction. + */ + start: function(transaction, config) { + /** + * Signals the start of an IO request. + * @event io:start + */ + this._evt(EVENTS[0], transaction, config); + }, + + /** + * Fires event "io:complete" and creates, fires a + * transaction-specific "complete" event, if config.on.complete is + * defined. + * + * @method complete + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration object for the transaction. + */ + complete: function(transaction, config) { + /** + * Signals the completion of the request-response phase of a + * transaction. Response status and data are accessible, if + * available, in this event. + * @event io:complete + */ + this._evt(EVENTS[1], transaction, config); + }, + + /** + * Fires event "io:end" and creates, fires a transaction-specific "end" + * event, if config.on.end is defined. + * + * @method end + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration object for the transaction. + */ + end: function(transaction, config) { + /** + * Signals the end of the transaction lifecycle. + * @event io:end + */ + this._evt(EVENTS[2], transaction, config); + this._destroy(transaction); + }, + + /** + * Fires event "io:success" and creates, fires a transaction-specific + * "success" event, if config.on.success is defined. + * + * @method success + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration object for the transaction. + */ + success: function(transaction, config) { + /** + * Signals an HTTP response with status in the 2xx range. + * Fires after io:complete. + * @event io:success + */ + this._evt(EVENTS[3], transaction, config); + this.end(transaction, config); + }, + + /** + * Fires event "io:failure" and creates, fires a transaction-specific + * "failure" event, if config.on.failure is defined. + * + * @method failure + * @param {Object} transaction Transaction object. + * @param {Object} config Configuration object for the transaction. + */ + failure: function(transaction, config) { + /** + * Signals an HTTP response with status outside of the 2xx range. + * Fires after io:complete. + * @event io:failure + */ + this._evt(EVENTS[4], transaction, config); + this.end(transaction, config); + }, + + /** + * Fires event "io:progress" and creates, fires a transaction-specific + * "progress" event -- for XMLHttpRequest file upload -- if + * config.on.progress is defined. + * + * @method progress + * @param {Object} transaction Transaction object. + * @param {Object} progress event. + * @param {Object} config Configuration object for the transaction. + */ + progress: function(transaction, e, config) { + /** + * Signals the interactive state during a file upload transaction. + * This event fires after io:start and before io:complete. + * @event io:progress + */ + transaction.evt = e; + this._evt(EVENTS[5], transaction, config); + }, + + /** + * Fires event "io:complete" and creates, fires a transaction-specific + * "complete" event -- for XMLHttpRequest file upload -- if + * config.on.complete is defined. + * + * @method load + * @param {Object} transaction Transaction object. + * @param {Object} load event. + * @param {Object} config Configuration object for the transaction. + */ + load: function (transaction, e, config) { + transaction.evt = e.target; + this._evt(EVENTS[1], transaction, config); + }, + + /** + * Fires event "io:failure" and creates, fires a transaction-specific + * "failure" event -- for XMLHttpRequest file upload -- if + * config.on.failure is defined. + * + * @method error + * @param {Object} transaction Transaction object. + * @param {Object} error event. + * @param {Object} config Configuration object for the transaction. + */ + error: function (transaction, e, config) { + transaction.evt = e; + this._evt(EVENTS[4], transaction, config); + }, + + /** + * Retry an XDR transaction, using the Flash tranport, if the native + * transport fails. + * + * @method _retry + * @private + * @param {Object} transaction Transaction object. + * @param {String} uri Qualified path to transaction resource. + * @param {Object} config Configuration object for the transaction. + */ + _retry: function(transaction, uri, config) { + this._destroy(transaction); + config.xdr.use = 'flash'; + return this.send(uri, config, transaction.id); + }, + + /** + * Method that concatenates string data for HTTP GET transactions. + * + * @method _concat + * @private + * @param {String} uri URI or root data. + * @param {String} data Data to be concatenated onto URI. + * @return {String} + */ + _concat: function(uri, data) { + uri += (uri.indexOf('?') === -1 ? '?' : '&') + data; + return uri; + }, + + /** + * Stores default client headers for all transactions. If a label is + * passed with no value argument, the header will be deleted. + * + * @method setHeader + * @param {String} name HTTP header + * @param {String} value HTTP header value + */ + setHeader: function(name, value) { + if (value) { + this._headers[name] = value; + } else { + delete this._headers[name]; + } + }, + + /** + * Method that sets all HTTP headers to be sent in a transaction. + * + * @method _setHeaders + * @private + * @param {Object} transaction - XHR instance for the specific transaction. + * @param {Object} headers - HTTP headers for the specific transaction, as + * defined in the configuration object passed to YUI.io(). + */ + _setHeaders: function(transaction, headers) { + headers = Y.merge(this._headers, headers); + Y.Object.each(headers, function(value, name) { + if (value !== 'disable') { + transaction.setRequestHeader(name, headers[name]); + } + }); + }, + + /** + * Starts timeout count if the configuration object has a defined + * timeout property. + * + * @method _startTimeout + * @private + * @param {Object} transaction Transaction object generated by _create(). + * @param {Object} timeout Timeout in milliseconds. + */ + _startTimeout: function(transaction, timeout) { + var io = this; + + io._timeout[transaction.id] = setTimeout(function() { + io._abort(transaction, 'timeout'); + }, timeout); + }, + + /** + * Clears the timeout interval started by _startTimeout(). + * + * @method _clearTimeout + * @private + * @param {Number} id - Transaction id. + */ + _clearTimeout: function(id) { + clearTimeout(this._timeout[id]); + delete this._timeout[id]; + }, + + /** + * Method that determines if a transaction response qualifies as success + * or failure, based on the response HTTP status code, and fires the + * appropriate success or failure events. + * + * @method _result + * @private + * @static + * @param {Object} transaction Transaction object generated by _create(). + * @param {Object} config Configuration object passed to io(). + */ + _result: function(transaction, config) { + var status; + // Firefox will throw an exception if attempting to access + // an XHR object's status property, after a request is aborted. + try { + status = transaction.c.status; + } catch(e) { + status = 0; + } + + // IE reports HTTP 204 as HTTP 1223. + if (status >= 200 && status < 300 || status === 304 || status === 1223) { + this.success(transaction, config); + } else { + this.failure(transaction, config); + } + }, + + /** + * Event handler bound to onreadystatechange. + * + * @method _rS + * @private + * @param {Object} transaction Transaction object generated by _create(). + * @param {Object} config Configuration object passed to YUI.io(). + */ + _rS: function(transaction, config) { + var io = this; + + if (transaction.c.readyState === 4) { + if (config.timeout) { + io._clearTimeout(transaction.id); + } + + // Yield in the event of request timeout or abort. + setTimeout(function() { + io.complete(transaction, config); + io._result(transaction, config); + }, 0); + } + }, + + /** + * Terminates a transaction due to an explicit abort or timeout. + * + * @method _abort + * @private + * @param {Object} transaction Transaction object generated by _create(). + * @param {String} type Identifies timed out or aborted transaction. + */ + _abort: function(transaction, type) { + if (transaction && transaction.c) { + transaction.e = type; + transaction.c.abort(); + } + }, + + /** + * Requests a transaction. `send()` is implemented as `Y.io()`. Each + * transaction may include a configuration object. Its properties are: + * + *
+ *
method
+ *
HTTP method verb (e.g., GET or POST). If this property is not + * not defined, the default value will be GET.
+ * + *
data
+ *
This is the name-value string that will be sent as the + * transaction data. If the request is HTTP GET, the data become + * part of querystring. If HTTP POST, the data are sent in the + * message body.
+ * + *
xdr
+ *
Defines the transport to be used for cross-domain requests. + * By setting this property, the transaction will use the specified + * transport instead of XMLHttpRequest. The properties of the + * transport object are: + *
+ *
use
+ *
The transport to be used: 'flash' or 'native'
+ *
dataType
+ *
Set the value to 'XML' if that is the expected response + * content type.
+ *
+ * + *
form
+ *
Form serialization configuration object. Its properties are: + *
+ *
id
+ *
Node object or id of HTML form
+ *
useDisabled
+ *
`true` to also serialize disabled form field values + * (defaults to `false`)
+ *
+ * + *
on
+ *
Assigns transaction event subscriptions. Available events are: + *
+ *
start
+ *
Fires when a request is sent to a resource.
+ *
complete
+ *
Fires when the transaction is complete.
+ *
success
+ *
Fires when the HTTP response status is within the 2xx + * range.
+ *
failure
+ *
Fires when the HTTP response status is outside the 2xx + * range, if an exception occurs, if the transation is aborted, + * or if the transaction exceeds a configured `timeout`.
+ *
end
+ *
Fires at the conclusion of the transaction + * lifecycle, after `success` or `failure`.
+ *
+ * + *

Callback functions for `start` and `end` receive the id of the + * transaction as a first argument. For `complete`, `success`, and + * `failure`, callbacks receive the id and the response object + * (usually the XMLHttpRequest instance). If the `arguments` + * property was included in the configuration object passed to + * `Y.io()`, the configured data will be passed to all callbacks as + * the last argument.

+ *
+ * + *
sync
+ *
Pass `true` to make a same-domain transaction synchronous. + * CAVEAT: This will negatively impact the user + * experience. Have a very good reason if you intend to use + * this.
+ * + *
context
+ *
The "`this'" object for all configured event handlers. If a + * specific context is needed for individual callbacks, bind the + * callback to a context using `Y.bind()`.
+ * + *
headers
+ *
Object map of transaction headers to send to the server. The + * object keys are the header names and the values are the header + * values.
+ * + *
timeout
+ *
Millisecond threshold for the transaction before being + * automatically aborted.
+ * + *
arguments
+ *
User-defined data passed to all registered event handlers. + * This value is available as the second argument in the "start" and + * "end" event handlers. It is the third argument in the "complete", + * "success", and "failure" event handlers. Be sure to quote + * this property name in the transaction configuration as + * "arguments" is a reserved word in JavaScript (e.g. + * `Y.io({ ..., "arguments": stuff })`).
+ *
+ * + * @method send + * @public + * @param {String} uri Qualified path to transaction resource. + * @param {Object} config Configuration object for the transaction. + * @param {Number} id Transaction id, if already set. + * @return {Object} + */ + send: function(uri, config, id) { + var transaction, method, i, len, sync, data, + io = this, + u = uri, + response = {}; + + config = config ? Y.Object(config) : {}; + transaction = io._create(config, id); + method = config.method ? config.method.toUpperCase() : 'GET'; + sync = config.sync; + data = config.data; + + // Serialize an map object into a key-value string using + // querystring-stringify-simple. + if ((Y.Lang.isObject(data) && !data.nodeType) && !transaction.upload) { + data = Y.QueryString.stringify(data); + } + + if (config.form) { + if (config.form.upload) { + // This is a file upload transaction, calling + // upload() in io-upload-iframe. + return io.upload(transaction, uri, config); + } else { + // Serialize HTML form data into a key-value string. + data = io._serialize(config.form, data); + } + } + + if (data) { + switch (method) { + case 'GET': + case 'HEAD': + case 'DELETE': + u = io._concat(u, data); + data = ''; + break; + case 'POST': + case 'PUT': + // If Content-Type is defined in the configuration object, or + // or as a default header, it will be used instead of + // 'application/x-www-form-urlencoded; charset=UTF-8' + config.headers = Y.merge({ + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' + }, config.headers); + break; + } + } + + if (transaction.xdr) { + // Route data to io-xdr module for flash and XDomainRequest. + return io.xdr(u, transaction, config); + } + else if (transaction.notify) { + // Route data to custom transport + return transaction.c.send(transaction, uri, config); + } + + if (!sync && !transaction.upload) { + transaction.c.onreadystatechange = function() { + io._rS(transaction, config); + }; + } + + try { + // Determine if request is to be set as + // synchronous or asynchronous. + transaction.c.open(method, u, !sync, config.username || null, config.password || null); + io._setHeaders(transaction.c, config.headers || {}); + io.start(transaction, config); + + // Will work only in browsers that implement the + // Cross-Origin Resource Sharing draft. + if (config.xdr && config.xdr.credentials) { + if (!Y.UA.ie) { + transaction.c.withCredentials = true; + } + } + + // Using "null" with HTTP POST will result in a request + // with no Content-Length header defined. + transaction.c.send(data); + + if (sync) { + // Create a response object for synchronous transactions, + // mixing id and arguments properties with the xhr + // properties whitelist. + for (i = 0, len = XHR_PROPS.length; i < len; ++i) { + response[XHR_PROPS[i]] = transaction.c[XHR_PROPS[i]]; + } + + response.getAllResponseHeaders = function() { + return transaction.c.getAllResponseHeaders(); + }; + + response.getResponseHeader = function(name) { + return transaction.c.getResponseHeader(name); + }; + + io.complete(transaction, config); + io._result(transaction, config); + + return response; + } + } catch(e) { + if (transaction.xdr) { + // This exception is usually thrown by browsers + // that do not support XMLHttpRequest Level 2. + // Retry the request with the XDR transport set + // to 'flash'. If the Flash transport is not + // initialized or available, the transaction + // will resolve to a transport error. + return io._retry(transaction, uri, config); + } else { + io.complete(transaction, config); + io._result(transaction, config); + } + } + + // If config.timeout is defined, and the request is standard XHR, + // initialize timeout polling. + if (config.timeout) { + io._startTimeout(transaction, config.timeout); + } + + return { + id: transaction.id, + abort: function() { + return transaction.c ? io._abort(transaction, 'abort') : false; + }, + isInProgress: function() { + return transaction.c ? (transaction.c.readyState % 4) : false; + }, + io: io + }; + } +}; + +/** +Method for initiating an ajax call. The first argument is the url end +point for the call. The second argument is an object to configure the +transaction and attach event subscriptions. The configuration object +supports the following properties: + +
+
method
+
HTTP method verb (e.g., GET or POST). If this property is not + not defined, the default value will be GET.
+ +
data
+
This is the name-value string that will be sent as the + transaction data. If the request is HTTP GET, the data become + part of querystring. If HTTP POST, the data are sent in the + message body.
+ +
xdr
+
Defines the transport to be used for cross-domain requests. + By setting this property, the transaction will use the specified + transport instead of XMLHttpRequest. The properties of the + transport object are: +
+
use
+
The transport to be used: 'flash' or 'native'
+
dataType
+
Set the value to 'XML' if that is the expected response + content type.
+
+ +
form
+
Form serialization configuration object. Its properties are: +
+
id
+
Node object or id of HTML form
+
useDisabled
+
`true` to also serialize disabled form field values + (defaults to `false`)
+
+ +
on
+
Assigns transaction event subscriptions. Available events are: +
+
start
+
Fires when a request is sent to a resource.
+
complete
+
Fires when the transaction is complete.
+
success
+
Fires when the HTTP response status is within the 2xx + range.
+
failure
+
Fires when the HTTP response status is outside the 2xx + range, if an exception occurs, if the transation is aborted, + or if the transaction exceeds a configured `timeout`.
+
end
+
Fires at the conclusion of the transaction + lifecycle, after `success` or `failure`.
+
+ +

Callback functions for `start` and `end` receive the id of the + transaction as a first argument. For `complete`, `success`, and + `failure`, callbacks receive the id and the response object + (usually the XMLHttpRequest instance). If the `arguments` + property was included in the configuration object passed to + `Y.io()`, the configured data will be passed to all callbacks as + the last argument.

+
+ +
sync
+
Pass `true` to make a same-domain transaction synchronous. + CAVEAT: This will negatively impact the user + experience. Have a very good reason if you intend to use + this.
+ +
context
+
The "`this'" object for all configured event handlers. If a + specific context is needed for individual callbacks, bind the + callback to a context using `Y.bind()`.
+ +
headers
+
Object map of transaction headers to send to the server. The + object keys are the header names and the values are the header + values.
+ +
timeout
+
Millisecond threshold for the transaction before being + automatically aborted.
+ +
arguments
+
User-defined data passed to all registered event handlers. + This value is available as the second argument in the "start" and + "end" event handlers. It is the third argument in the "complete", + "success", and "failure" event handlers. Be sure to quote + this property name in the transaction configuration as + "arguments" is a reserved word in JavaScript (e.g. + `Y.io({ ..., "arguments": stuff })`).
+
+ +@method io +@static +@param {String} url qualified path to transaction resource. +@param {Object} config configuration object for the transaction. +@return {Object} +@for YUI +**/ +Y.io = function(url, config) { + // Calling IO through the static interface will use and reuse + // an instance of IO. + var transaction = Y.io._map['io:0'] || new IO(); + return transaction.send.apply(transaction, [url, config]); +}; + +/** +Method for setting and deleting IO HTTP headers to be sent with every +request. + +Hosted as a property on the `io` function (e.g. `Y.io.header`). + +@method header +@param {String} name HTTP header +@param {String} value HTTP header value +@static +**/ +Y.io.header = function(name, value) { + // Calling IO through the static interface will use and reuse + // an instance of IO. + var transaction = Y.io._map['io:0'] || new IO(); + transaction.setHeader(name, value); +}; + +Y.IO = IO; +// Map of all IO instances created. +Y.io._map = {}; +var XHR = win && win.XMLHttpRequest, + XDR = win && win.XDomainRequest, + AX = win && win.ActiveXObject; + + +Y.mix(Y.IO, { + /** + * The ID of the default IO transport, defaults to `xhr` + * @property _default + * @type {String} + * @static + */ + _default: 'xhr', + /** + * + * @method defaultTransport + * @static + * @param {String} [id] The transport to set as the default, if empty a new transport is created. + * @return {Object} The transport object with a `send` method + */ + defaultTransport: function(id) { + if (id) { + Y.IO._default = id; + } else { + var o = { + c: Y.IO.transports[Y.IO._default](), + notify: Y.IO._default === 'xhr' ? false : true + }; + return o; + } + }, + /** + * An object hash of custom transports available to IO + * @property transports + * @type {Object} + * @static + */ + transports: { + xhr: function () { + return XHR ? new XMLHttpRequest() : + AX ? new ActiveXObject('Microsoft.XMLHTTP') : null; + }, + xdr: function () { + return XDR ? new XDomainRequest() : null; + }, + iframe: function () { return {}; }, + flash: null, + nodejs: null + }, + /** + * Create a custom transport of type and return it's object + * @method customTransport + * @param {String} id The id of the transport to create. + * @static + */ + customTransport: function(id) { + var o = { c: Y.IO.transports[id]() }; + + o[(id === 'xdr' || id === 'flash') ? 'xdr' : 'notify'] = true; + return o; + } +}); + +Y.mix(Y.IO.prototype, { + /** + * Fired from the notify method of the transport which in turn fires + * the event on the IO object. + * @method notify + * @param {String} event The name of the event + * @param {Object} transaction The transaction object + * @param {Object} config The configuration object for this transaction + */ + notify: function(event, transaction, config) { + var io = this; + + switch (event) { + case 'timeout': + case 'abort': + case 'transport error': + transaction.c = { status: 0, statusText: event }; + event = 'failure'; + default: + io[event].apply(io, [transaction, config]); + } + } +}); + + + + +}, '3.6.0pr3' ,{requires:['event-custom-base', 'querystring-stringify-simple']}); +YUI.add('json-parse', function(Y) { + +/** + *

The JSON module adds support for serializing JavaScript objects into + * JSON strings and parsing JavaScript objects from strings in JSON format.

+ * + *

The JSON namespace is added to your YUI instance including static methods + * Y.JSON.parse(..) and Y.JSON.stringify(..).

+ * + *

The functionality and method signatures follow the ECMAScript 5 + * specification. In browsers with native JSON support, the native + * implementation is used.

+ * + *

The json module is a rollup of json-parse and + * json-stringify.

+ * + *

As their names suggest, json-parse adds support for parsing + * JSON data (Y.JSON.parse) and json-stringify for serializing + * JavaScript data into JSON strings (Y.JSON.stringify). You may choose to + * include either of the submodules individually if you don't need the + * complementary functionality, or include the rollup for both.

+ * + * @module json + * @main json + * @class JSON + * @static + */ + +/** + * Provides Y.JSON.parse method to accept JSON strings and return native + * JavaScript objects. + * + * @module json + * @submodule json-parse + * @for JSON + * @static + */ + + +// All internals kept private for security reasons +function fromGlobal(ref) { + return (Y.config.win || this || {})[ref]; +} + + + /** + * Alias to native browser implementation of the JSON object if available. + * + * @property Native + * @type {Object} + * @private + */ +var _JSON = fromGlobal('JSON'), + + Native = (Object.prototype.toString.call(_JSON) === '[object JSON]' && _JSON), + useNative = !!Native, + + /** + * Replace certain Unicode characters that JavaScript may handle incorrectly + * during eval--either by deleting them or treating them as line + * endings--with escape sequences. + * IMPORTANT NOTE: This regex will be used to modify the input if a match is + * found. + * + * @property _UNICODE_EXCEPTIONS + * @type {RegExp} + * @private + */ + _UNICODE_EXCEPTIONS = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + + + /** + * First step in the safety evaluation. Regex used to replace all escape + * sequences (i.e. "\\", etc) with '@' characters (a non-JSON character). + * + * @property _ESCAPES + * @type {RegExp} + * @private + */ + _ESCAPES = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + + /** + * Second step in the safety evaluation. Regex used to replace all simple + * values with ']' characters. + * + * @property _VALUES + * @type {RegExp} + * @private + */ + _VALUES = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + + /** + * Third step in the safety evaluation. Regex used to remove all open + * square brackets following a colon, comma, or at the beginning of the + * string. + * + * @property _BRACKETS + * @type {RegExp} + * @private + */ + _BRACKETS = /(?:^|:|,)(?:\s*\[)+/g, + + /** + * Final step in the safety evaluation. Regex used to test the string left + * after all previous replacements for invalid characters. + * + * @property _UNSAFE + * @type {RegExp} + * @private + */ + _UNSAFE = /[^\],:{}\s]/, + + /** + * Replaces specific unicode characters with their appropriate \unnnn + * format. Some browsers ignore certain characters during eval. + * + * @method escapeException + * @param c {String} Unicode character + * @return {String} the \unnnn escapement of the character + * @private + */ + _escapeException = function (c) { + return '\\u'+('0000'+(+(c.charCodeAt(0))).toString(16)).slice(-4); + }, + + /** + * Traverses nested objects, applying a reviver function to each (key,value) + * from the scope if the key:value's containing object. The value returned + * from the function will replace the original value in the key:value pair. + * If the value returned is undefined, the key will be omitted from the + * returned object. + * + * @method _revive + * @param data {MIXED} Any JavaScript data + * @param reviver {Function} filter or mutation function + * @return {MIXED} The results of the filtered data + * @private + */ + _revive = function (data, reviver) { + var walk = function (o,key) { + var k,v,value = o[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (value.hasOwnProperty(k)) { + v = walk(value, k); + if (v === undefined) { + delete value[k]; + } else { + value[k] = v; + } + } + } + } + return reviver.call(o,key,value); + }; + + return typeof reviver === 'function' ? walk({'':data},'') : data; + }, + + /** + * Parse a JSON string, returning the native JavaScript representation. + * + * @param s {string} JSON string data + * @param reviver {function} (optional) function(k,v) passed each key value + * pair of object literals, allowing pruning or altering values + * @return {MIXED} the native JavaScript representation of the JSON string + * @throws SyntaxError + * @method parse + * @static + */ + // JavaScript implementation in lieu of native browser support. Based on + // the json2.js library from http://json.org + _parse = function (s,reviver) { + // Replace certain Unicode characters that are otherwise handled + // incorrectly by some browser implementations. + // NOTE: This modifies the input if such characters are found! + s = s.replace(_UNICODE_EXCEPTIONS, _escapeException); + + // Test for any remaining invalid characters + if (!_UNSAFE.test(s.replace(_ESCAPES,'@'). + replace(_VALUES,']'). + replace(_BRACKETS,''))) { + + // Eval the text into a JavaScript data structure, apply any + // reviver function, and return + return _revive( eval('(' + s + ')'), reviver ); + } + + throw new SyntaxError('JSON.parse'); + }; + +Y.namespace('JSON').parse = function (s,reviver) { + if (typeof s !== 'string') { + s += ''; + } + + return Native && Y.JSON.useNativeParse ? + Native.parse(s,reviver) : _parse(s,reviver); +}; + +function workingNative( k, v ) { + return k === "ok" ? true : v; +} + +// Double check basic functionality. This is mainly to catch early broken +// implementations of the JSON API in Firefox 3.1 beta1 and beta2 +if ( Native ) { + try { + useNative = ( Native.parse( '{"ok":false}', workingNative ) ).ok; + } + catch ( e ) { + useNative = false; + } +} + +/** + * Leverage native JSON parse if the browser has a native implementation. + * In general, this is a good idea. See the Known Issues section in the + * JSON user guide for caveats. The default value is true for browsers with + * native JSON support. + * + * @property useNativeParse + * @type Boolean + * @default true + * @static + */ +Y.JSON.useNativeParse = useNative; + + +}, '3.6.0pr3' ,{requires:['yui-base']}); +YUI.add('transition', function(Y) { + +/** +* Provides the transition method for Node. +* Transition has no API of its own, but adds the transition method to Node. +* +* @module transition +* @requires node-style +*/ + +var CAMEL_VENDOR_PREFIX = '', + VENDOR_PREFIX = '', + DOCUMENT = Y.config.doc, + DOCUMENT_ELEMENT = 'documentElement', + TRANSITION = 'transition', + TRANSITION_CAMEL = 'Transition', + TRANSITION_PROPERTY_CAMEL, + TRANSITION_PROPERTY, + TRANSITION_DURATION, + TRANSITION_TIMING_FUNCTION, + TRANSITION_DELAY, + TRANSITION_END, + ON_TRANSITION_END, + TRANSFORM_CAMEL, + + EMPTY_OBJ = {}, + + VENDORS = [ + 'Webkit', + 'Moz' + ], + + VENDOR_TRANSITION_END = { + Webkit: 'webkitTransitionEnd' + }, + +/** + * A class for constructing transition instances. + * Adds the "transition" method to Node. + * @class Transition + * @constructor + */ + +Transition = function() { + this.init.apply(this, arguments); +}; + +Transition._toCamel = function(property) { + property = property.replace(/-([a-z])/gi, function(m0, m1) { + return m1.toUpperCase(); + }); + + return property; +}; + +Transition._toHyphen = function(property) { + property = property.replace(/([A-Z]?)([a-z]+)([A-Z]?)/g, function(m0, m1, m2, m3) { + var str = ((m1) ? '-' + m1.toLowerCase() : '') + m2; + + if (m3) { + str += '-' + m3.toLowerCase(); + } + + return str; + }); + + return property; +}; + +Transition.SHOW_TRANSITION = 'fadeIn'; +Transition.HIDE_TRANSITION = 'fadeOut'; + +Transition.useNative = false; + +Y.Array.each(VENDORS, function(val) { // then vendor specific + var property = val + TRANSITION_CAMEL; + if (property in DOCUMENT[DOCUMENT_ELEMENT].style) { + CAMEL_VENDOR_PREFIX = val; + VENDOR_PREFIX = Transition._toHyphen(val) + '-'; + + Transition.useNative = true; + Transition.supported = true; // TODO: remove + Transition._VENDOR_PREFIX = val; + } +}); + +TRANSITION_CAMEL = CAMEL_VENDOR_PREFIX + TRANSITION_CAMEL; +TRANSITION_PROPERTY_CAMEL = CAMEL_VENDOR_PREFIX + 'TransitionProperty'; +TRANSITION_PROPERTY = VENDOR_PREFIX + 'transition-property'; +TRANSITION_DURATION = VENDOR_PREFIX + 'transition-duration'; +TRANSITION_TIMING_FUNCTION = VENDOR_PREFIX + 'transition-timing-function'; +TRANSITION_DELAY = VENDOR_PREFIX + 'transition-delay'; +TRANSITION_END = 'transitionend'; +ON_TRANSITION_END = 'on' + CAMEL_VENDOR_PREFIX.toLowerCase() + 'transitionend'; + +TRANSITION_END = VENDOR_TRANSITION_END[CAMEL_VENDOR_PREFIX] || TRANSITION_END; + +TRANSFORM_CAMEL = CAMEL_VENDOR_PREFIX + 'Transform'; + +Transition.fx = {}; +Transition.toggles = {}; + +Transition._hasEnd = {}; + +Transition._reKeywords = /^(?:node|duration|iterations|easing|delay|on|onstart|onend)$/i; + +Y.Node.DOM_EVENTS[TRANSITION_END] = 1; + +Transition.NAME = 'transition'; + +Transition.DEFAULT_EASING = 'ease'; +Transition.DEFAULT_DURATION = 0.5; +Transition.DEFAULT_DELAY = 0; + +Transition._nodeAttrs = {}; + +Transition.prototype = { + constructor: Transition, + init: function(node, config) { + var anim = this; + anim._node = node; + if (!anim._running && config) { + anim._config = config; + node._transition = anim; // cache for reuse + + anim._duration = ('duration' in config) ? + config.duration: anim.constructor.DEFAULT_DURATION; + + anim._delay = ('delay' in config) ? + config.delay: anim.constructor.DEFAULT_DELAY; + + anim._easing = config.easing || anim.constructor.DEFAULT_EASING; + anim._count = 0; // track number of animated properties + anim._running = false; + + } + + return anim; + }, + + addProperty: function(prop, config) { + var anim = this, + node = this._node, + uid = Y.stamp(node), + nodeInstance = Y.one(node), + attrs = Transition._nodeAttrs[uid], + computed, + compareVal, + dur, + attr, + val; + + if (!attrs) { + attrs = Transition._nodeAttrs[uid] = {}; + } + + attr = attrs[prop]; + + // might just be a value + if (config && config.value !== undefined) { + val = config.value; + } else if (config !== undefined) { + val = config; + config = EMPTY_OBJ; + } + + if (typeof val === 'function') { + val = val.call(nodeInstance, nodeInstance); + } + + if (attr && attr.transition) { + // take control if another transition owns this property + if (attr.transition !== anim) { + attr.transition._count--; // remapping attr to this transition + } + } + + anim._count++; // properties per transition + + // make 0 async and fire events + dur = ((typeof config.duration != 'undefined') ? config.duration : + anim._duration) || 0.0001; + + attrs[prop] = { + value: val, + duration: dur, + delay: (typeof config.delay != 'undefined') ? config.delay : + anim._delay, + + easing: config.easing || anim._easing, + + transition: anim + }; + + // native end event doesnt fire when setting to same value + // supplementing with timer + // val may be a string or number (height: 0, etc), but computedStyle is always string + computed = Y.DOM.getComputedStyle(node, prop); + compareVal = (typeof val === 'string') ? computed : parseFloat(computed); + + if (Transition.useNative && compareVal === val) { + setTimeout(function() { + anim._onNativeEnd.call(node, { + propertyName: prop, + elapsedTime: dur + }); + }, dur * 1000); + } + }, + + removeProperty: function(prop) { + var anim = this, + attrs = Transition._nodeAttrs[Y.stamp(anim._node)]; + + if (attrs && attrs[prop]) { + delete attrs[prop]; + anim._count--; + } + + }, + + initAttrs: function(config) { + var attr, + node = this._node; + + if (config.transform && !config[TRANSFORM_CAMEL]) { + config[TRANSFORM_CAMEL] = config.transform; + delete config.transform; // TODO: copy + } + + for (attr in config) { + if (config.hasOwnProperty(attr) && !Transition._reKeywords.test(attr)) { + this.addProperty(attr, config[attr]); + + // when size is auto or % webkit starts from zero instead of computed + // (https://bugs.webkit.org/show_bug.cgi?id=16020) + // TODO: selective set + if (node.style[attr] === '') { + Y.DOM.setStyle(node, attr, Y.DOM.getComputedStyle(node, attr)); + } + } + } + }, + + /** + * Starts or an animation. + * @method run + * @chainable + * @private + */ + run: function(callback) { + var anim = this, + node = anim._node, + config = anim._config, + data = { + type: 'transition:start', + config: config + }; + + + if (!anim._running) { + anim._running = true; + + if (config.on && config.on.start) { + config.on.start.call(Y.one(node), data); + } + + anim.initAttrs(anim._config); + + anim._callback = callback; + anim._start(); + } + + + return anim; + }, + + _start: function() { + this._runNative(); + }, + + _prepDur: function(dur) { + dur = parseFloat(dur); + + return dur + 's'; + }, + + _runNative: function(time) { + var anim = this, + node = anim._node, + uid = Y.stamp(node), + style = node.style, + computed = node.ownerDocument.defaultView.getComputedStyle(node), + attrs = Transition._nodeAttrs[uid], + cssText = '', + cssTransition = computed[Transition._toCamel(TRANSITION_PROPERTY)], + + transitionText = TRANSITION_PROPERTY + ': ', + duration = TRANSITION_DURATION + ': ', + easing = TRANSITION_TIMING_FUNCTION + ': ', + delay = TRANSITION_DELAY + ': ', + hyphy, + attr, + name; + + // preserve existing transitions + if (cssTransition !== 'all') { + transitionText += cssTransition + ','; + duration += computed[Transition._toCamel(TRANSITION_DURATION)] + ','; + easing += computed[Transition._toCamel(TRANSITION_TIMING_FUNCTION)] + ','; + delay += computed[Transition._toCamel(TRANSITION_DELAY)] + ','; + + } + + // run transitions mapped to this instance + for (name in attrs) { + hyphy = Transition._toHyphen(name); + attr = attrs[name]; + if ((attr = attrs[name]) && attr.transition === anim) { + if (name in node.style) { // only native styles allowed + duration += anim._prepDur(attr.duration) + ','; + delay += anim._prepDur(attr.delay) + ','; + easing += (attr.easing) + ','; + + transitionText += hyphy + ','; + cssText += hyphy + ': ' + attr.value + '; '; + } else { + this.removeProperty(name); + } + } + } + + transitionText = transitionText.replace(/,$/, ';'); + duration = duration.replace(/,$/, ';'); + easing = easing.replace(/,$/, ';'); + delay = delay.replace(/,$/, ';'); + + // only one native end event per node + if (!Transition._hasEnd[uid]) { + node.addEventListener(TRANSITION_END, anim._onNativeEnd, ''); + Transition._hasEnd[uid] = true; + + } + + style.cssText += transitionText + duration + easing + delay + cssText; + + }, + + _end: function(elapsed) { + var anim = this, + node = anim._node, + callback = anim._callback, + config = anim._config, + data = { + type: 'transition:end', + config: config, + elapsedTime: elapsed + }, + + nodeInstance = Y.one(node); + + anim._running = false; + anim._callback = null; + + if (node) { + if (config.on && config.on.end) { + setTimeout(function() { // IE: allow previous update to finish + config.on.end.call(nodeInstance, data); + + // nested to ensure proper fire order + if (callback) { + callback.call(nodeInstance, data); + } + + }, 1); + } else if (callback) { + setTimeout(function() { // IE: allow previous update to finish + callback.call(nodeInstance, data); + }, 1); + } + } + + }, + + _endNative: function(name) { + var node = this._node, + value = node.ownerDocument.defaultView.getComputedStyle(node, '')[Transition._toCamel(TRANSITION_PROPERTY)]; + + name = Transition._toHyphen(name); + if (typeof value === 'string') { + value = value.replace(new RegExp('(?:^|,\\s)' + name + ',?'), ','); + value = value.replace(/^,|,$/, ''); + node.style[TRANSITION_CAMEL] = value; + } + }, + + _onNativeEnd: function(e) { + var node = this, + uid = Y.stamp(node), + event = e,//e._event, + name = Transition._toCamel(event.propertyName), + elapsed = event.elapsedTime, + attrs = Transition._nodeAttrs[uid], + attr = attrs[name], + anim = (attr) ? attr.transition : null, + data, + config; + + if (anim) { + anim.removeProperty(name); + anim._endNative(name); + config = anim._config[name]; + + data = { + type: 'propertyEnd', + propertyName: name, + elapsedTime: elapsed, + config: config + }; + + if (config && config.on && config.on.end) { + config.on.end.call(Y.one(node), data); + } + + if (anim._count <= 0) { // after propertyEnd fires + anim._end(elapsed); + node.style[TRANSITION_PROPERTY_CAMEL] = ''; // clean up style + } + } + }, + + destroy: function() { + var anim = this, + node = anim._node; + + if (node) { + node.removeEventListener(TRANSITION_END, anim._onNativeEnd, false); + anim._node = null; + } + } +}; + +Y.Transition = Transition; +Y.TransitionNative = Transition; // TODO: remove + +/** + * Animate one or more css properties to a given value. Requires the "transition" module. + *
example usage:
+ *       Y.one('#demo').transition({
+ *           duration: 1, // in seconds, default is 0.5
+ *           easing: 'ease-out', // default is 'ease'
+ *           delay: '1', // delay start for 1 second, default is 0
+ *
+ *           height: '10px',
+ *           width: '10px',
+ *
+ *           opacity: { // per property
+ *               value: 0,
+ *               duration: 2,
+ *               delay: 2,
+ *               easing: 'ease-in'
+ *           }
+ *       });
+ *   
+ * @for Node + * @method transition + * @param {Object} config An object containing one or more style properties, a duration and an easing. + * @param {Function} callback A function to run after the transition has completed. + * @chainable +*/ +Y.Node.prototype.transition = function(name, config, callback) { + var + transitionAttrs = Transition._nodeAttrs[Y.stamp(this._node)], + anim = (transitionAttrs) ? transitionAttrs.transition || null : null, + fxConfig, + prop; + + if (typeof name === 'string') { // named effect, pull config from registry + if (typeof config === 'function') { + callback = config; + config = null; + } + + fxConfig = Transition.fx[name]; + + if (config && typeof config !== 'boolean') { + config = Y.clone(config); + + for (prop in fxConfig) { + if (fxConfig.hasOwnProperty(prop)) { + if (! (prop in config)) { + config[prop] = fxConfig[prop]; + } + } + } + } else { + config = fxConfig; + } + + } else { // name is a config, config is a callback or undefined + callback = config; + config = name; + } + + if (anim && !anim._running) { + anim.init(this, config); + } else { + anim = new Transition(this._node, config); + } + + anim.run(callback); + return this; +}; + +Y.Node.prototype.show = function(name, config, callback) { + this._show(); // show prior to transition + if (name && Y.Transition) { + if (typeof name !== 'string' && !name.push) { // named effect or array of effects supercedes default + if (typeof config === 'function') { + callback = config; + config = name; + } + name = Transition.SHOW_TRANSITION; + } + this.transition(name, config, callback); + } + return this; +}; + +var _wrapCallBack = function(anim, fn, callback) { + return function() { + if (fn) { + fn.call(anim); + } + if (callback) { + callback.apply(anim._node, arguments); + } + }; +}; + +Y.Node.prototype.hide = function(name, config, callback) { + if (name && Y.Transition) { + if (typeof config === 'function') { + callback = config; + config = null; + } + + callback = _wrapCallBack(this, this._hide, callback); // wrap with existing callback + if (typeof name !== 'string' && !name.push) { // named effect or array of effects supercedes default + if (typeof config === 'function') { + callback = config; + config = name; + } + name = Transition.HIDE_TRANSITION; + } + this.transition(name, config, callback); + } else { + this._hide(); + } + return this; +}; + +/** + * Animate one or more css properties to a given value. Requires the "transition" module. + *
example usage:
+ *       Y.all('.demo').transition({
+ *           duration: 1, // in seconds, default is 0.5
+ *           easing: 'ease-out', // default is 'ease'
+ *           delay: '1', // delay start for 1 second, default is 0
+ *
+ *           height: '10px',
+ *           width: '10px',
+ *
+ *           opacity: { // per property
+ *               value: 0,
+ *               duration: 2,
+ *               delay: 2,
+ *               easing: 'ease-in'
+ *           }
+ *       });
+ *   
+ * @for NodeList + * @method transition + * @param {Object} config An object containing one or more style properties, a duration and an easing. + * @param {Function} callback A function to run after the transition has completed. The callback fires + * once per item in the NodeList. + * @chainable +*/ +Y.NodeList.prototype.transition = function(config, callback) { + var nodes = this._nodes, + i = 0, + node; + + while ((node = nodes[i++])) { + Y.one(node).transition(config, callback); + } + + return this; +}; + +Y.Node.prototype.toggleView = function(name, on, callback) { + this._toggles = this._toggles || []; + callback = arguments[arguments.length - 1]; + + if (typeof name == 'boolean') { // no transition, just toggle + on = name; + name = null; + } + + name = name || Y.Transition.DEFAULT_TOGGLE; + + if (typeof on == 'undefined' && name in this._toggles) { // reverse current toggle + on = ! this._toggles[name]; + } + + on = (on) ? 1 : 0; + if (on) { + this._show(); + } else { + callback = _wrapCallBack(this, this._hide, callback); + } + + this._toggles[name] = on; + this.transition(Y.Transition.toggles[name][on], callback); + + return this; +}; + +Y.NodeList.prototype.toggleView = function(name, on, callback) { + var nodes = this._nodes, + i = 0, + node; + + while ((node = nodes[i++])) { + Y.one(node).toggleView(name, on, callback); + } + + return this; +}; + +Y.mix(Transition.fx, { + fadeOut: { + opacity: 0, + duration: 0.5, + easing: 'ease-out' + }, + + fadeIn: { + opacity: 1, + duration: 0.5, + easing: 'ease-in' + }, + + sizeOut: { + height: 0, + width: 0, + duration: 0.75, + easing: 'ease-out' + }, + + sizeIn: { + height: function(node) { + return node.get('scrollHeight') + 'px'; + }, + width: function(node) { + return node.get('scrollWidth') + 'px'; + }, + duration: 0.5, + easing: 'ease-in', + + on: { + start: function() { + var overflow = this.getStyle('overflow'); + if (overflow !== 'hidden') { // enable scrollHeight/Width + this.setStyle('overflow', 'hidden'); + this._transitionOverflow = overflow; + } + }, + + end: function() { + if (this._transitionOverflow) { // revert overridden value + this.setStyle('overflow', this._transitionOverflow); + delete this._transitionOverflow; + } + } + } + } +}); + +Y.mix(Transition.toggles, { + size: ['sizeOut', 'sizeIn'], + fade: ['fadeOut', 'fadeIn'] +}); + +Transition.DEFAULT_TOGGLE = 'fade'; + + + +}, '3.6.0pr3' ,{requires:['node-style']}); +YUI.add('selector-css2', function(Y) { + +/** + * The selector module provides helper methods allowing CSS2 Selectors to be used with DOM elements. + * @module dom + * @submodule selector-css2 + * @for Selector + */ + +/* + * Provides helper methods for collecting and filtering DOM elements. + */ + +var PARENT_NODE = 'parentNode', + TAG_NAME = 'tagName', + ATTRIBUTES = 'attributes', + COMBINATOR = 'combinator', + PSEUDOS = 'pseudos', + + Selector = Y.Selector, + + SelectorCSS2 = { + _reRegExpTokens: /([\^\$\?\[\]\*\+\-\.\(\)\|\\])/, + SORT_RESULTS: true, + + // TODO: better detection, document specific + _isXML: (function() { + var isXML = (Y.config.doc.createElement('div').tagName !== 'DIV'); + return isXML; + }()), + + /** + * Mapping of shorthand tokens to corresponding attribute selector + * @property shorthand + * @type object + */ + shorthand: { + '\\#(-?[_a-z0-9]+[-\\w\\uE000]*)': '[id=$1]', + '\\.(-?[_a-z]+[-\\w\\uE000]*)': '[className~=$1]' + }, + + /** + * List of operators and corresponding boolean functions. + * These functions are passed the attribute and the current node's value of the attribute. + * @property operators + * @type object + */ + operators: { + '': function(node, attr) { return Y.DOM.getAttribute(node, attr) !== ''; }, // Just test for existence of attribute + '~=': '(?:^|\\s+){val}(?:\\s+|$)', // space-delimited + '|=': '^{val}-?' // optional hyphen-delimited + }, + + pseudos: { + 'first-child': function(node) { + return Y.DOM._children(node[PARENT_NODE])[0] === node; + } + }, + + _bruteQuery: function(selector, root, firstOnly) { + var ret = [], + nodes = [], + tokens = Selector._tokenize(selector), + token = tokens[tokens.length - 1], + rootDoc = Y.DOM._getDoc(root), + child, + id, + className, + tagName; + + if (token) { + // prefilter nodes + id = token.id; + className = token.className; + tagName = token.tagName || '*'; + + if (root.getElementsByTagName) { // non-IE lacks DOM api on doc frags + // try ID first, unless no root.all && root not in document + // (root.all works off document, but not getElementById) + if (id && (root.all || (root.nodeType === 9 || Y.DOM.inDoc(root)))) { + nodes = Y.DOM.allById(id, root); + // try className + } else if (className) { + nodes = root.getElementsByClassName(className); + } else { // default to tagName + nodes = root.getElementsByTagName(tagName); + } + + } else { // brute getElementsByTagName() + child = root.firstChild; + while (child) { + // only collect HTMLElements + // match tag to supplement missing getElementsByTagName + if (child.tagName && (tagName === '*' || child.tagName === tagName)) { + nodes.push(child); + } + child = child.nextSibling || child.firstChild; + } + } + if (nodes.length) { + ret = Selector._filterNodes(nodes, tokens, firstOnly); + } + } + + return ret; + }, + + _filterNodes: function(nodes, tokens, firstOnly) { + var i = 0, + j, + len = tokens.length, + n = len - 1, + result = [], + node = nodes[0], + tmpNode = node, + getters = Y.Selector.getters, + operator, + combinator, + token, + path, + pass, + value, + tests, + test; + + for (i = 0; (tmpNode = node = nodes[i++]);) { + n = len - 1; + path = null; + + testLoop: + while (tmpNode && tmpNode.tagName) { + token = tokens[n]; + tests = token.tests; + j = tests.length; + if (j && !pass) { + while ((test = tests[--j])) { + operator = test[1]; + if (getters[test[0]]) { + value = getters[test[0]](tmpNode, test[0]); + } else { + value = tmpNode[test[0]]; + if (test[0] === 'tagName' && !Selector._isXML) { + value = value.toUpperCase(); + } + if (typeof value != 'string' && value !== undefined && value.toString) { + value = value.toString(); // coerce for comparison + } else if (value === undefined && tmpNode.getAttribute) { + // use getAttribute for non-standard attributes + value = tmpNode.getAttribute(test[0], 2); // 2 === force string for IE + } + } + + if ((operator === '=' && value !== test[2]) || // fast path for equality + (typeof operator !== 'string' && // protect against String.test monkey-patch (Moo) + operator.test && !operator.test(value)) || // regex test + (!operator.test && // protect against RegExp as function (webkit) + typeof operator === 'function' && !operator(tmpNode, test[0], test[2]))) { // function test + + // skip non element nodes or non-matching tags + if ((tmpNode = tmpNode[path])) { + while (tmpNode && + (!tmpNode.tagName || + (token.tagName && token.tagName !== tmpNode.tagName)) + ) { + tmpNode = tmpNode[path]; + } + } + continue testLoop; + } + } + } + + n--; // move to next token + // now that we've passed the test, move up the tree by combinator + if (!pass && (combinator = token.combinator)) { + path = combinator.axis; + tmpNode = tmpNode[path]; + + // skip non element nodes + while (tmpNode && !tmpNode.tagName) { + tmpNode = tmpNode[path]; + } + + if (combinator.direct) { // one pass only + path = null; + } + + } else { // success if we made it this far + result.push(node); + if (firstOnly) { + return result; + } + break; + } + } + } + node = tmpNode = null; + return result; + }, + + combinators: { + ' ': { + axis: 'parentNode' + }, + + '>': { + axis: 'parentNode', + direct: true + }, + + + '+': { + axis: 'previousSibling', + direct: true + } + }, + + _parsers: [ + { + name: ATTRIBUTES, + re: /^\uE003(-?[a-z]+[\w\-]*)+([~\|\^\$\*!=]=?)?['"]?([^\uE004'"]*)['"]?\uE004/i, + fn: function(match, token) { + var operator = match[2] || '', + operators = Selector.operators, + escVal = (match[3]) ? match[3].replace(/\\/g, '') : '', + test; + + // add prefiltering for ID and CLASS + if ((match[1] === 'id' && operator === '=') || + (match[1] === 'className' && + Y.config.doc.documentElement.getElementsByClassName && + (operator === '~=' || operator === '='))) { + token.prefilter = match[1]; + + + match[3] = escVal; + + // escape all but ID for prefilter, which may run through QSA (via Dom.allById) + token[match[1]] = (match[1] === 'id') ? match[3] : escVal; + + } + + // add tests + if (operator in operators) { + test = operators[operator]; + if (typeof test === 'string') { + match[3] = escVal.replace(Selector._reRegExpTokens, '\\$1'); + test = new RegExp(test.replace('{val}', match[3])); + } + match[2] = test; + } + if (!token.last || token.prefilter !== match[1]) { + return match.slice(1); + } + } + }, + { + name: TAG_NAME, + re: /^((?:-?[_a-z]+[\w-]*)|\*)/i, + fn: function(match, token) { + var tag = match[1]; + + if (!Selector._isXML) { + tag = tag.toUpperCase(); + } + + token.tagName = tag; + + if (tag !== '*' && (!token.last || token.prefilter)) { + return [TAG_NAME, '=', tag]; + } + if (!token.prefilter) { + token.prefilter = 'tagName'; + } + } + }, + { + name: COMBINATOR, + re: /^\s*([>+~]|\s)\s*/, + fn: function(match, token) { + } + }, + { + name: PSEUDOS, + re: /^:([\-\w]+)(?:\uE005['"]?([^\uE005]*)['"]?\uE006)*/i, + fn: function(match, token) { + var test = Selector[PSEUDOS][match[1]]; + if (test) { // reorder match array and unescape special chars for tests + if (match[2]) { + match[2] = match[2].replace(/\\/g, ''); + } + return [match[2], test]; + } else { // selector token not supported (possibly missing CSS3 module) + return false; + } + } + } + ], + + _getToken: function(token) { + return { + tagName: null, + id: null, + className: null, + attributes: {}, + combinator: null, + tests: [] + }; + }, + + /* + Break selector into token units per simple selector. + Combinator is attached to the previous token. + */ + _tokenize: function(selector) { + selector = selector || ''; + selector = Selector._parseSelector(Y.Lang.trim(selector)); + var token = Selector._getToken(), // one token per simple selector (left selector holds combinator) + query = selector, // original query for debug report + tokens = [], // array of tokens + found = false, // whether or not any matches were found this pass + match, // the regex match + test, + i, parser; + + /* + Search for selector patterns, store, and strip them from the selector string + until no patterns match (invalid selector) or we run out of chars. + + Multiple attributes and pseudos are allowed, in any order. + for example: + 'form:first-child[type=button]:not(button)[lang|=en]' + */ + outer: + do { + found = false; // reset after full pass + for (i = 0; (parser = Selector._parsers[i++]);) { + if ( (match = parser.re.exec(selector)) ) { // note assignment + if (parser.name !== COMBINATOR ) { + token.selector = selector; + } + selector = selector.replace(match[0], ''); // strip current match from selector + if (!selector.length) { + token.last = true; + } + + if (Selector._attrFilters[match[1]]) { // convert class to className, etc. + match[1] = Selector._attrFilters[match[1]]; + } + + test = parser.fn(match, token); + if (test === false) { // selector not supported + found = false; + break outer; + } else if (test) { + token.tests.push(test); + } + + if (!selector.length || parser.name === COMBINATOR) { + tokens.push(token); + token = Selector._getToken(token); + if (parser.name === COMBINATOR) { + token.combinator = Y.Selector.combinators[match[1]]; + } + } + found = true; + } + } + } while (found && selector.length); + + if (!found || selector.length) { // not fully parsed + tokens = []; + } + return tokens; + }, + + _replaceMarkers: function(selector) { + selector = selector.replace(/\[/g, '\uE003'); + selector = selector.replace(/\]/g, '\uE004'); + + selector = selector.replace(/\(/g, '\uE005'); + selector = selector.replace(/\)/g, '\uE006'); + return selector; + }, + + _replaceShorthand: function(selector) { + var shorthand = Y.Selector.shorthand, + re; + + for (re in shorthand) { + if (shorthand.hasOwnProperty(re)) { + selector = selector.replace(new RegExp(re, 'gi'), shorthand[re]); + } + } + + return selector; + }, + + _parseSelector: function(selector) { + var replaced = Y.Selector._replaceSelector(selector), + selector = replaced.selector; + + // replace shorthand (".foo, #bar") after pseudos and attrs + // to avoid replacing unescaped chars + selector = Y.Selector._replaceShorthand(selector); + + selector = Y.Selector._restore('attr', selector, replaced.attrs); + selector = Y.Selector._restore('pseudo', selector, replaced.pseudos); + + // replace braces and parens before restoring escaped chars + // to avoid replacing ecaped markers + selector = Y.Selector._replaceMarkers(selector); + selector = Y.Selector._restore('esc', selector, replaced.esc); + + return selector; + }, + + _attrFilters: { + 'class': 'className', + 'for': 'htmlFor' + }, + + getters: { + href: function(node, attr) { + return Y.DOM.getAttribute(node, attr); + }, + + id: function(node, attr) { + return Y.DOM.getId(node); + } + } + }; + +Y.mix(Y.Selector, SelectorCSS2, true); +Y.Selector.getters.src = Y.Selector.getters.rel = Y.Selector.getters.href; + +// IE wants class with native queries +if (Y.Selector.useNative && Y.config.doc.querySelector) { + Y.Selector.shorthand['\\.(-?[_a-z]+[-\\w]*)'] = '[class~=$1]'; +} + + + +}, '3.6.0pr3' ,{requires:['selector-native']}); +YUI.add('selector-css3', function(Y) { + +/** + * The selector css3 module provides support for css3 selectors. + * @module dom + * @submodule selector-css3 + * @for Selector + */ + +/* + an+b = get every _a_th node starting at the _b_th + 0n+b = no repeat ("0" and "n" may both be omitted (together) , e.g. "0n+1" or "1", not "0+1"), return only the _b_th element + 1n+b = get every element starting from b ("1" may may be omitted, e.g. "1n+0" or "n+0" or "n") + an+0 = get every _a_th element, "0" may be omitted +*/ + +Y.Selector._reNth = /^(?:([\-]?\d*)(n){1}|(odd|even)$)*([\-+]?\d*)$/; + +Y.Selector._getNth = function(node, expr, tag, reverse) { + Y.Selector._reNth.test(expr); + var a = parseInt(RegExp.$1, 10), // include every _a_ elements (zero means no repeat, just first _a_) + n = RegExp.$2, // "n" + oddeven = RegExp.$3, // "odd" or "even" + b = parseInt(RegExp.$4, 10) || 0, // start scan from element _b_ + result = [], + siblings = Y.DOM._children(node.parentNode, tag), + op; + + if (oddeven) { + a = 2; // always every other + op = '+'; + n = 'n'; + b = (oddeven === 'odd') ? 1 : 0; + } else if ( isNaN(a) ) { + a = (n) ? 1 : 0; // start from the first or no repeat + } + + if (a === 0) { // just the first + if (reverse) { + b = siblings.length - b + 1; + } + + if (siblings[b - 1] === node) { + return true; + } else { + return false; + } + + } else if (a < 0) { + reverse = !!reverse; + a = Math.abs(a); + } + + if (!reverse) { + for (var i = b - 1, len = siblings.length; i < len; i += a) { + if ( i >= 0 && siblings[i] === node ) { + return true; + } + } + } else { + for (var i = siblings.length - b, len = siblings.length; i >= 0; i -= a) { + if ( i < len && siblings[i] === node ) { + return true; + } + } + } + return false; +}; + +Y.mix(Y.Selector.pseudos, { + 'root': function(node) { + return node === node.ownerDocument.documentElement; + }, + + 'nth-child': function(node, expr) { + return Y.Selector._getNth(node, expr); + }, + + 'nth-last-child': function(node, expr) { + return Y.Selector._getNth(node, expr, null, true); + }, + + 'nth-of-type': function(node, expr) { + return Y.Selector._getNth(node, expr, node.tagName); + }, + + 'nth-last-of-type': function(node, expr) { + return Y.Selector._getNth(node, expr, node.tagName, true); + }, + + 'last-child': function(node) { + var children = Y.DOM._children(node.parentNode); + return children[children.length - 1] === node; + }, + + 'first-of-type': function(node) { + return Y.DOM._children(node.parentNode, node.tagName)[0] === node; + }, + + 'last-of-type': function(node) { + var children = Y.DOM._children(node.parentNode, node.tagName); + return children[children.length - 1] === node; + }, + + 'only-child': function(node) { + var children = Y.DOM._children(node.parentNode); + return children.length === 1 && children[0] === node; + }, + + 'only-of-type': function(node) { + var children = Y.DOM._children(node.parentNode, node.tagName); + return children.length === 1 && children[0] === node; + }, + + 'empty': function(node) { + return node.childNodes.length === 0; + }, + + 'not': function(node, expr) { + return !Y.Selector.test(node, expr); + }, + + 'contains': function(node, expr) { + var text = node.innerText || node.textContent || ''; + return text.indexOf(expr) > -1; + }, + + 'checked': function(node) { + return (node.checked === true || node.selected === true); + }, + + enabled: function(node) { + return (node.disabled !== undefined && !node.disabled); + }, + + disabled: function(node) { + return (node.disabled); + } +}); + +Y.mix(Y.Selector.operators, { + '^=': '^{val}', // Match starts with value + '$=': '{val}$', // Match ends with value + '*=': '{val}' // Match contains value as substring +}); + +Y.Selector.combinators['~'] = { + axis: 'previousSibling' +}; + + +}, '3.6.0pr3' ,{requires:['selector-native', 'selector-css2']}); +YUI.add('yui-log', function(Y) { + +/** + * Provides console log capability and exposes a custom event for + * console implementations. This module is a `core` YUI module, it's documentation is located under the YUI class. + * + * @module yui + * @submodule yui-log + */ + +var INSTANCE = Y, + LOGEVENT = 'yui:log', + UNDEFINED = 'undefined', + LEVELS = { debug: 1, + info: 1, + warn: 1, + error: 1 }; + +/** + * If the 'debug' config is true, a 'yui:log' event will be + * dispatched, which the Console widget and anything else + * can consume. If the 'useBrowserConsole' config is true, it will + * write to the browser console if available. YUI-specific log + * messages will only be present in the -debug versions of the + * JS files. The build system is supposed to remove log statements + * from the raw and minified versions of the files. + * + * @method log + * @for YUI + * @param {String} msg The message to log. + * @param {String} cat The log category for the message. Default + * categories are "info", "warn", "error", time". + * Custom categories can be used as well. (opt). + * @param {String} src The source of the the message (opt). + * @param {boolean} silent If true, the log event won't fire. + * @return {YUI} YUI instance. + */ +INSTANCE.log = function(msg, cat, src, silent) { + var bail, excl, incl, m, f, + Y = INSTANCE, + c = Y.config, + publisher = (Y.fire) ? Y : YUI.Env.globalEvents; + // suppress log message if the config is off or the event stack + // or the event call stack contains a consumer of the yui:log event + if (c.debug) { + // apply source filters + src = src || ""; + if (typeof src !== "undefined") { + excl = c.logExclude; + incl = c.logInclude; + if (incl && !(src in incl)) { + bail = 1; + } else if (incl && (src in incl)) { + bail = !incl[src]; + } else if (excl && (src in excl)) { + bail = excl[src]; + } + } + if (!bail) { + if (c.useBrowserConsole) { + m = (src) ? src + ': ' + msg : msg; + if (Y.Lang.isFunction(c.logFn)) { + c.logFn.call(Y, msg, cat, src); + } else if (typeof console != UNDEFINED && console.log) { + f = (cat && console[cat] && (cat in LEVELS)) ? cat : 'log'; + console[f](m); + } else if (typeof opera != UNDEFINED) { + opera.postError(m); + } + } + + if (publisher && !silent) { + + if (publisher == Y && (!publisher.getEvent(LOGEVENT))) { + publisher.publish(LOGEVENT, { + broadcast: 2 + }); + } + + publisher.fire(LOGEVENT, { + msg: msg, + cat: cat, + src: src + }); + } + } + } + + return Y; +}; + +/** + * Write a system message. This message will be preserved in the + * minified and raw versions of the YUI files, unlike log statements. + * @method message + * @for YUI + * @param {String} msg The message to log. + * @param {String} cat The log category for the message. Default + * categories are "info", "warn", "error", time". + * Custom categories can be used as well. (opt). + * @param {String} src The source of the the message (opt). + * @param {boolean} silent If true, the log event won't fire. + * @return {YUI} YUI instance. + */ +INSTANCE.message = function() { + return INSTANCE.log.apply(INSTANCE, arguments); +}; + + +}, '3.6.0pr3' ,{requires:['yui-base']}); +YUI.add('dump', function(Y) { + +/** + * Returns a simple string representation of the object or array. + * Other types of objects will be returned unprocessed. Arrays + * are expected to be indexed. Use object notation for + * associative arrays. + * + * If included, the dump method is added to the YUI instance. + * + * @module dump + */ + + var L = Y.Lang, + OBJ = '{...}', + FUN = 'f(){...}', + COMMA = ', ', + ARROW = ' => ', + + /** + * Returns a simple string representation of the object or array. + * Other types of objects will be returned unprocessed. Arrays + * are expected to be indexed. + * + * @method dump + * @param {Object} o The object to dump. + * @param {Number} d How deep to recurse child objects, default 3. + * @return {String} the dump result. + * @for YUI + */ + dump = function(o, d) { + var i, len, s = [], type = L.type(o); + + // Cast non-objects to string + // Skip dates because the std toString is what we want + // Skip HTMLElement-like objects because trying to dump + // an element will cause an unhandled exception in FF 2.x + if (!L.isObject(o)) { + return o + ''; + } else if (type == 'date') { + return o; + } else if (o.nodeType && o.tagName) { + return o.tagName + '#' + o.id; + } else if (o.document && o.navigator) { + return 'window'; + } else if (o.location && o.body) { + return 'document'; + } else if (type == 'function') { + return FUN; + } + + // dig into child objects the depth specifed. Default 3 + d = (L.isNumber(d)) ? d : 3; + + // arrays [1, 2, 3] + if (type == 'array') { + s.push('['); + for (i = 0, len = o.length; i < len; i = i + 1) { + if (L.isObject(o[i])) { + s.push((d > 0) ? L.dump(o[i], d - 1) : OBJ); + } else { + s.push(o[i]); + } + s.push(COMMA); + } + if (s.length > 1) { + s.pop(); + } + s.push(']'); + // regexp /foo/ + } else if (type == 'regexp') { + s.push(o.toString()); + // objects {k1 => v1, k2 => v2} + } else { + s.push('{'); + for (i in o) { + if (o.hasOwnProperty(i)) { + try { + s.push(i + ARROW); + if (L.isObject(o[i])) { + s.push((d > 0) ? L.dump(o[i], d - 1) : OBJ); + } else { + s.push(o[i]); + } + s.push(COMMA); + } catch (e) { + s.push('Error: ' + e.message); + } + } + } + if (s.length > 1) { + s.pop(); + } + s.push('}'); + } + + return s.join(''); + }; + + Y.dump = dump; + L.dump = dump; + + + +}, '3.6.0pr3' ,{requires:['yui-base']}); +YUI.add('transition-timer', function(Y) { + +/* +* The Transition Utility provides an API for creating advanced transitions. +* @module transition +*/ + +/* +* Provides the base Transition class, for animating numeric properties. +* +* @module transition +* @submodule transition-timer +*/ + + +var Transition = Y.Transition; + +Y.mix(Transition.prototype, { + _start: function() { + if (Transition.useNative) { + this._runNative(); + } else { + this._runTimer(); + } + }, + + _runTimer: function() { + var anim = this; + anim._initAttrs(); + + Transition._running[Y.stamp(anim)] = anim; + anim._startTime = new Date(); + Transition._startTimer(); + }, + + _endTimer: function() { + var anim = this; + delete Transition._running[Y.stamp(anim)]; + anim._startTime = null; + }, + + _runFrame: function() { + var t = new Date() - this._startTime; + this._runAttrs(t); + }, + + _runAttrs: function(time) { + var anim = this, + node = anim._node, + config = anim._config, + uid = Y.stamp(node), + attrs = Transition._nodeAttrs[uid], + customAttr = Transition.behaviors, + done = false, + allDone = false, + data, + name, + attribute, + setter, + elapsed, + delay, + d, + t, + i; + + for (name in attrs) { + if ((attribute = attrs[name]) && attribute.transition === anim) { + d = attribute.duration; + delay = attribute.delay; + elapsed = (time - delay) / 1000; + t = time; + data = { + type: 'propertyEnd', + propertyName: name, + config: config, + elapsedTime: elapsed + }; + + setter = (i in customAttr && 'set' in customAttr[i]) ? + customAttr[i].set : Transition.DEFAULT_SETTER; + + done = (t >= d); + + if (t > d) { + t = d; + } + + if (!delay || time >= delay) { + setter(anim, name, attribute.from, attribute.to, t - delay, d - delay, + attribute.easing, attribute.unit); + + if (done) { + delete attrs[name]; + anim._count--; + + if (config[name] && config[name].on && config[name].on.end) { + config[name].on.end.call(Y.one(node), data); + } + + //node.fire('transition:propertyEnd', data); + + if (!allDone && anim._count <= 0) { + allDone = true; + anim._end(elapsed); + anim._endTimer(); + } + } + } + + } + } + }, + + _initAttrs: function() { + var anim = this, + customAttr = Transition.behaviors, + uid = Y.stamp(anim._node), + attrs = Transition._nodeAttrs[uid], + attribute, + duration, + delay, + easing, + val, + name, + mTo, + mFrom, + unit, begin, end; + + for (name in attrs) { + if ((attribute = attrs[name]) && attribute.transition === anim) { + duration = attribute.duration * 1000; + delay = attribute.delay * 1000; + easing = attribute.easing; + val = attribute.value; + + // only allow supported properties + if (name in anim._node.style || name in Y.DOM.CUSTOM_STYLES) { + begin = (name in customAttr && 'get' in customAttr[name]) ? + customAttr[name].get(anim, name) : Transition.DEFAULT_GETTER(anim, name); + + mFrom = Transition.RE_UNITS.exec(begin); + mTo = Transition.RE_UNITS.exec(val); + + begin = mFrom ? mFrom[1] : begin; + end = mTo ? mTo[1] : val; + unit = mTo ? mTo[2] : mFrom ? mFrom[2] : ''; // one might be zero TODO: mixed units + + if (!unit && Transition.RE_DEFAULT_UNIT.test(name)) { + unit = Transition.DEFAULT_UNIT; + } + + if (typeof easing === 'string') { + if (easing.indexOf('cubic-bezier') > -1) { + easing = easing.substring(13, easing.length - 1).split(','); + } else if (Transition.easings[easing]) { + easing = Transition.easings[easing]; + } + } + + attribute.from = Number(begin); + attribute.to = Number(end); + attribute.unit = unit; + attribute.easing = easing; + attribute.duration = duration + delay; + attribute.delay = delay; + } else { + delete attrs[name]; + anim._count--; + } + } + } + }, + + destroy: function() { + this.detachAll(); + this._node = null; + } +}, true); + +Y.mix(Y.Transition, { + _runtimeAttrs: {}, + /* + * Regex of properties that should use the default unit. + * + * @property RE_DEFAULT_UNIT + * @static + */ + RE_DEFAULT_UNIT: /^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i, + + /* + * The default unit to use with properties that pass the RE_DEFAULT_UNIT test. + * + * @property DEFAULT_UNIT + * @static + */ + DEFAULT_UNIT: 'px', + + /* + * Time in milliseconds passed to setInterval for frame processing + * + * @property intervalTime + * @default 20 + * @static + */ + intervalTime: 20, + + /* + * Bucket for custom getters and setters + * + * @property behaviors + * @static + */ + behaviors: { + left: { + get: function(anim, attr) { + return Y.DOM._getAttrOffset(anim._node, attr); + } + } + }, + + /* + * The default setter to use when setting object properties. + * + * @property DEFAULT_SETTER + * @static + */ + DEFAULT_SETTER: function(anim, att, from, to, elapsed, duration, fn, unit) { + from = Number(from); + to = Number(to); + + var node = anim._node, + val = Transition.cubicBezier(fn, elapsed / duration); + + val = from + val[0] * (to - from); + + if (node) { + if (att in node.style || att in Y.DOM.CUSTOM_STYLES) { + unit = unit || ''; + Y.DOM.setStyle(node, att, val + unit); + } + } else { + anim._end(); + } + }, + + /* + * The default getter to use when getting object properties. + * + * @property DEFAULT_GETTER + * @static + */ + DEFAULT_GETTER: function(anim, att) { + var node = anim._node, + val = ''; + + if (att in node.style || att in Y.DOM.CUSTOM_STYLES) { + val = Y.DOM.getComputedStyle(node, att); + } + + return val; + }, + + _startTimer: function() { + if (!Transition._timer) { + Transition._timer = setInterval(Transition._runFrame, Transition.intervalTime); + } + }, + + _stopTimer: function() { + clearInterval(Transition._timer); + Transition._timer = null; + }, + + /* + * Called per Interval to handle each animation frame. + * @method _runFrame + * @private + * @static + */ + _runFrame: function() { + var done = true, + anim; + for (anim in Transition._running) { + if (Transition._running[anim]._runFrame) { + done = false; + Transition._running[anim]._runFrame(); + } + } + + if (done) { + Transition._stopTimer(); + } + }, + + cubicBezier: function(p, t) { + var x0 = 0, + y0 = 0, + x1 = p[0], + y1 = p[1], + x2 = p[2], + y2 = p[3], + x3 = 1, + y3 = 0, + + A = x3 - 3 * x2 + 3 * x1 - x0, + B = 3 * x2 - 6 * x1 + 3 * x0, + C = 3 * x1 - 3 * x0, + D = x0, + E = y3 - 3 * y2 + 3 * y1 - y0, + F = 3 * y2 - 6 * y1 + 3 * y0, + G = 3 * y1 - 3 * y0, + H = y0, + + x = (((A*t) + B)*t + C)*t + D, + y = (((E*t) + F)*t + G)*t + H; + + return [x, y]; + }, + + easings: { + ease: [0.25, 0, 1, 0.25], + linear: [0, 0, 1, 1], + 'ease-in': [0.42, 0, 1, 1], + 'ease-out': [0, 0, 0.58, 1], + 'ease-in-out': [0.42, 0, 0.58, 1] + }, + + _running: {}, + _timer: null, + + RE_UNITS: /^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/ +}, true); + +Transition.behaviors.top = Transition.behaviors.bottom = Transition.behaviors.right = Transition.behaviors.left; + +Y.Transition = Transition; + + +}, '3.6.0pr3' ,{requires:['transition']}); +YUI.add('simpleyui', function(Y) { + +// empty + + + +}, '3.6.0pr3' ,{use:['yui','oop','dom','event-custom-base','event-base','pluginhost','node','event-delegate','io-base','json-parse','transition','selector-css3','dom-style-ie','querystring-stringify-simple']}); +var Y = YUI().use('*'); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-x.png new file mode 100644 index 000000000..4cd29b45b Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-y.png new file mode 100644 index 000000000..9bcd2128b Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base-skin.css new file mode 100644 index 000000000..fe20a2418 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-x.png */ + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail, +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail { + height: 35px; + background-position: 0 7px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb { + height: 35px; + width: 19px; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 13px; + left: -5px; + width: 5px; + top: 7px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 13px; + right: -5px; + width: 5px; + top: 7px; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -3px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -43px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-y.png */ + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail, +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail { + width: 35px; + background-position: 7px 0; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb { + width: 35px; + height: 19px; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 13px; + top: -5px; + height: 5px; + left: 7px; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 13px; + bottom: -5px; + height: 5px; + left: 7px; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-image { + left: -3px; + top: 0; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-shadow { + left: -43px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base.css new file mode 100644 index 000000000..9b19c47f7 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail,.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail{height:35px;background-position:0 7px}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb{height:35px;width:19px}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:13px;left:-5px;width:5px;top:7px}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:13px;right:-5px;width:5px;top:7px}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-3px}.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-43px}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail,.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail{width:35px;background-position:7px 0}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb{width:35px;height:19px}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:13px;top:-5px;height:5px;left:7px}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:13px;bottom:-5px;height:5px;left:7px}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-image{left:-3px;top:0}.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-shadow{left:-43px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-audio-light-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-skin.css new file mode 100644 index 000000000..fe20a2418 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/slider-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-x.png */ + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail, +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail { + height: 35px; + background-position: 0 7px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb { + height: 35px; + width: 19px; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 13px; + left: -5px; + width: 5px; + top: 7px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 13px; + right: -5px; + width: 5px; + top: 7px; +} + +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -3px; +} +.yui3-skin-audio-light .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -43px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-y.png */ + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail, +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail { + width: 35px; + background-position: 7px 0; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb { + width: 35px; + height: 19px; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 13px; + top: -5px; + height: 5px; + left: 7px; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 13px; + bottom: -5px; + height: 5px; + left: 7px; +} + +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-image { + left: -3px; + top: 0; +} +.yui3-skin-audio-light .yui3-slider-y .yui3-slider-thumb-shadow { + left: -43px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-x.png new file mode 100644 index 000000000..f9f69a8ca Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-y.png new file mode 100644 index 000000000..20120d34b Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio-light/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-x.png new file mode 100644 index 000000000..dc37bb249 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-y.png new file mode 100644 index 000000000..7bb0d90e3 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base-skin.css new file mode 100644 index 000000000..aff12d9bd --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-x.png */ + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail, +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail { + height: 35px; + background-position: 0 7px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb { + height: 35px; + width: 19px; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 13px; + left: -5px; + width: 5px; + top: 7px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 13px; + right: -5px; + width: 5px; + top: 7px; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -3px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -43px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-y.png */ + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail, +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail { + width: 35px; + background-position: 7px 0; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb { + width: 35px; + height: 19px; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 13px; + top: -5px; + height: 5px; + left: 7px; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 13px; + bottom: -5px; + height: 5px; + left: 7px; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-image { + left: -3px; + top: 0; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-shadow { + left: -43px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base.css new file mode 100644 index 000000000..33bab4eb7 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-audio .yui3-slider-x .yui3-slider-rail,.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-audio .yui3-slider-x .yui3-slider-rail{height:35px;background-position:0 7px}.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb{height:35px;width:19px}.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:13px;left:-5px;width:5px;top:7px}.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:13px;right:-5px;width:5px;top:7px}.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-3px}.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-43px}.yui3-skin-audio .yui3-slider-y .yui3-slider-rail,.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-audio .yui3-slider-y .yui3-slider-rail{width:35px;background-position:7px 0}.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb{width:35px;height:19px}.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:13px;top:-5px;height:5px;left:7px}.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:13px;bottom:-5px;height:5px;left:7px}.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-image{left:-3px;top:0}.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-shadow{left:-43px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-audio-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-skin.css new file mode 100644 index 000000000..aff12d9bd --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/slider-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-x.png */ + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail, +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail { + height: 35px; + background-position: 0 7px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb { + height: 35px; + width: 19px; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 13px; + left: -5px; + width: 5px; + top: 7px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 13px; + right: -5px; + width: 5px; + top: 7px; +} + +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -3px; +} +.yui3-skin-audio .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -43px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/audio/thumb-y.png */ + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail, +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail { + width: 35px; + background-position: 7px 0; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb { + width: 35px; + height: 19px; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 13px; + top: -5px; + height: 5px; + left: 7px; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 13px; + bottom: -5px; + height: 5px; + left: 7px; +} + +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-image { + left: -3px; + top: 0; +} +.yui3-skin-audio .yui3-slider-y .yui3-slider-thumb-shadow { + left: -43px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-x.png new file mode 100644 index 000000000..e0fbfb2a3 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-y.png new file mode 100644 index 000000000..38dfc3f00 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/audio/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-dots.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-dots.png new file mode 100644 index 000000000..453fb64f3 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-dots.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-lines.png new file mode 100644 index 000000000..8a3c981bb Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x.png new file mode 100644 index 000000000..f1aa290ee Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-dots.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-dots.png new file mode 100644 index 000000000..0555b19d6 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-dots.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-lines.png new file mode 100644 index 000000000..178aa85e1 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y.png new file mode 100644 index 000000000..a47997f25 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base-skin.css new file mode 100644 index 000000000..9b0159fb8 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-x-line.png */ + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-dots.png */ + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail { + height: 25px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb { + height: 30px; + width: 14px; +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-y-line.png */ + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-dots.png */ + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail { + width: 25px; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb { + width: 30px; + height: 14px; +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base.css new file mode 100644 index 000000000..8929dc180 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail,.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail{height:25px}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb{height:30px;width:14px}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-2px;width:5px}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-2px;width:5px}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail,.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail{width:25px}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb{width:30px;height:14px}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-2px;height:5px}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-capsule-dark-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-skin.css new file mode 100644 index 000000000..9b0159fb8 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/slider-skin.css @@ -0,0 +1,97 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-x-line.png */ + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-dots.png */ + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail { + height: 25px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb { + height: 30px; + width: 14px; +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-capsule-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule-dark/thumb-y-line.png */ + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-dots.png */ + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail { + width: 25px; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb { + width: 30px; + height: 14px; +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-capsule-dark .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x-line.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x-line.png new file mode 100644 index 000000000..bfdbe0db8 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x-line.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x.png new file mode 100644 index 000000000..abed02533 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y-line.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y-line.png new file mode 100644 index 000000000..037dca38d Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y-line.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y.png new file mode 100644 index 000000000..e968ed42e Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule-dark/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-dots.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-dots.png new file mode 100644 index 000000000..b3f65d499 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-dots.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-lines.png new file mode 100644 index 000000000..26374dfad Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x.png new file mode 100644 index 000000000..f257ec000 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-dots.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-dots.png new file mode 100644 index 000000000..798c2ce3c Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-dots.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-lines.png new file mode 100644 index 000000000..798c2ce3c Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y.png new file mode 100644 index 000000000..d20d3c3e9 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base-skin.css new file mode 100644 index 000000000..0c5d59757 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base-skin.css @@ -0,0 +1,99 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule/thumb-x-line.png */ + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail, +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + background-repeat: repeat-x; + /* alternate: rail-x-dots.png */ + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail { + height: 25px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb { + height: 30px; + width: 14px; +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule/thumb-y-line.png */ + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail, +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + background-repeat: repeat-y; + /* alternate: rail-y-dots.png */ + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail { + width: 25px; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb { + width: 30px; + height: 14px; +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base.css new file mode 100644 index 000000000..73f245624 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail,.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x;background-repeat:repeat-x}.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail{height:25px}.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb{height:30px;width:14px}.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-2px;width:5px}.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-2px;width:5px}.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail,.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y;background-repeat:repeat-y}.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail{width:25px}.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb{width:30px;height:14px}.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-2px;height:5px}.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-capsule-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-skin.css new file mode 100644 index 000000000..0c5d59757 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/slider-skin.css @@ -0,0 +1,99 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule/thumb-x-line.png */ + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail, +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + background-repeat: repeat-x; + /* alternate: rail-x-dots.png */ + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail { + height: 25px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb { + height: 30px; + width: 14px; +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-capsule .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/capsule/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/capsule/thumb-y-line.png */ + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail, +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + background-repeat: repeat-y; + /* alternate: rail-y-dots.png */ + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail { + width: 25px; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb { + width: 30px; + height: 14px; +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-capsule .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x-line.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x-line.png new file mode 100644 index 000000000..849a4548c Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x-line.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x.png new file mode 100644 index 000000000..09baa964b Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-line.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-line.png new file mode 100644 index 000000000..153c65b1c Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-line.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-lines.png new file mode 100644 index 000000000..4421d7027 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y.png new file mode 100644 index 000000000..4040ee352 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/capsule/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x-lines.png new file mode 100644 index 000000000..4e5a44070 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x.png new file mode 100644 index 000000000..7079de67f Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y-lines.png new file mode 100644 index 000000000..af2bc2480 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y.png new file mode 100644 index 000000000..bc096bc77 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base-skin.css new file mode 100644 index 000000000..7cb9fcf3e --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/night/thumb-x.png */ + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail, +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail { + height: 25px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 21px; +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -5px; + width: 5px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -5px; + width: 5px; +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/night/thumb-y.png */ + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail, +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail { + width: 25px; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 21px; +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -5px; + height: 5px; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -5px; + height: 5px; +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base.css new file mode 100644 index 000000000..0c9702e97 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-night .yui3-slider-x .yui3-slider-rail,.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-night .yui3-slider-x .yui3-slider-rail{height:25px}.yui3-skin-night .yui3-slider-x .yui3-slider-thumb{height:26px;width:21px}.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-5px;width:5px}.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-5px;width:5px}.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-night .yui3-slider-y .yui3-slider-rail,.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-night .yui3-slider-y .yui3-slider-rail{width:25px}.yui3-skin-night .yui3-slider-y .yui3-slider-thumb{width:26px;height:21px}.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-5px;height:5px}.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-5px;height:5px}.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-night-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-skin.css new file mode 100644 index 000000000..8d61738f0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/slider-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-x.png */ + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail, +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail { + height: 26px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 21px; +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-night .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-y.png */ + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail, +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail { + width: 26px; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 15px; +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-night .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-x.png new file mode 100644 index 000000000..2045257c2 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-y.png new file mode 100644 index 000000000..5ea57f08e Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/night/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-x.png new file mode 100644 index 000000000..ce0ee5024 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-y.png new file mode 100644 index 000000000..7fedc219c Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base-skin.css new file mode 100644 index 000000000..55c866f88 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base-skin.css @@ -0,0 +1,95 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round-dark/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round-dark/thumb-x-grip.png */ + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail { + height: 25px; + background-position: 0 3px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 24px; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -17px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -37px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -7px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -47px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round-dark/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round-dark/thumb-y-grip.png */ + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail { + width: 25px; + background-position: 3px 0; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 24px; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -17px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -37px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-image { + top: 0; + left: -7px; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-shadow { + top: 0; + left: -47px; + opacity: 0.15; + filter: alpha(opacity=15); +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base.css new file mode 100644 index 000000000..b5d7d617d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail,.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail{height:25px;background-position:0 3px}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb{height:26px;width:24px}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -17px;height:20px;left:-2px;width:5px}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -37px;height:20px;right:-2px;width:5px}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-7px}.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-47px}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail,.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail{width:25px;background-position:3px 0}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb{width:26px;height:24px}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-17px 0;width:20px;top:-2px;height:5px}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-37px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-image{top:0;left:-7px}.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-shadow{top:0;left:-47px;opacity:.15;filter:alpha(opacity=15)}#yui3-css-stamp.skin-round-dark-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-skin.css new file mode 100644 index 000000000..55c866f88 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/slider-skin.css @@ -0,0 +1,95 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round-dark/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round-dark/thumb-x-grip.png */ + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail { + height: 25px; + background-position: 0 3px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 24px; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -17px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -37px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -7px; +} +.yui3-skin-round-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -47px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round-dark/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round-dark/thumb-y-grip.png */ + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail { + width: 25px; + background-position: 3px 0; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 24px; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -17px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -37px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-image { + top: 0; + left: -7px; +} +.yui3-skin-round-dark .yui3-slider-y .yui3-slider-thumb-shadow { + top: 0; + left: -47px; + opacity: 0.15; + filter: alpha(opacity=15); +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x-grip.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x-grip.png new file mode 100644 index 000000000..858964b82 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x-grip.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x.png new file mode 100644 index 000000000..df181708f Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y-grip.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y-grip.png new file mode 100644 index 000000000..2773a4a9f Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y-grip.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y.png new file mode 100644 index 000000000..8ed649cc7 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round-dark/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-x.png new file mode 100644 index 000000000..62a4e92d6 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-y.png new file mode 100644 index 000000000..86f0b8ca2 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base-skin.css new file mode 100644 index 000000000..cde54459d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base-skin.css @@ -0,0 +1,95 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round/thumb-x-grip.png */ + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail, +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail { + height: 25px; + background-position: 0 3px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 24px; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -17px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -37px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -7px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -47px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round/thumb-y-grip.png */ + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail, +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail { + width: 25px; + background-position: 3px 0; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 24px; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -17px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -37px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-image { + top: 0; + left: -8px; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-shadow { + top: 0; + left: -48px; + opacity: 0.15; + filter: alpha(opacity=15); +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base.css new file mode 100644 index 000000000..6d8ac1ed0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-round .yui3-slider-x .yui3-slider-rail,.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-round .yui3-slider-x .yui3-slider-rail{height:25px;background-position:0 3px}.yui3-skin-round .yui3-slider-x .yui3-slider-thumb{height:26px;width:24px}.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -17px;height:20px;left:-2px;width:5px}.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -37px;height:20px;right:-2px;width:5px}.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-7px}.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-47px}.yui3-skin-round .yui3-slider-y .yui3-slider-rail,.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-round .yui3-slider-y .yui3-slider-rail{width:25px;background-position:3px 0}.yui3-skin-round .yui3-slider-y .yui3-slider-thumb{width:26px;height:24px}.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-17px 0;width:20px;top:-2px;height:5px}.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-37px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-image{top:0;left:-8px}.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-shadow{top:0;left:-48px;opacity:.15;filter:alpha(opacity=15)}#yui3-css-stamp.skin-round-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-skin.css new file mode 100644 index 000000000..cde54459d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/slider-skin.css @@ -0,0 +1,95 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round/thumb-x.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round/thumb-x-grip.png */ + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail, +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail { + height: 25px; + background-position: 0 3px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 24px; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -17px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -37px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -7px; +} +.yui3-skin-round .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -47px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/round/thumb-y.png */ +/* Alternate thumbUrl /build/slider-base/assets/skins/round/thumb-y-grip.png */ + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail, +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail { + width: 25px; + background-position: 3px 0; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 24px; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -17px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -37px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-image { + top: 0; + left: -8px; +} +.yui3-skin-round .yui3-slider-y .yui3-slider-thumb-shadow { + top: 0; + left: -48px; + opacity: 0.15; + filter: alpha(opacity=15); +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x-grip.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x-grip.png new file mode 100644 index 000000000..b80b8ac79 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x-grip.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x.png new file mode 100644 index 000000000..22ac2a5b9 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y-grip.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y-grip.png new file mode 100644 index 000000000..1bf7ff3e4 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y-grip.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y.png new file mode 100644 index 000000000..a8a0c6202 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/round/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x-lines.png new file mode 100644 index 000000000..39ac404cc Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x.png new file mode 100644 index 000000000..bdbc07cdd Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y-lines.png new file mode 100644 index 000000000..0553faa9a Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y.png new file mode 100644 index 000000000..a2913427e Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base-skin.css new file mode 100644 index 000000000..5a4480e37 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-x.png */ + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail { + height: 26px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 15px; +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-y.png */ + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail { + width: 26px; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 15px; +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base.css new file mode 100644 index 000000000..c6a123aa5 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail,.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail{height:26px}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb{height:26px;width:15px}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-2px;width:5px}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-2px;width:5px}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail,.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail{width:26px}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb{width:26px;height:15px}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-2px;height:5px}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-sam-dark-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-skin.css new file mode 100644 index 000000000..5a4480e37 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/slider-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-x.png */ + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail, +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail { + height: 26px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 15px; +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-sam-dark .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam-dark/thumb-y.png */ + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail, +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail { + width: 26px; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 15px; +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-sam-dark .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-x.png new file mode 100644 index 000000000..3526ffc15 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-y.png new file mode 100644 index 000000000..9aad18b57 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam-dark/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x-lines.png new file mode 100644 index 000000000..45c84288f Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x.png new file mode 100644 index 000000000..b99e1049e Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y-lines.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y-lines.png new file mode 100644 index 000000000..841c97088 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y-lines.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y.png new file mode 100644 index 000000000..2bec78ab6 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/rail-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base-skin.css new file mode 100644 index 000000000..daf501a5c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam/thumb-x.png */ + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail, +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail { + height: 26px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 15px; +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam/thumb-y.png */ + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail, +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail { + width: 26px; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 15px; +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base.css new file mode 100644 index 000000000..1d0c99401 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-base.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider,.yui3-slider-rail{display:-moz-inline-stack;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.yui3-slider-content{position:relative;display:block}.yui3-slider-rail{position:relative}.yui3-slider-rail-cap-top,.yui3-slider-rail-cap-left,.yui3-slider-rail-cap-bottom,.yui3-slider-rail-cap-right,.yui3-slider-thumb,.yui3-slider-thumb-image,.yui3-slider-thumb-shadow{position:absolute}.yui3-slider-thumb{overflow:hidden}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail,.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left,.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right{background-image:url(rail-x.png);background-repeat:repeat-x}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail{height:26px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb{height:26px;width:15px}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left{background-position:0 -20px;height:20px;left:-2px;width:5px}.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right{background-position:0 -40px;height:20px;right:-2px;width:5px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-image{left:0;top:-10px}.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-shadow{left:0;opacity:.15;filter:alpha(opacity=15);top:-50px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail,.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top,.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom{background-image:url(rail-y.png);background-repeat:repeat-y}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail{width:26px}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb{width:26px;height:15px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top{background-position:-20px 0;width:20px;top:-2px;height:5px}.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom{background-position:-40px 0;width:20px;bottom:-2px;height:5px}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-image{left:-10px;top:0}.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-shadow{left:-50px;opacity:.15;filter:alpha(opacity=15);top:0}#yui3-css-stamp.skin-sam-slider-base{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-skin.css new file mode 100644 index 000000000..daf501a5c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/slider-skin.css @@ -0,0 +1,93 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Horizontal Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam/thumb-x.png */ + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail, +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left, +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right { + background-image: url(rail-x.png); + background-repeat: repeat-x; + /* alternate: rail-x-lines.png */ +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail { + height: 26px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb { + height: 26px; + width: 15px; +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-left { + background-position: 0 -20px; + height: 20px; + left: -2px; + width: 5px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-rail-cap-right { + background-position: 0 -40px; + height: 20px; + right: -2px; + width: 5px; +} + +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-image { + left: 0; + top: -10px; +} +.yui3-skin-sam .yui3-slider-x .yui3-slider-thumb-shadow { + left: 0; + opacity: 0.15; + filter: alpha(opacity=15); + top: -50px; +} + +/* Vertical Slider */ + +/* Use thumbUrl /build/slider-base/assets/skins/sam/thumb-y.png */ + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail, +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top, +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-image: url(rail-y.png); + background-repeat: repeat-y; + /* alternate: rail-y-lines.png */ +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail { + width: 26px; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb { + width: 26px; + height: 15px; +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-top { + background-position: -20px 0; + width: 20px; + top: -2px; + height: 5px; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-rail-cap-bottom { + background-position: -40px 0; + width: 20px; + bottom: -2px; + height: 5px; +} + +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-image { + left: -10px; + top: 0; +} +.yui3-skin-sam .yui3-slider-y .yui3-slider-thumb-shadow { + left: -50px; + opacity: 0.15; + filter: alpha(opacity=15); + top: 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-x.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-x.png new file mode 100644 index 000000000..4d4bcbd48 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-x.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-y.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-y.png new file mode 100644 index 000000000..0b17a0ed2 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/skins/sam/thumb-y.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-base-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-base-core.css new file mode 100644 index 000000000..3f28e6911 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-base-core.css @@ -0,0 +1,37 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider, +.yui3-slider-rail { + /* xbrowser inline-block styles */ + display: -moz-inline-stack; /* FF2 */ + display: inline-block; + *display: inline; /* IE 7- (with zoom) */ + zoom: 1; + vertical-align: middle; +} + +.yui3-slider-content { + position: relative; + display: block; +} +.yui3-slider-rail { + position: relative; +} + +.yui3-slider-rail-cap-top, +.yui3-slider-rail-cap-left, +.yui3-slider-rail-cap-bottom, +.yui3-slider-rail-cap-right, +.yui3-slider-thumb, +.yui3-slider-thumb-image, +.yui3-slider-thumb-shadow { + position: absolute; +} + +.yui3-slider-thumb { + overflow: hidden; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-core.css new file mode 100644 index 000000000..3f28e6911 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/slider-core.css @@ -0,0 +1,37 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider, +.yui3-slider-rail { + /* xbrowser inline-block styles */ + display: -moz-inline-stack; /* FF2 */ + display: inline-block; + *display: inline; /* IE 7- (with zoom) */ + zoom: 1; + vertical-align: middle; +} + +.yui3-slider-content { + position: relative; + display: block; +} +.yui3-slider-rail { + position: relative; +} + +.yui3-slider-rail-cap-top, +.yui3-slider-rail-cap-left, +.yui3-slider-rail-cap-bottom, +.yui3-slider-rail-cap-right, +.yui3-slider-thumb, +.yui3-slider-thumb-image, +.yui3-slider-thumb-shadow { + position: absolute; +} + +.yui3-slider-thumb { + overflow: hidden; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong-dark.png new file mode 100644 index 000000000..bc0aa14ce Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong.png new file mode 100644 index 000000000..670ba1ea1 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2-dark.png new file mode 100644 index 000000000..20f126029 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2.png new file mode 100644 index 000000000..76e34e60a Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-x-oblong2.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong-dark.png new file mode 100644 index 000000000..a0eed7087 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong.png new file mode 100644 index 000000000..e63c8d7d8 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2-dark.png new file mode 100644 index 000000000..e91ffb7b3 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2.png new file mode 100644 index 000000000..89a466727 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/assets/thumb-y-oblong2.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/debug.js new file mode 100644 index 000000000..01152ad20 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("slider-base"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/index.js new file mode 100644 index 000000000..4952cc1e6 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("slider-base"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-debug.js new file mode 100644 index 000000000..3658780f0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-debug.js @@ -0,0 +1,768 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('slider-base', function(Y) { + +/** + * Create a sliding value range input visualized as a draggable thumb on a + * background element. + * + * @module slider + * @submodule slider-base + */ + +var INVALID_VALUE = Y.Attribute.INVALID_VALUE; + +/** + * Create a slider to represent an input control capable of representing a + * series of intermediate states based on the position of the slider's thumb. + * These states are typically aligned to a value algorithm whereby the thumb + * position corresponds to a given value. Sliders may be oriented vertically or + * horizontally, based on the axis configuration. + * + * @class SliderBase + * @extends Widget + * @param config {Object} Configuration object + * @constructor + */ +function SliderBase() { + SliderBase.superclass.constructor.apply( this, arguments ); +} + +Y.SliderBase = Y.extend( SliderBase, Y.Widget, { + + // Y.Slider prototype + + /** + * Construction logic executed during Slider instantiation. + * + * @method initializer + * @protected + */ + initializer : function () { + /** + * The configured axis, stored for fast lookup since it's a writeOnce + * attribute. This is for use by extension classes. For + * implementation code, use get( "axis" ) for + * authoritative source. Never write to this property. + * + * @property axis + * @type {String} + * @protected + */ + this.axis = this.get( 'axis' ); + + /** + * Cached fast access map for DOM properties and attributes that + * pertain to accessing dimensional or positioning information + * according to the Slider's axis (e.g. "height" vs. + * "width"). Extension classes should add to this collection + * for axis related strings if necessary. + * + * @property _key + * @type {Object} + * @protected + */ + this._key = { + dim : ( this.axis === 'y' ) ? 'height' : 'width', + minEdge: ( this.axis === 'y' ) ? 'top' : 'left', + maxEdge: ( this.axis === 'y' ) ? 'bottom' : 'right', + xyIndex: ( this.axis === 'y' ) ? 1 : 0 + }; + + /** + * Signals that the thumb has moved. Payload includes the thumb's + * pixel offset from the top/left edge of the rail, and if triggered by + * dragging the thumb, the drag:drag event. + * + * @event thumbMove + * @param event {Event} The event object for the thumbMove with the + * following extra properties: + *
+ *
offset
+ *
Pixel offset from top/left of the slider to the new + * thumb position
+ *
ddEvent (deprecated)
+ *
drag:drag event from the thumb
+ *
originEvent
+ *
drag:drag event from the thumb
+ *
+ */ + this.publish( 'thumbMove', { + defaultFn: this._defThumbMoveFn, + queuable : true + } ); + }, + + /** + * Create the DOM structure for the Slider. + * + * @method renderUI + * @protected + */ + renderUI : function () { + var contentBox = this.get( 'contentBox' ); + + /** + * The Node instance of the Slider's rail element. Do not write to + * this property. + * + * @property rail + * @type {Node} + */ + this.rail = this.renderRail(); + + this._uiSetRailLength( this.get( 'length' ) ); + + /** + * The Node instance of the Slider's thumb element. Do not write to + * this property. + * + * @property thumb + * @type {Node} + */ + this.thumb = this.renderThumb(); + + this.rail.appendChild( this.thumb ); + // @TODO: insert( contentBox, 'replace' ) or setHTML? + contentBox.appendChild( this.rail ); + + // + contentBox.addClass( this.getClassName( this.axis ) ); + }, + + /** + * Creates the Slider rail DOM subtree for insertion into the Slider's + * contentBox. Override this method if you want to provide + * the rail element (presumably from existing markup). + * + * @method renderRail + * @return {Node} the rail node subtree + */ + renderRail: function () { + var minCapClass = this.getClassName( 'rail', 'cap', this._key.minEdge ), + maxCapClass = this.getClassName( 'rail', 'cap', this._key.maxEdge ); + + return Y.Node.create( + Y.substitute( this.RAIL_TEMPLATE, { + railClass : this.getClassName( 'rail' ), + railMinCapClass: minCapClass, + railMaxCapClass: maxCapClass + } ) ); + }, + + /** + * Sets the rail length according to the length attribute. + * + * @method _uiSetRailLength + * @param length {String} the length to apply to the rail style + * @protected + */ + _uiSetRailLength: function ( length ) { + this.rail.setStyle( this._key.dim, length ); + }, + + /** + * Creates the Slider thumb DOM subtree for insertion into the Slider's + * rail. Override this method if you want to provide the thumb element + * (presumably from existing markup). + * + * @method renderThumb + * @return {Node} the thumb node subtree + */ + renderThumb: function () { + this._initThumbUrl(); + + var imageUrl = this.get( 'thumbUrl' ); + + return Y.Node.create( + Y.substitute( this.THUMB_TEMPLATE, { + thumbClass : this.getClassName( 'thumb' ), + thumbShadowClass: this.getClassName( 'thumb', 'shadow' ), + thumbImageClass : this.getClassName( 'thumb', 'image' ), + thumbShadowUrl : imageUrl, + thumbImageUrl : imageUrl, + thumbAriaLabelId: this.getClassName( 'label', Y.guid()) // get unique id for specifying a label for ARIA + } ) ); + }, + + /** + * Gives focus to the thumb enabling keyboard access after clicking thumb + * + * @method _onThumbClick + * @protected + */ + _onThumbClick : function(e){ + this.thumb.focus(); + }, + + + /** + * Creates the Y.DD.Drag instance used to handle the thumb movement and + * binds Slider interaction to the configured value model. + * + * @method bindUI + * @protected + */ + bindUI : function () { + + // Begin keyboard listeners /////////////////////////////// + var boundingBox = this.get("boundingBox"), //Y.one('body'), + // Looking for a key event which will fire continously across browsers while the key is held down. + keyEvent = (!Y.UA.opera) ? "down:" : "press:", + // 38, 40 = arrow up/down, 33, 34 = page up/down, 35 , 36 = end/home + keyEventSpec = keyEvent + "38,40,33,34,35,36", + // 37 , 39 = arrow left/right + keyLeftRightSpec = keyEvent + "37,39", + // 37 , 39 = arrow left/right + meta (command/apple key) for mac + keyLeftRightSpecMeta = keyEvent + "37+meta,39+meta"; + + boundingBox.on("key", this._onDirectionKey, keyEventSpec, this); + boundingBox.on("key", this._onLeftRightKey, keyLeftRightSpec, this); + boundingBox.on("key", this._onLeftRightKeyMeta, keyLeftRightSpecMeta, this); + // End keyboard listeners ////////////////////////////////// + + this.thumb.on('click', this._onThumbClick, this); + + this._bindThumbDD(); + + this._bindValueLogic(); + + this.after( 'disabledChange', this._afterDisabledChange ); + this.after( 'lengthChange', this._afterLengthChange ); + + }, + + /** + * increments Slider value by a minor increment + * + * @method _incrMinor + * @protected + */ + _incrMinor : function(){ + this.set('value', (this.get('value') + this.get('minorStep'))); + }, + + /** + * decrements Slider value by a minor increment + * + * @method _decrMinor + * @protected + */ + _decrMinor : function(){ + this.set('value', (this.get('value') - this.get('minorStep'))); + }, + + /** + * increments Slider value by a major increment + * + * @method _incrMajor + * @protected + */ + _incrMajor : function(){ + this.set('value', (this.get('value') + this.get('majorStep'))); + }, + + /** + * decrements Slider value by a major increment + * + * @method _decrMajor + * @protected + */ + _decrMajor : function(){ + this.set('value', (this.get('value') - this.get('majorStep'))); + }, + + /** + * sets the Slider value to the min value. + * + * @method _setToMin + * @protected + */ + _setToMin : function(e){ + this.set('value', this.get('min')); + }, + + /** + * sets the Slider value to the max value. + * + * @method _setToMax + * @protected + */ + _setToMax : function(e){ + this.set('value', this.get('max')); + }, + + /** + * sets the Slider's value in response to key events. + * Left and right keys are in a separate method + * in case an implementation wants to increment values + * but needs left and right arrow keys for other purposes. + * + * @method _onDirectionKey + * @param e {Event} the key event + * @protected + */ + _onDirectionKey : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 38: // up + this._incrMinor(); + break; + case 40: // down + this._decrMinor(); + break; + case 36: // home + this._setToMin(); + break; + case 35: // end + this._setToMax(); + break; + case 33: // page up + this._incrMajor(); + break; + case 34: // page down + this._decrMajor(); + break; + } + } + }, + + /** + * sets the Slider's value in response to left or right key events + * + * @method _onLeftRightKey + * @param e {Event} the key event + * @protected + */ + _onLeftRightKey : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 37: // left + this._decrMinor(); + break; + case 39: // right + this._incrMinor(); + break; + } + } + }, + + /** + * sets the Slider's value in response to left or right key events when a meta (mac command/apple) key is also pressed + * + * @method _onLeftRightKeyMeta + * @param e {Event} the key event + * @protected + */ + _onLeftRightKeyMeta : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 37: // left + meta + this._setToMin(); + break; + case 39: // right + meta + this._setToMax(); + break; + } + } + }, + + + + + + /** + * Makes the thumb draggable and constrains it to the rail. + * + * @method _bindThumbDD + * @protected + */ + _bindThumbDD: function () { + var config = { constrain: this.rail }; + + // { constrain: rail, stickX: true } + config[ 'stick' + this.axis.toUpperCase() ] = true; + + /** + * The DD.Drag instance linked to the thumb node. + * + * @property _dd + * @type {DD.Drag} + * @protected + */ + this._dd = new Y.DD.Drag( { + node : this.thumb, + bubble : false, + on : { + 'drag:start': Y.bind( this._onDragStart, this ) + }, + after : { + 'drag:drag': Y.bind( this._afterDrag, this ), + 'drag:end' : Y.bind( this._afterDragEnd, this ) + } + } ); + + // Constrain the thumb to the rail + this._dd.plug( Y.Plugin.DDConstrained, config ); + }, + + /** + * Stub implementation. Override this (presumably in a class extension) to + * initialize any value logic that depends on the presence of the Drag + * instance. + * + * @method _bindValueLogic + * @protected + */ + _bindValueLogic: function () {}, + + /** + * Moves the thumb to pixel offset position along the rail. + * + * @method _uiMoveThumb + * @param offset {Number} the pixel offset to set as left or top style + * @param [options] {Object} Details to send with the `thumbMove` event + * @protected + */ + _uiMoveThumb: function ( offset, options ) { + if ( this.thumb ) { + this.thumb.setStyle( this._key.minEdge, offset + 'px' ); + + Y.log("Setting thumb " + this._key.minEdge + " to " + offset + "px","info","slider"); + + options || (options = {}); + options.offset = offset; + + this.fire( 'thumbMove', options ); + } + }, + + /** + * Dispatches the slideStart event. + * + * @method _onDragStart + * @param e {Event} the drag:start event from the thumb + * @protected + */ + _onDragStart: function ( e ) { + /** + * Signals the beginning of a thumb drag operation. Payload includes + * the thumb's drag:start event. + * + * @event slideStart + * @param event {Event} The event object for the slideStart with the + * following extra properties: + *
+ *
ddEvent (deprecated)
+ *
drag:start event from the thumb
+ *
originEvent
+ *
drag:start event from the thumb
+ *
+ */ + this.fire('slideStart', { + ddEvent: e, // for backward compatibility + originEvent: e + }); + }, + + /** + * Dispatches the thumbMove event. + * + * @method _afterDrag + * @param e {Event} the drag:drag event from the thumb + * @protected + */ + _afterDrag: function ( e ) { + var thumbXY = e.info.xy[ this._key.xyIndex ], + railXY = e.target.con._regionCache[ this._key.minEdge ]; + + Y.log("Thumb position: " + thumbXY + ", Rail position: " + railXY, "info", "slider"); + this.fire( 'thumbMove', { + offset : (thumbXY - railXY), + ddEvent: e, // for backward compatibility + originEvent: e + } ); + }, + + /** + * Dispatches the slideEnd event. + * + * @method _onDragEnd + * @param e {Event} the drag:end event from the thumb + * @protected + */ + _afterDragEnd: function ( e ) { + /** + * Signals the end of a thumb drag operation. Payload includes + * the thumb's drag:end event. + * + * @event slideEnd + * @param event {Event} The event object for the slideEnd with the + * following extra properties: + *
+ *
ddEvent (deprecated)
+ *
drag:end event from the thumb
+ *
originEvent
+ *
drag:end event from the thumb
+ *
+ */ + this.fire('slideEnd', { + ddEvent: e, + originEvent: e + }); + }, + + /** + * Locks or unlocks the thumb. + * + * @method _afterDisabledChange + * @param e {Event} The disabledChange event object + * @protected + */ + _afterDisabledChange: function ( e ) { + this._dd.set( 'lock', e.newVal ); + }, + + /** + * Handles changes to the length attribute. By default, it + * triggers an update to the UI. + * + * @method _afterLengthChange + * @param e {Event} The lengthChange event object + * @protected + */ + _afterLengthChange: function ( e ) { + if ( this.get( 'rendered' ) ) { + this._uiSetRailLength( e.newVal ); + + this.syncUI(); + } + }, + + /** + * Synchronizes the DOM state with the attribute settings. + * + * @method syncUI + */ + syncUI : function () { + this._dd.con.resetCache(); + + this._syncThumbPosition(); + + // Forces a reflow of the bounding box to address IE8 inline-block + // container not expanding correctly. bug 2527905 + //this.get('boundingBox').toggleClass(''); + this.thumb.set('aria-valuemin', this.get('min')); + this.thumb.set('aria-valuemax', this.get('max')); + + this._dd.set('lock', this.get('disabled')); + }, + + /** + * Stub implementation. Override this (presumably in a class extension) to + * ensure the thumb is in the correct position according to the value + * alogorithm. + * instance. + * + * @method _syncThumbPosition + * @protected + */ + _syncThumbPosition: function () {}, + + /** + * Validates the axis is "x" or "y" (case insensitive). + * Converts to lower case for storage. + * + * @method _setAxis + * @param v {String} proposed value for the axis attribute + * @return {String} lowercased first character of the input string + * @protected + */ + _setAxis : function (v) { + v = ( v + '' ).toLowerCase(); + + return ( v === 'x' || v === 'y' ) ? v : INVALID_VALUE; + }, + + /** + *

Ensures the stored length value is a string with a quantity and unit. + * Unit will be defaulted to "px" if not included. Rejects + * values less than or equal to 0 and those that don't at least start with + * a number.

+ * + *

Currently only pixel lengths are supported.

+ * + * @method _setLength + * @param v {String} proposed value for the length attribute + * @return {String} the sanitized value + * @protected + */ + _setLength: function ( v ) { + v = ( v + '' ).toLowerCase(); + + var length = parseFloat( v, 10 ), + units = v.replace( /[\d\.\-]/g, '' ) || this.DEF_UNIT; + + return length > 0 ? ( length + units ) : INVALID_VALUE; + }, + + /** + *

Defaults the thumbURL attribute according to the current skin, or + * "sam" if none can be determined. Horizontal Sliders will have + * their thumbUrl attribute set to

+ *

"/configured/yui/builddir/slider-base/assets/skins/sam/thumb-x.png"

+ *

And vertical thumbs will get

+ *

"/configured/yui/builddir/slider-base/assets/skins/sam/thumb-y.png"

+ * + * @method _initThumbUrl + * @protected + */ + _initThumbUrl: function () { + if (!this.get('thumbUrl')) { + var skin = this.getSkinName() || 'sam', + base = Y.config.base; + + // Unfortunate hack to avoid requesting image resources from the + // combo service. The combo service does not serve images. + if (base.indexOf('http://yui.yahooapis.com/combo') === 0) { + base = 'http://yui.yahooapis.com/' + Y.version + '/build/'; + } + + // + this.set('thumbUrl', base + 'slider-base/assets/skins/' + + skin + '/thumb-' + this.axis + '.png'); + + } + }, + + /** + * Bounding box template that will contain the Slider's DOM subtree. <span>s are used to support inline-block styling. + * + * @property BOUNDING_TEMPLATE + * @type {String} + * @default <span></span> + */ + BOUNDING_TEMPLATE : '', + + /** + * Content box template that will contain the Slider's rail and thumb. + * + * @property CONTENT_TEMPLATE + * @type {String} + * @default <span></span> + */ + CONTENT_TEMPLATE : '', + + /** + * Rail template that will contain the end caps and the thumb. + * {placeholder}s are used for template substitution at render time. + * + * @property RAIL_TEMPLATE + * @type {String} + * @default <span class="{railClass}"><span class="{railMinCapClass}"></span><span class="{railMaxCapClass}"></span></span> + */ + RAIL_TEMPLATE : '' + + '' + + '' + + '', + + /** + * Thumb template that will contain the thumb image and shadow. <img> + * tags are used instead of background images to avoid a flicker bug in IE. + * {placeholder}s are used for template substitution at render time. + * + * @property THUMB_TEMPLATE + * @type {String} + * @default <span class="{thumbClass}" tabindex="-1"><img src="{thumbShadowUrl}" alt="Slider thumb shadow" class="{thumbShadowClass}"><img src="{thumbImageUrl}" alt="Slider thumb" class="{thumbImageClass}"></span> + */ + THUMB_TEMPLATE : '' + // keyboard access jeff tabindex="-1" + '' + + '' + + '' + +}, { + + // Y.SliderBase static properties + + /** + * The identity of the widget. + * + * @property NAME + * @type String + * @default 'sliderBase' + * @readOnly + * @protected + * @static + */ + NAME : 'sliderBase', + + /** + * Static property used to define the default attribute configuration of + * the Widget. + * + * @property ATTRS + * @type {Object} + * @protected + * @static + */ + ATTRS : { + + /** + * Axis upon which the Slider's thumb moves. "x" for + * horizontal, "y" for vertical. + * + * @attribute axis + * @type {String} + * @default "x" + * @writeOnce + */ + axis : { + value : 'x', + writeOnce : true, + setter : '_setAxis', + lazyAdd : false + }, + + /** + * The length of the rail (exclusive of the end caps if positioned by + * CSS). This corresponds to the movable range of the thumb. + * + * @attribute length + * @type {String | Number} e.g. "200px" or 200 + * @default 150px + */ + length: { + value: '150px', + setter: '_setLength' + }, + + /** + * Path to the thumb image. This will be used as both the thumb and + * shadow as a sprite. Defaults at render() to thumb-x.png or + * thumb-y.png in the skin directory of the current skin. + * + * @attribute thumbUrl + * @type {String} + * @default thumb-x.png or thumb-y.png in the sam skin directory of the + * current build path for Slider + */ + thumbUrl: { + value: null, + validator: Y.Lang.isString + } + } +}); + + +}, '3.6.0pr3' ,{requires:['widget', 'substitute', 'dd-constrain', 'event-key']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-min.js new file mode 100644 index 000000000..33a796763 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("slider-base",function(c){var b=c.Attribute.INVALID_VALUE;function a(){a.superclass.constructor.apply(this,arguments);}c.SliderBase=c.extend(a,c.Widget,{initializer:function(){this.axis=this.get("axis");this._key={dim:(this.axis==="y")?"height":"width",minEdge:(this.axis==="y")?"top":"left",maxEdge:(this.axis==="y")?"bottom":"right",xyIndex:(this.axis==="y")?1:0};this.publish("thumbMove",{defaultFn:this._defThumbMoveFn,queuable:true});},renderUI:function(){var d=this.get("contentBox");this.rail=this.renderRail();this._uiSetRailLength(this.get("length"));this.thumb=this.renderThumb();this.rail.appendChild(this.thumb);d.appendChild(this.rail);d.addClass(this.getClassName(this.axis));},renderRail:function(){var e=this.getClassName("rail","cap",this._key.minEdge),d=this.getClassName("rail","cap",this._key.maxEdge);return c.Node.create(c.substitute(this.RAIL_TEMPLATE,{railClass:this.getClassName("rail"),railMinCapClass:e,railMaxCapClass:d}));},_uiSetRailLength:function(d){this.rail.setStyle(this._key.dim,d);},renderThumb:function(){this._initThumbUrl();var d=this.get("thumbUrl");return c.Node.create(c.substitute(this.THUMB_TEMPLATE,{thumbClass:this.getClassName("thumb"),thumbShadowClass:this.getClassName("thumb","shadow"),thumbImageClass:this.getClassName("thumb","image"),thumbShadowUrl:d,thumbImageUrl:d,thumbAriaLabelId:this.getClassName("label",c.guid())}));},_onThumbClick:function(d){this.thumb.focus();},bindUI:function(){var d=this.get("boundingBox"),f=(!c.UA.opera)?"down:":"press:",e=f+"38,40,33,34,35,36",h=f+"37,39",g=f+"37+meta,39+meta";d.on("key",this._onDirectionKey,e,this);d.on("key",this._onLeftRightKey,h,this);d.on("key",this._onLeftRightKeyMeta,g,this);this.thumb.on("click",this._onThumbClick,this);this._bindThumbDD();this._bindValueLogic();this.after("disabledChange",this._afterDisabledChange);this.after("lengthChange",this._afterLengthChange);},_incrMinor:function(){this.set("value",(this.get("value")+this.get("minorStep")));},_decrMinor:function(){this.set("value",(this.get("value")-this.get("minorStep")));},_incrMajor:function(){this.set("value",(this.get("value")+this.get("majorStep")));},_decrMajor:function(){this.set("value",(this.get("value")-this.get("majorStep")));},_setToMin:function(d){this.set("value",this.get("min"));},_setToMax:function(d){this.set("value",this.get("max"));},_onDirectionKey:function(d){d.preventDefault();if(this.get("disabled")===false){switch(d.charCode){case 38:this._incrMinor();break;case 40:this._decrMinor();break;case 36:this._setToMin();break;case 35:this._setToMax();break;case 33:this._incrMajor();break;case 34:this._decrMajor();break;}}},_onLeftRightKey:function(d){d.preventDefault();if(this.get("disabled")===false){switch(d.charCode){case 37:this._decrMinor();break;case 39:this._incrMinor();break;}}},_onLeftRightKeyMeta:function(d){d.preventDefault();if(this.get("disabled")===false){switch(d.charCode){case 37:this._setToMin();break;case 39:this._setToMax();break;}}},_bindThumbDD:function(){var d={constrain:this.rail};d["stick"+this.axis.toUpperCase()]=true;this._dd=new c.DD.Drag({node:this.thumb,bubble:false,on:{"drag:start":c.bind(this._onDragStart,this)},after:{"drag:drag":c.bind(this._afterDrag,this),"drag:end":c.bind(this._afterDragEnd,this)}});this._dd.plug(c.Plugin.DDConstrained,d);},_bindValueLogic:function(){},_uiMoveThumb:function(e,d){if(this.thumb){this.thumb.setStyle(this._key.minEdge,e+"px");d||(d={});d.offset=e;this.fire("thumbMove",d);}},_onDragStart:function(d){this.fire("slideStart",{ddEvent:d,originEvent:d});},_afterDrag:function(f){var g=f.info.xy[this._key.xyIndex],d=f.target.con._regionCache[this._key.minEdge];this.fire("thumbMove",{offset:(g-d),ddEvent:f,originEvent:f});},_afterDragEnd:function(d){this.fire("slideEnd",{ddEvent:d,originEvent:d});},_afterDisabledChange:function(d){this._dd.set("lock",d.newVal);},_afterLengthChange:function(d){if(this.get("rendered")){this._uiSetRailLength(d.newVal);this.syncUI();}},syncUI:function(){this._dd.con.resetCache();this._syncThumbPosition();this.thumb.set("aria-valuemin",this.get("min"));this.thumb.set("aria-valuemax",this.get("max"));this._dd.set("lock",this.get("disabled"));},_syncThumbPosition:function(){},_setAxis:function(d){d=(d+"").toLowerCase();return(d==="x"||d==="y")?d:b;},_setLength:function(e){e=(e+"").toLowerCase();var f=parseFloat(e,10),d=e.replace(/[\d\.\-]/g,"")||this.DEF_UNIT;return f>0?(f+d):b;},_initThumbUrl:function(){if(!this.get("thumbUrl")){var e=this.getSkinName()||"sam",d=c.config.base;if(d.indexOf("http://yui.yahooapis.com/combo")===0){d="http://yui.yahooapis.com/"+c.version+"/build/";}this.set("thumbUrl",d+"slider-base/assets/skins/"+e+"/thumb-"+this.axis+".png");}},BOUNDING_TEMPLATE:"",CONTENT_TEMPLATE:"",RAIL_TEMPLATE:''+''+''+"",THUMB_TEMPLATE:''+''+''+""},{NAME:"sliderBase",ATTRS:{axis:{value:"x",writeOnce:true,setter:"_setAxis",lazyAdd:false},length:{value:"150px",setter:"_setLength"},thumbUrl:{value:null,validator:c.Lang.isString}}});},"3.6.0pr3",{requires:["widget","substitute","dd-constrain","event-key"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base.js new file mode 100644 index 000000000..e373941f8 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-base/slider-base.js @@ -0,0 +1,766 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('slider-base', function(Y) { + +/** + * Create a sliding value range input visualized as a draggable thumb on a + * background element. + * + * @module slider + * @submodule slider-base + */ + +var INVALID_VALUE = Y.Attribute.INVALID_VALUE; + +/** + * Create a slider to represent an input control capable of representing a + * series of intermediate states based on the position of the slider's thumb. + * These states are typically aligned to a value algorithm whereby the thumb + * position corresponds to a given value. Sliders may be oriented vertically or + * horizontally, based on the axis configuration. + * + * @class SliderBase + * @extends Widget + * @param config {Object} Configuration object + * @constructor + */ +function SliderBase() { + SliderBase.superclass.constructor.apply( this, arguments ); +} + +Y.SliderBase = Y.extend( SliderBase, Y.Widget, { + + // Y.Slider prototype + + /** + * Construction logic executed during Slider instantiation. + * + * @method initializer + * @protected + */ + initializer : function () { + /** + * The configured axis, stored for fast lookup since it's a writeOnce + * attribute. This is for use by extension classes. For + * implementation code, use get( "axis" ) for + * authoritative source. Never write to this property. + * + * @property axis + * @type {String} + * @protected + */ + this.axis = this.get( 'axis' ); + + /** + * Cached fast access map for DOM properties and attributes that + * pertain to accessing dimensional or positioning information + * according to the Slider's axis (e.g. "height" vs. + * "width"). Extension classes should add to this collection + * for axis related strings if necessary. + * + * @property _key + * @type {Object} + * @protected + */ + this._key = { + dim : ( this.axis === 'y' ) ? 'height' : 'width', + minEdge: ( this.axis === 'y' ) ? 'top' : 'left', + maxEdge: ( this.axis === 'y' ) ? 'bottom' : 'right', + xyIndex: ( this.axis === 'y' ) ? 1 : 0 + }; + + /** + * Signals that the thumb has moved. Payload includes the thumb's + * pixel offset from the top/left edge of the rail, and if triggered by + * dragging the thumb, the drag:drag event. + * + * @event thumbMove + * @param event {Event} The event object for the thumbMove with the + * following extra properties: + *
+ *
offset
+ *
Pixel offset from top/left of the slider to the new + * thumb position
+ *
ddEvent (deprecated)
+ *
drag:drag event from the thumb
+ *
originEvent
+ *
drag:drag event from the thumb
+ *
+ */ + this.publish( 'thumbMove', { + defaultFn: this._defThumbMoveFn, + queuable : true + } ); + }, + + /** + * Create the DOM structure for the Slider. + * + * @method renderUI + * @protected + */ + renderUI : function () { + var contentBox = this.get( 'contentBox' ); + + /** + * The Node instance of the Slider's rail element. Do not write to + * this property. + * + * @property rail + * @type {Node} + */ + this.rail = this.renderRail(); + + this._uiSetRailLength( this.get( 'length' ) ); + + /** + * The Node instance of the Slider's thumb element. Do not write to + * this property. + * + * @property thumb + * @type {Node} + */ + this.thumb = this.renderThumb(); + + this.rail.appendChild( this.thumb ); + // @TODO: insert( contentBox, 'replace' ) or setHTML? + contentBox.appendChild( this.rail ); + + // + contentBox.addClass( this.getClassName( this.axis ) ); + }, + + /** + * Creates the Slider rail DOM subtree for insertion into the Slider's + * contentBox. Override this method if you want to provide + * the rail element (presumably from existing markup). + * + * @method renderRail + * @return {Node} the rail node subtree + */ + renderRail: function () { + var minCapClass = this.getClassName( 'rail', 'cap', this._key.minEdge ), + maxCapClass = this.getClassName( 'rail', 'cap', this._key.maxEdge ); + + return Y.Node.create( + Y.substitute( this.RAIL_TEMPLATE, { + railClass : this.getClassName( 'rail' ), + railMinCapClass: minCapClass, + railMaxCapClass: maxCapClass + } ) ); + }, + + /** + * Sets the rail length according to the length attribute. + * + * @method _uiSetRailLength + * @param length {String} the length to apply to the rail style + * @protected + */ + _uiSetRailLength: function ( length ) { + this.rail.setStyle( this._key.dim, length ); + }, + + /** + * Creates the Slider thumb DOM subtree for insertion into the Slider's + * rail. Override this method if you want to provide the thumb element + * (presumably from existing markup). + * + * @method renderThumb + * @return {Node} the thumb node subtree + */ + renderThumb: function () { + this._initThumbUrl(); + + var imageUrl = this.get( 'thumbUrl' ); + + return Y.Node.create( + Y.substitute( this.THUMB_TEMPLATE, { + thumbClass : this.getClassName( 'thumb' ), + thumbShadowClass: this.getClassName( 'thumb', 'shadow' ), + thumbImageClass : this.getClassName( 'thumb', 'image' ), + thumbShadowUrl : imageUrl, + thumbImageUrl : imageUrl, + thumbAriaLabelId: this.getClassName( 'label', Y.guid()) // get unique id for specifying a label for ARIA + } ) ); + }, + + /** + * Gives focus to the thumb enabling keyboard access after clicking thumb + * + * @method _onThumbClick + * @protected + */ + _onThumbClick : function(e){ + this.thumb.focus(); + }, + + + /** + * Creates the Y.DD.Drag instance used to handle the thumb movement and + * binds Slider interaction to the configured value model. + * + * @method bindUI + * @protected + */ + bindUI : function () { + + // Begin keyboard listeners /////////////////////////////// + var boundingBox = this.get("boundingBox"), //Y.one('body'), + // Looking for a key event which will fire continously across browsers while the key is held down. + keyEvent = (!Y.UA.opera) ? "down:" : "press:", + // 38, 40 = arrow up/down, 33, 34 = page up/down, 35 , 36 = end/home + keyEventSpec = keyEvent + "38,40,33,34,35,36", + // 37 , 39 = arrow left/right + keyLeftRightSpec = keyEvent + "37,39", + // 37 , 39 = arrow left/right + meta (command/apple key) for mac + keyLeftRightSpecMeta = keyEvent + "37+meta,39+meta"; + + boundingBox.on("key", this._onDirectionKey, keyEventSpec, this); + boundingBox.on("key", this._onLeftRightKey, keyLeftRightSpec, this); + boundingBox.on("key", this._onLeftRightKeyMeta, keyLeftRightSpecMeta, this); + // End keyboard listeners ////////////////////////////////// + + this.thumb.on('click', this._onThumbClick, this); + + this._bindThumbDD(); + + this._bindValueLogic(); + + this.after( 'disabledChange', this._afterDisabledChange ); + this.after( 'lengthChange', this._afterLengthChange ); + + }, + + /** + * increments Slider value by a minor increment + * + * @method _incrMinor + * @protected + */ + _incrMinor : function(){ + this.set('value', (this.get('value') + this.get('minorStep'))); + }, + + /** + * decrements Slider value by a minor increment + * + * @method _decrMinor + * @protected + */ + _decrMinor : function(){ + this.set('value', (this.get('value') - this.get('minorStep'))); + }, + + /** + * increments Slider value by a major increment + * + * @method _incrMajor + * @protected + */ + _incrMajor : function(){ + this.set('value', (this.get('value') + this.get('majorStep'))); + }, + + /** + * decrements Slider value by a major increment + * + * @method _decrMajor + * @protected + */ + _decrMajor : function(){ + this.set('value', (this.get('value') - this.get('majorStep'))); + }, + + /** + * sets the Slider value to the min value. + * + * @method _setToMin + * @protected + */ + _setToMin : function(e){ + this.set('value', this.get('min')); + }, + + /** + * sets the Slider value to the max value. + * + * @method _setToMax + * @protected + */ + _setToMax : function(e){ + this.set('value', this.get('max')); + }, + + /** + * sets the Slider's value in response to key events. + * Left and right keys are in a separate method + * in case an implementation wants to increment values + * but needs left and right arrow keys for other purposes. + * + * @method _onDirectionKey + * @param e {Event} the key event + * @protected + */ + _onDirectionKey : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 38: // up + this._incrMinor(); + break; + case 40: // down + this._decrMinor(); + break; + case 36: // home + this._setToMin(); + break; + case 35: // end + this._setToMax(); + break; + case 33: // page up + this._incrMajor(); + break; + case 34: // page down + this._decrMajor(); + break; + } + } + }, + + /** + * sets the Slider's value in response to left or right key events + * + * @method _onLeftRightKey + * @param e {Event} the key event + * @protected + */ + _onLeftRightKey : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 37: // left + this._decrMinor(); + break; + case 39: // right + this._incrMinor(); + break; + } + } + }, + + /** + * sets the Slider's value in response to left or right key events when a meta (mac command/apple) key is also pressed + * + * @method _onLeftRightKeyMeta + * @param e {Event} the key event + * @protected + */ + _onLeftRightKeyMeta : function(e) { + e.preventDefault(); + if(this.get('disabled') === false){ + switch (e.charCode) { + case 37: // left + meta + this._setToMin(); + break; + case 39: // right + meta + this._setToMax(); + break; + } + } + }, + + + + + + /** + * Makes the thumb draggable and constrains it to the rail. + * + * @method _bindThumbDD + * @protected + */ + _bindThumbDD: function () { + var config = { constrain: this.rail }; + + // { constrain: rail, stickX: true } + config[ 'stick' + this.axis.toUpperCase() ] = true; + + /** + * The DD.Drag instance linked to the thumb node. + * + * @property _dd + * @type {DD.Drag} + * @protected + */ + this._dd = new Y.DD.Drag( { + node : this.thumb, + bubble : false, + on : { + 'drag:start': Y.bind( this._onDragStart, this ) + }, + after : { + 'drag:drag': Y.bind( this._afterDrag, this ), + 'drag:end' : Y.bind( this._afterDragEnd, this ) + } + } ); + + // Constrain the thumb to the rail + this._dd.plug( Y.Plugin.DDConstrained, config ); + }, + + /** + * Stub implementation. Override this (presumably in a class extension) to + * initialize any value logic that depends on the presence of the Drag + * instance. + * + * @method _bindValueLogic + * @protected + */ + _bindValueLogic: function () {}, + + /** + * Moves the thumb to pixel offset position along the rail. + * + * @method _uiMoveThumb + * @param offset {Number} the pixel offset to set as left or top style + * @param [options] {Object} Details to send with the `thumbMove` event + * @protected + */ + _uiMoveThumb: function ( offset, options ) { + if ( this.thumb ) { + this.thumb.setStyle( this._key.minEdge, offset + 'px' ); + + + options || (options = {}); + options.offset = offset; + + this.fire( 'thumbMove', options ); + } + }, + + /** + * Dispatches the slideStart event. + * + * @method _onDragStart + * @param e {Event} the drag:start event from the thumb + * @protected + */ + _onDragStart: function ( e ) { + /** + * Signals the beginning of a thumb drag operation. Payload includes + * the thumb's drag:start event. + * + * @event slideStart + * @param event {Event} The event object for the slideStart with the + * following extra properties: + *
+ *
ddEvent (deprecated)
+ *
drag:start event from the thumb
+ *
originEvent
+ *
drag:start event from the thumb
+ *
+ */ + this.fire('slideStart', { + ddEvent: e, // for backward compatibility + originEvent: e + }); + }, + + /** + * Dispatches the thumbMove event. + * + * @method _afterDrag + * @param e {Event} the drag:drag event from the thumb + * @protected + */ + _afterDrag: function ( e ) { + var thumbXY = e.info.xy[ this._key.xyIndex ], + railXY = e.target.con._regionCache[ this._key.minEdge ]; + + this.fire( 'thumbMove', { + offset : (thumbXY - railXY), + ddEvent: e, // for backward compatibility + originEvent: e + } ); + }, + + /** + * Dispatches the slideEnd event. + * + * @method _onDragEnd + * @param e {Event} the drag:end event from the thumb + * @protected + */ + _afterDragEnd: function ( e ) { + /** + * Signals the end of a thumb drag operation. Payload includes + * the thumb's drag:end event. + * + * @event slideEnd + * @param event {Event} The event object for the slideEnd with the + * following extra properties: + *
+ *
ddEvent (deprecated)
+ *
drag:end event from the thumb
+ *
originEvent
+ *
drag:end event from the thumb
+ *
+ */ + this.fire('slideEnd', { + ddEvent: e, + originEvent: e + }); + }, + + /** + * Locks or unlocks the thumb. + * + * @method _afterDisabledChange + * @param e {Event} The disabledChange event object + * @protected + */ + _afterDisabledChange: function ( e ) { + this._dd.set( 'lock', e.newVal ); + }, + + /** + * Handles changes to the length attribute. By default, it + * triggers an update to the UI. + * + * @method _afterLengthChange + * @param e {Event} The lengthChange event object + * @protected + */ + _afterLengthChange: function ( e ) { + if ( this.get( 'rendered' ) ) { + this._uiSetRailLength( e.newVal ); + + this.syncUI(); + } + }, + + /** + * Synchronizes the DOM state with the attribute settings. + * + * @method syncUI + */ + syncUI : function () { + this._dd.con.resetCache(); + + this._syncThumbPosition(); + + // Forces a reflow of the bounding box to address IE8 inline-block + // container not expanding correctly. bug 2527905 + //this.get('boundingBox').toggleClass(''); + this.thumb.set('aria-valuemin', this.get('min')); + this.thumb.set('aria-valuemax', this.get('max')); + + this._dd.set('lock', this.get('disabled')); + }, + + /** + * Stub implementation. Override this (presumably in a class extension) to + * ensure the thumb is in the correct position according to the value + * alogorithm. + * instance. + * + * @method _syncThumbPosition + * @protected + */ + _syncThumbPosition: function () {}, + + /** + * Validates the axis is "x" or "y" (case insensitive). + * Converts to lower case for storage. + * + * @method _setAxis + * @param v {String} proposed value for the axis attribute + * @return {String} lowercased first character of the input string + * @protected + */ + _setAxis : function (v) { + v = ( v + '' ).toLowerCase(); + + return ( v === 'x' || v === 'y' ) ? v : INVALID_VALUE; + }, + + /** + *

Ensures the stored length value is a string with a quantity and unit. + * Unit will be defaulted to "px" if not included. Rejects + * values less than or equal to 0 and those that don't at least start with + * a number.

+ * + *

Currently only pixel lengths are supported.

+ * + * @method _setLength + * @param v {String} proposed value for the length attribute + * @return {String} the sanitized value + * @protected + */ + _setLength: function ( v ) { + v = ( v + '' ).toLowerCase(); + + var length = parseFloat( v, 10 ), + units = v.replace( /[\d\.\-]/g, '' ) || this.DEF_UNIT; + + return length > 0 ? ( length + units ) : INVALID_VALUE; + }, + + /** + *

Defaults the thumbURL attribute according to the current skin, or + * "sam" if none can be determined. Horizontal Sliders will have + * their thumbUrl attribute set to

+ *

"/configured/yui/builddir/slider-base/assets/skins/sam/thumb-x.png"

+ *

And vertical thumbs will get

+ *

"/configured/yui/builddir/slider-base/assets/skins/sam/thumb-y.png"

+ * + * @method _initThumbUrl + * @protected + */ + _initThumbUrl: function () { + if (!this.get('thumbUrl')) { + var skin = this.getSkinName() || 'sam', + base = Y.config.base; + + // Unfortunate hack to avoid requesting image resources from the + // combo service. The combo service does not serve images. + if (base.indexOf('http://yui.yahooapis.com/combo') === 0) { + base = 'http://yui.yahooapis.com/' + Y.version + '/build/'; + } + + // + this.set('thumbUrl', base + 'slider-base/assets/skins/' + + skin + '/thumb-' + this.axis + '.png'); + + } + }, + + /** + * Bounding box template that will contain the Slider's DOM subtree. <span>s are used to support inline-block styling. + * + * @property BOUNDING_TEMPLATE + * @type {String} + * @default <span></span> + */ + BOUNDING_TEMPLATE : '', + + /** + * Content box template that will contain the Slider's rail and thumb. + * + * @property CONTENT_TEMPLATE + * @type {String} + * @default <span></span> + */ + CONTENT_TEMPLATE : '', + + /** + * Rail template that will contain the end caps and the thumb. + * {placeholder}s are used for template substitution at render time. + * + * @property RAIL_TEMPLATE + * @type {String} + * @default <span class="{railClass}"><span class="{railMinCapClass}"></span><span class="{railMaxCapClass}"></span></span> + */ + RAIL_TEMPLATE : '' + + '' + + '' + + '', + + /** + * Thumb template that will contain the thumb image and shadow. <img> + * tags are used instead of background images to avoid a flicker bug in IE. + * {placeholder}s are used for template substitution at render time. + * + * @property THUMB_TEMPLATE + * @type {String} + * @default <span class="{thumbClass}" tabindex="-1"><img src="{thumbShadowUrl}" alt="Slider thumb shadow" class="{thumbShadowClass}"><img src="{thumbImageUrl}" alt="Slider thumb" class="{thumbImageClass}"></span> + */ + THUMB_TEMPLATE : '' + // keyboard access jeff tabindex="-1" + '' + + '' + + '' + +}, { + + // Y.SliderBase static properties + + /** + * The identity of the widget. + * + * @property NAME + * @type String + * @default 'sliderBase' + * @readOnly + * @protected + * @static + */ + NAME : 'sliderBase', + + /** + * Static property used to define the default attribute configuration of + * the Widget. + * + * @property ATTRS + * @type {Object} + * @protected + * @static + */ + ATTRS : { + + /** + * Axis upon which the Slider's thumb moves. "x" for + * horizontal, "y" for vertical. + * + * @attribute axis + * @type {String} + * @default "x" + * @writeOnce + */ + axis : { + value : 'x', + writeOnce : true, + setter : '_setAxis', + lazyAdd : false + }, + + /** + * The length of the rail (exclusive of the end caps if positioned by + * CSS). This corresponds to the movable range of the thumb. + * + * @attribute length + * @type {String | Number} e.g. "200px" or 200 + * @default 150px + */ + length: { + value: '150px', + setter: '_setLength' + }, + + /** + * Path to the thumb image. This will be used as both the thumb and + * shadow as a sprite. Defaults at render() to thumb-x.png or + * thumb-y.png in the skin directory of the current skin. + * + * @attribute thumbUrl + * @type {String} + * @default thumb-x.png or thumb-y.png in the sam skin directory of the + * current build path for Slider + */ + thumbUrl: { + value: null, + validator: Y.Lang.isString + } + } +}); + + +}, '3.6.0pr3' ,{requires:['widget', 'substitute', 'dd-constrain', 'event-key']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-base-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-base-core.css new file mode 100644 index 000000000..3f28e6911 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-base-core.css @@ -0,0 +1,37 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider, +.yui3-slider-rail { + /* xbrowser inline-block styles */ + display: -moz-inline-stack; /* FF2 */ + display: inline-block; + *display: inline; /* IE 7- (with zoom) */ + zoom: 1; + vertical-align: middle; +} + +.yui3-slider-content { + position: relative; + display: block; +} +.yui3-slider-rail { + position: relative; +} + +.yui3-slider-rail-cap-top, +.yui3-slider-rail-cap-left, +.yui3-slider-rail-cap-bottom, +.yui3-slider-rail-cap-right, +.yui3-slider-thumb, +.yui3-slider-thumb-image, +.yui3-slider-thumb-shadow { + position: absolute; +} + +.yui3-slider-thumb { + overflow: hidden; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-core.css new file mode 100644 index 000000000..3f28e6911 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/slider-core.css @@ -0,0 +1,37 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-slider, +.yui3-slider-rail { + /* xbrowser inline-block styles */ + display: -moz-inline-stack; /* FF2 */ + display: inline-block; + *display: inline; /* IE 7- (with zoom) */ + zoom: 1; + vertical-align: middle; +} + +.yui3-slider-content { + position: relative; + display: block; +} +.yui3-slider-rail { + position: relative; +} + +.yui3-slider-rail-cap-top, +.yui3-slider-rail-cap-left, +.yui3-slider-rail-cap-bottom, +.yui3-slider-rail-cap-right, +.yui3-slider-thumb, +.yui3-slider-thumb-image, +.yui3-slider-thumb-shadow { + position: absolute; +} + +.yui3-slider-thumb { + overflow: hidden; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong-dark.png new file mode 100644 index 000000000..bc0aa14ce Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong.png new file mode 100644 index 000000000..670ba1ea1 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2-dark.png new file mode 100644 index 000000000..20f126029 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2.png new file mode 100644 index 000000000..76e34e60a Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-x-oblong2.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong-dark.png new file mode 100644 index 000000000..a0eed7087 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong.png new file mode 100644 index 000000000..e63c8d7d8 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2-dark.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2-dark.png new file mode 100644 index 000000000..e91ffb7b3 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2-dark.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2.png b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2.png new file mode 100644 index 000000000..89a466727 Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/assets/thumb-y-oblong2.png differ diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/debug.js new file mode 100644 index 000000000..749d98740 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("slider-value-range"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/index.js new file mode 100644 index 000000000..19ed82c11 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("slider-value-range"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-debug.js new file mode 100644 index 000000000..978171374 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-debug.js @@ -0,0 +1,424 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('slider-value-range', function(Y) { + +/** + * Adds value support for Slider as a range of integers between a configured + * minimum and maximum value. For use with Y.Base.build(..) to + * add the plumbing to Y.SliderBase. + * + * @module slider + * @submodule slider-value-range + */ + +// Constants for compression or performance +var MIN = 'min', + MAX = 'max', + VALUE = 'value', +// MINORSTEP = 'minorStep', +// MAJORSTEP = 'majorStep', + + round = Math.round; + +/** + * One class of value algorithm that can be built onto SliderBase. By default, + * values range between 0 and 100, but you can configure these on the + * built Slider class by setting the min and max + * configurations. Set the initial value (will cause the thumb to move to the + * appropriate location on the rail) in configuration as well if appropriate. + * + * @class SliderValueRange + */ +function SliderValueRange() { + this._initSliderValueRange(); +} + +Y.SliderValueRange = Y.mix( SliderValueRange, { + + // Prototype properties and methods that will be added onto host class + prototype: { + + /** + * Factor used to translate value -> position -> value. + * + * @property _factor + * @type {Number} + * @protected + */ + _factor: 1, + + /** + * Stub for construction logic. Override if extending this class and + * you need to set something up during the initializer phase. + * + * @method _initSliderValueRange + * @protected + */ + _initSliderValueRange: function () {}, + + /** + * Override of stub method in SliderBase that is called at the end of + * its bindUI stage of render(). Subscribes to internal events to + * trigger UI and related state updates. + * + * @method _bindValueLogic + * @protected + */ + _bindValueLogic: function () { + this.after( { + minChange : this._afterMinChange, + maxChange : this._afterMaxChange, + valueChange: this._afterValueChange + } ); + }, + + /** + * Move the thumb to appropriate position if necessary. Also resets + * the cached offsets and recalculates the conversion factor to + * translate position to value. + * + * @method _syncThumbPosition + * @protected + */ + _syncThumbPosition: function () { + this._calculateFactor(); + + this._setPosition( this.get( VALUE ) ); + }, + + /** + * Calculates and caches + * (range between max and min) / (rail length) + * for fast runtime calculation of position -> value. + * + * @method _calculateFactor + * @protected + */ + _calculateFactor: function () { + var length = this.get( 'length' ), + thumbSize = this.thumb.getStyle( this._key.dim ), + min = this.get( MIN ), + max = this.get( MAX ); + + // The default thumb width is based on Sam skin's thumb dimension. + // This attempts to allow for rendering off-DOM, then attaching + // without the need to call syncUI(). It is still recommended + // to call syncUI() in these cases though, just to be sure. + length = parseFloat( length ) || 150; + thumbSize = parseFloat( thumbSize ) || 15; + + this._factor = ( max - min ) / ( length - thumbSize ); + + Y.log("Calculating factor(~" + this._factor.toFixed(3) + " = (max(" + max + ") - min(" + min + ")) / (length(" + length + ") - thumb size(" + thumbSize + "))","info","slider"); + }, + + /** + * Dispatch the new position of the thumb into the value setting + * operations. + * + * @method _defThumbMoveFn + * @param e { EventFacade } The host's thumbMove event + * @protected + */ + _defThumbMoveFn: function ( e ) { + // To prevent set('value', x) from looping back around + if (e.source !== 'set') { + this.set(VALUE, this._offsetToValue(e.offset)); + } + }, + + /** + *

Converts a pixel position into a value. Calculates current + * thumb offset from the leading edge of the rail multiplied by the + * ratio of (max - min) / (constraining dim).

+ * + *

Override this if you want to use a different value mapping + * algorithm.

+ * + * @method _offsetToValue + * @param offset { Number } X or Y pixel offset + * @return { mixed } Value corresponding to the provided pixel offset + * @protected + */ + _offsetToValue: function ( offset ) { + + var value = round( offset * this._factor ) + this.get( MIN ); + + Y.log("Offset: " + offset + " => Value: " + value, "info", "slider"); + return round( this._nearestValue( value ) ); + }, + + /** + * Converts a value into a pixel offset for use in positioning + * the thumb according to the reverse of the + * _offsetToValue( xy ) operation. + * + * @method _valueToOffset + * @param val { Number } The value to map to pixel X or Y position + * @return { Number } The pixel offset + * @protected + */ + _valueToOffset: function ( value ) { + var offset = round( ( value - this.get( MIN ) ) / this._factor ); + + Y.log("Value: " + value + " => Offset: " + offset, "info", "slider"); + return offset; + }, + + /** + * Returns the current value. Override this if you want to introduce + * output formatting. Otherwise equivalent to slider.get( "value" ); + * + * @method getValue + * @return {Number} + */ + getValue: function () { + return this.get( VALUE ); + }, + + /** + * Updates the current value. Override this if you want to introduce + * input value parsing or preprocessing. Otherwise equivalent to + * slider.set( "value", v ); + * + * @method setValue + * @param val {Number} The new value + * @return {Slider} + * @chainable + */ + setValue: function ( val ) { + return this.set( VALUE, val ); + }, + + /** + * Update position according to new min value. If the new min results + * in the current value being out of range, the value is set to the + * closer of min or max. + * + * @method _afterMinChange + * @param e { EventFacade } The min attribute change event. + * @protected + */ + _afterMinChange: function ( e ) { + this._verifyValue(); + + this._syncThumbPosition(); + }, + + /** + * Update position according to new max value. If the new max results + * in the current value being out of range, the value is set to the + * closer of min or max. + * + * @method _afterMaxChange + * @param e { EventFacade } The max attribute change event. + * @protected + */ + _afterMaxChange: function ( e ) { + this._verifyValue(); + + this._syncThumbPosition(); + }, + + /** + * Verifies that the current value is within the min - max range. If + * not, value is set to either min or max, depending on which is + * closer. + * + * @method _verifyValue + * @protected + */ + _verifyValue: function () { + var value = this.get( VALUE ), + nearest = this._nearestValue( value ); + + if ( value !== nearest ) { + // @TODO Can/should valueChange, minChange, etc be queued + // events? To make dd.set( 'min', n ); execute after minChange + // subscribers before on/after valueChange subscribers. + this.set( VALUE, nearest ); + } + }, + + /** + * Propagate change to the thumb position unless the change originated + * from the thumbMove event. + * + * @method _afterValueChange + * @param e { EventFacade } The valueChange event. + * @protected + */ + _afterValueChange: function ( e ) { + var val = e.newVal; + Y.log("Positioning thumb after set('value',x)","info","slider"); + this._setPosition( val, { source: 'set' } ); + this.thumb.set('aria-valuenow', val); + this.thumb.set('aria-valuetext', val); + }, + + /** + * Positions the thumb in accordance with the translated value. + * + * @method _setPosition + * @param value {Number} Value to translate to a pixel position + * @param [options] {Object} Details object to pass to `_uiMoveThumb` + * @protected + */ + _setPosition: function ( value, options ) { + this._uiMoveThumb( this._valueToOffset( value ), options ); + }, + + /** + * Validates new values assigned to min attribute. Numbers + * are acceptable. Override this to enforce different rules. + * + * @method _validateNewMin + * @param value {Any} Value assigned to min attribute. + * @return {Boolean} True for numbers. False otherwise. + * @protected + */ + _validateNewMin: function ( value ) { + return Y.Lang.isNumber( value ); + }, + + /** + * Validates new values assigned to max attribute. Numbers + * are acceptable. Override this to enforce different rules. + * + * @method _validateNewMax + * @param value { mixed } Value assigned to max attribute. + * @return { Boolean } True for numbers. False otherwise. + * @protected + */ + _validateNewMax: function ( value ) { + return Y.Lang.isNumber( value ); + }, + + /** + * Restricts new values assigned to value attribute to be + * between the configured min and max. + * Rounds to nearest integer value. + * + * @method _setNewValue + * @param value { Number } Value assigned to value attribute + * @return { Number } Normalized and constrained value + * @protected + */ + _setNewValue: function ( value ) { + return round( this._nearestValue( value ) ); + }, + + /** + * Returns the nearest valid value to the value input. If the provided + * value is outside the min - max range, accounting for min > max + * scenarios, the nearest of either min or max is returned. Otherwise, + * the provided value is returned. + * + * @method _nearestValue + * @param value { mixed } Value to test against current min - max range + * @return { Number } Current min, max, or value if within range + * @protected + */ + _nearestValue: function ( value ) { + var min = this.get( MIN ), + max = this.get( MAX ), + tmp; + + // Account for reverse value range (min > max) + tmp = ( max > min ) ? max : min; + min = ( max > min ) ? min : max; + max = tmp; + + return ( value < min ) ? + min : + ( value > max ) ? + max : + value; + } + + }, + + /** + * Attributes that will be added onto host class. + * + * @property ATTRS + * @type {Object} + * @static + * @protected + */ + ATTRS: { + /** + * The value associated with the farthest top, left position of the + * rail. Can be greater than the configured max if you + * want values to increase from right-to-left or bottom-to-top. + * + * @attribute min + * @type { Number } + * @default 0 + */ + min: { + value : 0, + validator: '_validateNewMin' + }, + + /** + * The value associated with the farthest bottom, right position of + * the rail. Can be less than the configured min if + * you want values to increase from right-to-left or bottom-to-top. + * + * @attribute max + * @type { Number } + * @default 100 + */ + max: { + value : 100, + validator: '_validateNewMax' + }, + + /** + * amount to increment/decrement the Slider value + * when the arrow up/down/left/right keys are pressed + * + * @attribute minorStep + * @type {Number} + * @default 1 + */ + minorStep : { + value: 1 + }, + + /** + * amount to increment/decrement the Slider value + * when the page up/down keys are pressed + * + * @attribute majorStep + * @type {Number} + * @default 10 + */ + majorStep : { + value: 10 + }, + + /** + * The value associated with the thumb's current position on the + * rail. Defaults to the value inferred from the thumb's current + * position. Specifying value in the constructor will move the + * thumb to the position that corresponds to the supplied value. + * + * @attribute value + * @type { Number } + * @default (inferred from current thumb position) + */ + value: { + value : 0, + setter: '_setNewValue' + } + } +}, true ); + + +}, '3.6.0pr3' ,{requires:['slider-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-min.js new file mode 100644 index 000000000..74aa82ab0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("slider-value-range",function(f){var b="min",e="max",d="value",c=Math.round;function a(){this._initSliderValueRange();}f.SliderValueRange=f.mix(a,{prototype:{_factor:1,_initSliderValueRange:function(){},_bindValueLogic:function(){this.after({minChange:this._afterMinChange,maxChange:this._afterMaxChange,valueChange:this._afterValueChange});},_syncThumbPosition:function(){this._calculateFactor();this._setPosition(this.get(d));},_calculateFactor:function(){var j=this.get("length"),h=this.thumb.getStyle(this._key.dim),i=this.get(b),g=this.get(e);j=parseFloat(j)||150;h=parseFloat(h)||15;this._factor=(g-i)/(j-h);},_defThumbMoveFn:function(g){if(g.source!=="set"){this.set(d,this._offsetToValue(g.offset));}},_offsetToValue:function(h){var g=c(h*this._factor)+this.get(b);return c(this._nearestValue(g));},_valueToOffset:function(g){var h=c((g-this.get(b))/this._factor);return h;},getValue:function(){return this.get(d);},setValue:function(g){return this.set(d,g);},_afterMinChange:function(g){this._verifyValue();this._syncThumbPosition();},_afterMaxChange:function(g){this._verifyValue();this._syncThumbPosition();},_verifyValue:function(){var h=this.get(d),g=this._nearestValue(h);if(h!==g){this.set(d,g);}},_afterValueChange:function(g){var h=g.newVal;this._setPosition(h,{source:"set"});this.thumb.set("aria-valuenow",h);this.thumb.set("aria-valuetext",h);},_setPosition:function(h,g){this._uiMoveThumb(this._valueToOffset(h),g);},_validateNewMin:function(g){return f.Lang.isNumber(g);},_validateNewMax:function(g){return f.Lang.isNumber(g);},_setNewValue:function(g){return c(this._nearestValue(g));},_nearestValue:function(j){var i=this.get(b),g=this.get(e),h;h=(g>i)?g:i;i=(g>i)?i:g;g=h;return(jg)?g:j;}},ATTRS:{min:{value:0,validator:"_validateNewMin"},max:{value:100,validator:"_validateNewMax"},minorStep:{value:1},majorStep:{value:10},value:{value:0,setter:"_setNewValue"}}},true);},"3.6.0pr3",{requires:["slider-base"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range.js new file mode 100644 index 000000000..b0c9ecd77 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider-value-range/slider-value-range.js @@ -0,0 +1,420 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('slider-value-range', function(Y) { + +/** + * Adds value support for Slider as a range of integers between a configured + * minimum and maximum value. For use with Y.Base.build(..) to + * add the plumbing to Y.SliderBase. + * + * @module slider + * @submodule slider-value-range + */ + +// Constants for compression or performance +var MIN = 'min', + MAX = 'max', + VALUE = 'value', +// MINORSTEP = 'minorStep', +// MAJORSTEP = 'majorStep', + + round = Math.round; + +/** + * One class of value algorithm that can be built onto SliderBase. By default, + * values range between 0 and 100, but you can configure these on the + * built Slider class by setting the min and max + * configurations. Set the initial value (will cause the thumb to move to the + * appropriate location on the rail) in configuration as well if appropriate. + * + * @class SliderValueRange + */ +function SliderValueRange() { + this._initSliderValueRange(); +} + +Y.SliderValueRange = Y.mix( SliderValueRange, { + + // Prototype properties and methods that will be added onto host class + prototype: { + + /** + * Factor used to translate value -> position -> value. + * + * @property _factor + * @type {Number} + * @protected + */ + _factor: 1, + + /** + * Stub for construction logic. Override if extending this class and + * you need to set something up during the initializer phase. + * + * @method _initSliderValueRange + * @protected + */ + _initSliderValueRange: function () {}, + + /** + * Override of stub method in SliderBase that is called at the end of + * its bindUI stage of render(). Subscribes to internal events to + * trigger UI and related state updates. + * + * @method _bindValueLogic + * @protected + */ + _bindValueLogic: function () { + this.after( { + minChange : this._afterMinChange, + maxChange : this._afterMaxChange, + valueChange: this._afterValueChange + } ); + }, + + /** + * Move the thumb to appropriate position if necessary. Also resets + * the cached offsets and recalculates the conversion factor to + * translate position to value. + * + * @method _syncThumbPosition + * @protected + */ + _syncThumbPosition: function () { + this._calculateFactor(); + + this._setPosition( this.get( VALUE ) ); + }, + + /** + * Calculates and caches + * (range between max and min) / (rail length) + * for fast runtime calculation of position -> value. + * + * @method _calculateFactor + * @protected + */ + _calculateFactor: function () { + var length = this.get( 'length' ), + thumbSize = this.thumb.getStyle( this._key.dim ), + min = this.get( MIN ), + max = this.get( MAX ); + + // The default thumb width is based on Sam skin's thumb dimension. + // This attempts to allow for rendering off-DOM, then attaching + // without the need to call syncUI(). It is still recommended + // to call syncUI() in these cases though, just to be sure. + length = parseFloat( length ) || 150; + thumbSize = parseFloat( thumbSize ) || 15; + + this._factor = ( max - min ) / ( length - thumbSize ); + + }, + + /** + * Dispatch the new position of the thumb into the value setting + * operations. + * + * @method _defThumbMoveFn + * @param e { EventFacade } The host's thumbMove event + * @protected + */ + _defThumbMoveFn: function ( e ) { + // To prevent set('value', x) from looping back around + if (e.source !== 'set') { + this.set(VALUE, this._offsetToValue(e.offset)); + } + }, + + /** + *

Converts a pixel position into a value. Calculates current + * thumb offset from the leading edge of the rail multiplied by the + * ratio of (max - min) / (constraining dim).

+ * + *

Override this if you want to use a different value mapping + * algorithm.

+ * + * @method _offsetToValue + * @param offset { Number } X or Y pixel offset + * @return { mixed } Value corresponding to the provided pixel offset + * @protected + */ + _offsetToValue: function ( offset ) { + + var value = round( offset * this._factor ) + this.get( MIN ); + + return round( this._nearestValue( value ) ); + }, + + /** + * Converts a value into a pixel offset for use in positioning + * the thumb according to the reverse of the + * _offsetToValue( xy ) operation. + * + * @method _valueToOffset + * @param val { Number } The value to map to pixel X or Y position + * @return { Number } The pixel offset + * @protected + */ + _valueToOffset: function ( value ) { + var offset = round( ( value - this.get( MIN ) ) / this._factor ); + + return offset; + }, + + /** + * Returns the current value. Override this if you want to introduce + * output formatting. Otherwise equivalent to slider.get( "value" ); + * + * @method getValue + * @return {Number} + */ + getValue: function () { + return this.get( VALUE ); + }, + + /** + * Updates the current value. Override this if you want to introduce + * input value parsing or preprocessing. Otherwise equivalent to + * slider.set( "value", v ); + * + * @method setValue + * @param val {Number} The new value + * @return {Slider} + * @chainable + */ + setValue: function ( val ) { + return this.set( VALUE, val ); + }, + + /** + * Update position according to new min value. If the new min results + * in the current value being out of range, the value is set to the + * closer of min or max. + * + * @method _afterMinChange + * @param e { EventFacade } The min attribute change event. + * @protected + */ + _afterMinChange: function ( e ) { + this._verifyValue(); + + this._syncThumbPosition(); + }, + + /** + * Update position according to new max value. If the new max results + * in the current value being out of range, the value is set to the + * closer of min or max. + * + * @method _afterMaxChange + * @param e { EventFacade } The max attribute change event. + * @protected + */ + _afterMaxChange: function ( e ) { + this._verifyValue(); + + this._syncThumbPosition(); + }, + + /** + * Verifies that the current value is within the min - max range. If + * not, value is set to either min or max, depending on which is + * closer. + * + * @method _verifyValue + * @protected + */ + _verifyValue: function () { + var value = this.get( VALUE ), + nearest = this._nearestValue( value ); + + if ( value !== nearest ) { + // @TODO Can/should valueChange, minChange, etc be queued + // events? To make dd.set( 'min', n ); execute after minChange + // subscribers before on/after valueChange subscribers. + this.set( VALUE, nearest ); + } + }, + + /** + * Propagate change to the thumb position unless the change originated + * from the thumbMove event. + * + * @method _afterValueChange + * @param e { EventFacade } The valueChange event. + * @protected + */ + _afterValueChange: function ( e ) { + var val = e.newVal; + this._setPosition( val, { source: 'set' } ); + this.thumb.set('aria-valuenow', val); + this.thumb.set('aria-valuetext', val); + }, + + /** + * Positions the thumb in accordance with the translated value. + * + * @method _setPosition + * @param value {Number} Value to translate to a pixel position + * @param [options] {Object} Details object to pass to `_uiMoveThumb` + * @protected + */ + _setPosition: function ( value, options ) { + this._uiMoveThumb( this._valueToOffset( value ), options ); + }, + + /** + * Validates new values assigned to min attribute. Numbers + * are acceptable. Override this to enforce different rules. + * + * @method _validateNewMin + * @param value {Any} Value assigned to min attribute. + * @return {Boolean} True for numbers. False otherwise. + * @protected + */ + _validateNewMin: function ( value ) { + return Y.Lang.isNumber( value ); + }, + + /** + * Validates new values assigned to max attribute. Numbers + * are acceptable. Override this to enforce different rules. + * + * @method _validateNewMax + * @param value { mixed } Value assigned to max attribute. + * @return { Boolean } True for numbers. False otherwise. + * @protected + */ + _validateNewMax: function ( value ) { + return Y.Lang.isNumber( value ); + }, + + /** + * Restricts new values assigned to value attribute to be + * between the configured min and max. + * Rounds to nearest integer value. + * + * @method _setNewValue + * @param value { Number } Value assigned to value attribute + * @return { Number } Normalized and constrained value + * @protected + */ + _setNewValue: function ( value ) { + return round( this._nearestValue( value ) ); + }, + + /** + * Returns the nearest valid value to the value input. If the provided + * value is outside the min - max range, accounting for min > max + * scenarios, the nearest of either min or max is returned. Otherwise, + * the provided value is returned. + * + * @method _nearestValue + * @param value { mixed } Value to test against current min - max range + * @return { Number } Current min, max, or value if within range + * @protected + */ + _nearestValue: function ( value ) { + var min = this.get( MIN ), + max = this.get( MAX ), + tmp; + + // Account for reverse value range (min > max) + tmp = ( max > min ) ? max : min; + min = ( max > min ) ? min : max; + max = tmp; + + return ( value < min ) ? + min : + ( value > max ) ? + max : + value; + } + + }, + + /** + * Attributes that will be added onto host class. + * + * @property ATTRS + * @type {Object} + * @static + * @protected + */ + ATTRS: { + /** + * The value associated with the farthest top, left position of the + * rail. Can be greater than the configured max if you + * want values to increase from right-to-left or bottom-to-top. + * + * @attribute min + * @type { Number } + * @default 0 + */ + min: { + value : 0, + validator: '_validateNewMin' + }, + + /** + * The value associated with the farthest bottom, right position of + * the rail. Can be less than the configured min if + * you want values to increase from right-to-left or bottom-to-top. + * + * @attribute max + * @type { Number } + * @default 100 + */ + max: { + value : 100, + validator: '_validateNewMax' + }, + + /** + * amount to increment/decrement the Slider value + * when the arrow up/down/left/right keys are pressed + * + * @attribute minorStep + * @type {Number} + * @default 1 + */ + minorStep : { + value: 1 + }, + + /** + * amount to increment/decrement the Slider value + * when the page up/down keys are pressed + * + * @attribute majorStep + * @type {Number} + * @default 10 + */ + majorStep : { + value: 10 + }, + + /** + * The value associated with the thumb's current position on the + * rail. Defaults to the value inferred from the thumb's current + * position. Specifying value in the constructor will move the + * thumb to the position that corresponds to the supplied value. + * + * @attribute value + * @type { Number } + * @default (inferred from current thumb position) + */ + value: { + value : 0, + setter: '_setNewValue' + } + } +}, true ); + + +}, '3.6.0pr3' ,{requires:['slider-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider.js new file mode 100644 index 000000000..31e9a4da0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/slider.js @@ -0,0 +1,2 @@ +var inst = require("./index").getInstance(); +module.exports = inst.use("slider"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/debug.js new file mode 100644 index 000000000..4bf6cf65a --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("sortable-scroll"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/index.js new file mode 100644 index 000000000..0f2b9fab7 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("sortable-scroll"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-debug.js new file mode 100644 index 000000000..96631b9a9 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-debug.js @@ -0,0 +1,73 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('sortable-scroll', function(Y) { + + + /** + * Plugin for sortable to handle scrolling lists. + * @module sortable + * @submodule sortable-scroll + */ + /** + * Plugin for sortable to handle scrolling lists. + * @class SortScroll + * @extends Base + * @constructor + * @namespace Plugin + */ + + var SortScroll = function() { + SortScroll.superclass.constructor.apply(this, arguments); + }; + + Y.extend(SortScroll, Y.Base, { + initializer: function() { + var host = this.get('host'); + host.plug(Y.Plugin.DDNodeScroll, { + node: host.get('container') + }); + host.delegate.on('drop:over', function(e) { + if (this.dd.nodescroll && e.drag.nodescroll) { + e.drag.nodescroll.set('parentScroll', Y.one(this.get('container'))); + } + }); + } + }, { + ATTRS: { + host: { + value: '' + } + }, + /** + * @property NAME + * @default SortScroll + * @readonly + * @protected + * @static + * @description The name of the class. + * @type {String} + */ + NAME: 'SortScroll', + /** + * @property NS + * @default scroll + * @readonly + * @protected + * @static + * @description The scroll instance. + * @type {String} + */ + NS: 'scroll' + }); + + + Y.namespace('Y.Plugin'); + Y.Plugin.SortableScroll = SortScroll; + + + +}, '3.6.0pr3' ,{requires:['sortable', 'dd-scroll']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-min.js new file mode 100644 index 000000000..66f99106d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("sortable-scroll",function(b){var a=function(){a.superclass.constructor.apply(this,arguments);};b.extend(a,b.Base,{initializer:function(){var c=this.get("host");c.plug(b.Plugin.DDNodeScroll,{node:c.get("container")});c.delegate.on("drop:over",function(d){if(this.dd.nodescroll&&d.drag.nodescroll){d.drag.nodescroll.set("parentScroll",b.one(this.get("container")));}});}},{ATTRS:{host:{value:""}},NAME:"SortScroll",NS:"scroll"});b.namespace("Y.Plugin");b.Plugin.SortableScroll=a;},"3.6.0pr3",{requires:["sortable","dd-scroll"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll.js new file mode 100644 index 000000000..96631b9a9 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable-scroll/sortable-scroll.js @@ -0,0 +1,73 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('sortable-scroll', function(Y) { + + + /** + * Plugin for sortable to handle scrolling lists. + * @module sortable + * @submodule sortable-scroll + */ + /** + * Plugin for sortable to handle scrolling lists. + * @class SortScroll + * @extends Base + * @constructor + * @namespace Plugin + */ + + var SortScroll = function() { + SortScroll.superclass.constructor.apply(this, arguments); + }; + + Y.extend(SortScroll, Y.Base, { + initializer: function() { + var host = this.get('host'); + host.plug(Y.Plugin.DDNodeScroll, { + node: host.get('container') + }); + host.delegate.on('drop:over', function(e) { + if (this.dd.nodescroll && e.drag.nodescroll) { + e.drag.nodescroll.set('parentScroll', Y.one(this.get('container'))); + } + }); + } + }, { + ATTRS: { + host: { + value: '' + } + }, + /** + * @property NAME + * @default SortScroll + * @readonly + * @protected + * @static + * @description The name of the class. + * @type {String} + */ + NAME: 'SortScroll', + /** + * @property NS + * @default scroll + * @readonly + * @protected + * @static + * @description The scroll instance. + * @type {String} + */ + NS: 'scroll' + }); + + + Y.namespace('Y.Plugin'); + Y.Plugin.SortableScroll = SortScroll; + + + +}, '3.6.0pr3' ,{requires:['sortable', 'dd-scroll']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/debug.js new file mode 100644 index 000000000..e870cc868 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("sortable"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/index.js new file mode 100644 index 000000000..378bf237a --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("sortable"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-debug.js new file mode 100644 index 000000000..d5d3a1d4d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-debug.js @@ -0,0 +1,516 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('sortable', function(Y) { + + + /** + * The class allows you to create a Drag & Drop reordered list. + * @module sortable + */ + /** + * The class allows you to create a Drag & Drop reordered list. + * @class Sortable + * @extends Base + * @constructor + */ + + + var Sortable = function(o) { + Sortable.superclass.constructor.apply(this, arguments); + }, + CURRENT_NODE = 'currentNode', + OPACITY_NODE = 'opacityNode', + CONT = 'container', + ID = 'id', + ZINDEX = 'zIndex', + OPACITY = 'opacity', + PARENT_NODE = 'parentNode', + NODES = 'nodes', + NODE = 'node'; + + + Y.extend(Sortable, Y.Base, { + /** + * @property delegate + * @type DD.Delegate + * @description A reference to the DD.Delegate instance. + */ + delegate: null, + /** + * @property drop + * @type DD.Drop + * @description A reference to the DD.Drop instance + */ + drop: null, + initializer: function() { + var id = 'sortable-' + Y.guid(), + delConfig = { + container: this.get(CONT), + nodes: this.get(NODES), + target: true, + invalid: this.get('invalid'), + dragConfig: { + groups: [ id ] + } + }, del; + + if (this.get('handles')) { + delConfig.handles = this.get('handles'); + } + del = new Y.DD.Delegate(delConfig); + + this.set(ID, id); + + del.dd.plug(Y.Plugin.DDProxy, { + moveOnEnd: false, + cloneNode: true + }); + + this.drop = new Y.DD.Drop({ + node: this.get(CONT), + bubbleTarget: del, + groups: del.dd.get('groups') + }); + this.drop.on('drop:over', Y.bind(this._onDropOver, this)); + + del.on({ + 'drag:start': Y.bind(this._onDragStart, this), + 'drag:end': Y.bind(this._onDragEnd, this), + 'drag:over': Y.bind(this._onDragOver, this), + 'drag:drag': Y.bind(this._onDrag, this) + }); + + this.delegate = del; + Sortable.reg(this); + }, + _up: null, + _y: null, + _onDrag: function(e) { + if (e.pageY < this._y) { + this._up = true; + } else if (e.pageY > this._y) { + this._up = false; + } + + this._y = e.pageY; + }, + /** + * @private + * @method _onDropOver + * @param Event e The Event Object + * @description Handles the DropOver event to append a drop node to an empty target + */ + _onDropOver: function(e) { + if (!e.drop.get(NODE).test(this.get(NODES))) { + var nodes = e.drop.get(NODE).all(this.get(NODES)); + e.drop.get(NODE).append(e.drag.get(NODE)); + } + }, + /** + * @private + * @method _onDragOver + * @param Event e The Event Object + * @description Handles the DragOver event that moves the object in the list or to another list. + */ + _onDragOver: function(e) { + if (!e.drop.get(NODE).test(this.get(NODES))) { + return; + } + if (e.drag.get(NODE) == e.drop.get(NODE)) { + return; + } + // is drop a child of drag? + if (e.drag.get(NODE).contains(e.drop.get(NODE))) { + return; + } + var same = false, dir, oldNode, newNode, dropsort, dropNode, + moveType = this.get('moveType').toLowerCase(); + + if (e.drag.get(NODE).get(PARENT_NODE).contains(e.drop.get(NODE))) { + same = true; + } + if (same && moveType == 'move') { + moveType = 'insert'; + } + switch (moveType) { + case 'insert': + dir = ((this._up) ? 'before' : 'after'); + dropNode = e.drop.get(NODE); + if (Y.Sortable._test(dropNode, this.get(CONT))) { + dropNode.append(e.drag.get(NODE)); + } else { + dropNode.insert(e.drag.get(NODE), dir); + } + break; + case 'swap': + Y.DD.DDM.swapNode(e.drag, e.drop); + break; + case 'move': + case 'copy': + dropsort = Y.Sortable.getSortable(e.drop.get(NODE).get(PARENT_NODE)); + + if (!dropsort) { + Y.log('No delegate parent found', 'error', 'sortable'); + return; + } + + Y.DD.DDM.getDrop(e.drag.get(NODE)).addToGroup(dropsort.get(ID)); + + //Same List + if (same) { + Y.DD.DDM.swapNode(e.drag, e.drop); + } else { + if (this.get('moveType') == 'copy') { + //New List + oldNode = e.drag.get(NODE); + newNode = oldNode.cloneNode(true); + + newNode.set(ID, ''); + e.drag.set(NODE, newNode); + dropsort.delegate.createDrop(newNode, [dropsort.get(ID)]); + oldNode.setStyles({ + top: '', + left: '' + }); + } + e.drop.get(NODE).insert(e.drag.get(NODE), 'before'); + } + break; + } + + this.fire(moveType, { same: same, drag: e.drag, drop: e.drop }); + this.fire('moved', { same: same, drag: e.drag, drop: e.drop }); + }, + /** + * @private + * @method _onDragStart + * @param Event e The Event Object + * @description Handles the DragStart event and initializes some settings. + */ + _onDragStart: function(e) { + var del = this.delegate, + lastNode = del.get('lastNode'); + if (lastNode && lastNode.getDOMNode()) { + lastNode.setStyle(ZINDEX, ''); + } + del.get(this.get(OPACITY_NODE)).setStyle(OPACITY, this.get(OPACITY)); + del.get(CURRENT_NODE).setStyle(ZINDEX, '999'); + }, + /** + * @private + * @method _onDragEnd + * @param Event e The Event Object + * @description Handles the DragEnd event that cleans up the settings in the drag:start event. + */ + _onDragEnd: function(e) { + this.delegate.get(this.get(OPACITY_NODE)).setStyle(OPACITY, 1); + this.delegate.get(CURRENT_NODE).setStyles({ + top: '', + left: '' + }); + this.sync(); + }, + /** + * @method plug + * @param Class cls The class to plug + * @param Object config The class config + * @description Passthrough to the DD.Delegate.ddplug method + * @chainable + */ + plug: function(cls, config) { + //I don't like this.. Not at all, need to discuss with the team + if (cls && cls.NAME.substring(0, 4).toLowerCase() === 'sort') { + this.constructor.superclass.plug.call(this, cls, config); + } else { + this.delegate.dd.plug(cls, config); + } + return this; + }, + /** + * @method sync + * @description Passthrough to the DD.Delegate syncTargets method. + * @chainable + */ + sync: function() { + this.delegate.syncTargets(); + return this; + }, + destructor: function() { + this.drop.destroy(); + this.delegate.destroy(); + Sortable.unreg(this); + }, + /** + * @method join + * @param Sortable sel The Sortable list to join with + * @param String type The type of join to do: full, inner, outer, none. Default: full + * @description Join this Sortable with another Sortable instance. + *
    + *
  • full: Exchange nodes with both lists.
  • + *
  • inner: Items can go into this list from the joined list.
  • + *
  • outer: Items can go out of the joined list into this list.
  • + *
  • none: Removes the join.
  • + *
+ * @chainable + */ + join: function(sel, type) { + if (!(sel instanceof Y.Sortable)) { + Y.error('Sortable: join needs a Sortable Instance'); + return this; + } + if (!type) { + type = 'full'; + } + type = type.toLowerCase(); + var method = '_join_' + type; + + if (this[method]) { + this[method](sel); + } + + return this; + }, + /** + * @private + * @method _join_none + * @param Sortable sel The Sortable to remove the join from + * @description Removes the join with the passed Sortable. + */ + _join_none: function(sel) { + this.delegate.dd.removeFromGroup(sel.get(ID)); + sel.delegate.dd.removeFromGroup(this.get(ID)); + }, + /** + * @private + * @method _join_full + * @param Sortable sel The Sortable list to join with + * @description Joins both of the Sortables together. + */ + _join_full: function(sel) { + this.delegate.dd.addToGroup(sel.get(ID)); + sel.delegate.dd.addToGroup(this.get(ID)); + }, + /** + * @private + * @method _join_outer + * @param Sortable sel The Sortable list to join with + * @description Allows this Sortable to accept items from the passed Sortable. + */ + _join_outer: function(sel) { + this.delegate.dd.addToGroup(sel.get(ID)); + }, + /** + * @private + * @method _join_inner + * @param Sortable sel The Sortable list to join with + * @description Allows this Sortable to give items to the passed Sortable. + */ + _join_inner: function(sel) { + sel.delegate.dd.addToGroup(this.get(ID)); + }, + /** + * A custom callback to allow a user to extract some sort of id or any other data from the node to use in the "ordering list" and then that data should be returned from the callback. + * @method getOrdering + * @param Function callback + * @return Array + */ + getOrdering: function(callback) { + var ordering = []; + + if (!Y.Lang.isFunction(callback)) { + callback = function (node) { + return node; + }; + } + + Y.one(this.get(CONT)).all(this.get(NODES)).each(function(node) { + ordering.push(callback(node)); + }); + return ordering; + } + }, { + NAME: 'sortable', + ATTRS: { + /** + * @attribute handles + * @description Drag handles to pass on to the internal DD.Delegate instance. + * @type Array + */ + handles: { + value: false + }, + /** + * @attribute container + * @description A selector query to get the container to listen for mousedown events on. All "nodes" should be a child of this container. + * @type String + */ + container: { + value: 'body' + }, + /** + * @attribute nodes + * @description A selector query to get the children of the "container" to make draggable elements from. + * @type String + */ + nodes: { + value: '.dd-draggable' + }, + /** + * @attribute opacity + * @description The opacity to change the proxy item to when dragging. + * @type String + */ + opacity: { + value: '.75' + }, + /** + * @attribute opacityNode + * @description The node to set opacity on when dragging (dragNode or currentNode). Default: currentNode. + * @type String + */ + opacityNode: { + value: 'currentNode' + }, + /** + * @attribute id + * @description The id of this Sortable, used to get a reference to this Sortable list from another list. + * @type String + */ + id: { + value: null + }, + /** + * @attribute moveType + * @description How should an item move to another list: insert, swap, move, copy. Default: insert + * @type String + */ + moveType: { + value: 'insert' + }, + /** + * @attribute invalid + * @description A selector string to test if a list item is invalid and not sortable + * @type String + */ + invalid: { + value: '' + } + }, + /** + * @static + * @property _sortables + * @private + * @type Array + * @description Hash map of all Sortables on the page. + */ + _sortables: [], + /** + * @static + * @method _test + * @param {Node} node The node instance to test. + * @param {String|Node} test The node instance or selector string to test against. + * @description Test a Node or a selector for the container + */ + _test: function(node, test) { + if (test instanceof Y.Node) { + return (test === node); + } else { + return node.test(test); + } + }, + /** + * @static + * @method getSortable + * @param {String|Node} node The node instance or selector string to use to find a Sortable instance. + * @description Get a Sortable instance back from a node reference or a selector string. + */ + getSortable: function(node) { + var s = null; + node = Y.one(node); + Y.each(Y.Sortable._sortables, function(v) { + if (Y.Sortable._test(node, v.get(CONT))) { + s = v; + } + }); + return s; + }, + /** + * @static + * @method reg + * @param Sortable s A Sortable instance. + * @description Register a Sortable instance with the singleton to allow lookups later. + */ + reg: function(s) { + Y.Sortable._sortables.push(s); + }, + /** + * @static + * @method unreg + * @param Sortable s A Sortable instance. + * @description Unregister a Sortable instance with the singleton. + */ + unreg: function(s) { + Y.each(Y.Sortable._sortables, function(v, k) { + if (v === s) { + Y.Sortable._sortables[k] = null; + delete Sortable._sortables[k]; + } + }); + } + }); + + Y.Sortable = Sortable; + + /** + * @event copy + * @description A Sortable node was moved with a copy. + * @param {Event.Facade} event An Event Facade object + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event move + * @description A Sortable node was moved with a move. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event insert + * @description A Sortable node was moved with an insert. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event swap + * @description A Sortable node was moved with a swap. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event moved + * @description A Sortable node was moved. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + + + +}, '3.6.0pr3' ,{requires:['dd-delegate', 'dd-drop-plugin', 'dd-proxy']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-min.js new file mode 100644 index 000000000..d2ae99e97 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("sortable",function(a){var c=function(l){c.superclass.constructor.apply(this,arguments);},f="currentNode",d="opacityNode",i="container",e="id",j="zIndex",k="opacity",h="parentNode",g="nodes",b="node";a.extend(c,a.Base,{delegate:null,drop:null,initializer:function(){var n="sortable-"+a.guid(),m={container:this.get(i),nodes:this.get(g),target:true,invalid:this.get("invalid"),dragConfig:{groups:[n]}},l;if(this.get("handles")){m.handles=this.get("handles");}l=new a.DD.Delegate(m);this.set(e,n);l.dd.plug(a.Plugin.DDProxy,{moveOnEnd:false,cloneNode:true});this.drop=new a.DD.Drop({node:this.get(i),bubbleTarget:l,groups:l.dd.get("groups")});this.drop.on("drop:over",a.bind(this._onDropOver,this));l.on({"drag:start":a.bind(this._onDragStart,this),"drag:end":a.bind(this._onDragEnd,this),"drag:over":a.bind(this._onDragOver,this),"drag:drag":a.bind(this._onDrag,this)});this.delegate=l;c.reg(this);},_up:null,_y:null,_onDrag:function(l){if(l.pageYthis._y){this._up=false;}}this._y=l.pageY;},_onDropOver:function(m){if(!m.drop.get(b).test(this.get(g))){var l=m.drop.get(b).all(this.get(g));m.drop.get(b).append(m.drag.get(b));}},_onDragOver:function(r){if(!r.drop.get(b).test(this.get(g))){return;}if(r.drag.get(b)==r.drop.get(b)){return;}if(r.drag.get(b).contains(r.drop.get(b))){return;}var s=false,m,q,o,n,l,p=this.get("moveType").toLowerCase();if(r.drag.get(b).get(h).contains(r.drop.get(b))){s=true;}if(s&&p=="move"){p="insert";}switch(p){case"insert":m=((this._up)?"before":"after");l=r.drop.get(b);if(a.Sortable._test(l,this.get(i))){l.append(r.drag.get(b));}else{l.insert(r.drag.get(b),m);}break;case"swap":a.DD.DDM.swapNode(r.drag,r.drop);break;case"move":case"copy":n=a.Sortable.getSortable(r.drop.get(b).get(h));if(!n){return;}a.DD.DDM.getDrop(r.drag.get(b)).addToGroup(n.get(e));if(s){a.DD.DDM.swapNode(r.drag,r.drop);}else{if(this.get("moveType")=="copy"){q=r.drag.get(b);o=q.cloneNode(true);o.set(e,"");r.drag.set(b,o);n.delegate.createDrop(o,[n.get(e)]);q.setStyles({top:"",left:""});}r.drop.get(b).insert(r.drag.get(b),"before");}break;}this.fire(p,{same:s,drag:r.drag,drop:r.drop});this.fire("moved",{same:s,drag:r.drag,drop:r.drop});},_onDragStart:function(n){var l=this.delegate,m=l.get("lastNode");if(m&&m.getDOMNode()){m.setStyle(j,"");}l.get(this.get(d)).setStyle(k,this.get(k));l.get(f).setStyle(j,"999");},_onDragEnd:function(l){this.delegate.get(this.get(d)).setStyle(k,1);this.delegate.get(f).setStyles({top:"",left:""});this.sync();},plug:function(l,m){if(l&&l.NAME.substring(0,4).toLowerCase()==="sort"){this.constructor.superclass.plug.call(this,l,m);}else{this.delegate.dd.plug(l,m);}return this;},sync:function(){this.delegate.syncTargets();return this;},destructor:function(){this.drop.destroy();this.delegate.destroy();c.unreg(this);},join:function(m,l){if(!(m instanceof a.Sortable)){a.error("Sortable: join needs a Sortable Instance");return this;}if(!l){l="full";}l=l.toLowerCase();var n="_join_"+l;if(this[n]){this[n](m);}return this;},_join_none:function(l){this.delegate.dd.removeFromGroup(l.get(e));l.delegate.dd.removeFromGroup(this.get(e));},_join_full:function(l){this.delegate.dd.addToGroup(l.get(e));l.delegate.dd.addToGroup(this.get(e));},_join_outer:function(l){this.delegate.dd.addToGroup(l.get(e));},_join_inner:function(l){l.delegate.dd.addToGroup(this.get(e));},getOrdering:function(m){var l=[];if(!a.Lang.isFunction(m)){m=function(n){return n;};}a.one(this.get(i)).all(this.get(g)).each(function(n){l.push(m(n));});return l;}},{NAME:"sortable",ATTRS:{handles:{value:false},container:{value:"body"},nodes:{value:".dd-draggable"},opacity:{value:".75"},opacityNode:{value:"currentNode"},id:{value:null},moveType:{value:"insert"},invalid:{value:""}},_sortables:[],_test:function(l,m){if(m instanceof a.Node){return(m===l);}else{return l.test(m);}},getSortable:function(m){var l=null;m=a.one(m);a.each(a.Sortable._sortables,function(n){if(a.Sortable._test(m,n.get(i))){l=n;}});return l;},reg:function(l){a.Sortable._sortables.push(l);},unreg:function(l){a.each(a.Sortable._sortables,function(n,m){if(n===l){a.Sortable._sortables[m]=null;delete c._sortables[m];}});}});a.Sortable=c;},"3.6.0pr3",{requires:["dd-delegate","dd-drop-plugin","dd-proxy"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable.js new file mode 100644 index 000000000..bcfe3e297 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/sortable/sortable.js @@ -0,0 +1,515 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('sortable', function(Y) { + + + /** + * The class allows you to create a Drag & Drop reordered list. + * @module sortable + */ + /** + * The class allows you to create a Drag & Drop reordered list. + * @class Sortable + * @extends Base + * @constructor + */ + + + var Sortable = function(o) { + Sortable.superclass.constructor.apply(this, arguments); + }, + CURRENT_NODE = 'currentNode', + OPACITY_NODE = 'opacityNode', + CONT = 'container', + ID = 'id', + ZINDEX = 'zIndex', + OPACITY = 'opacity', + PARENT_NODE = 'parentNode', + NODES = 'nodes', + NODE = 'node'; + + + Y.extend(Sortable, Y.Base, { + /** + * @property delegate + * @type DD.Delegate + * @description A reference to the DD.Delegate instance. + */ + delegate: null, + /** + * @property drop + * @type DD.Drop + * @description A reference to the DD.Drop instance + */ + drop: null, + initializer: function() { + var id = 'sortable-' + Y.guid(), + delConfig = { + container: this.get(CONT), + nodes: this.get(NODES), + target: true, + invalid: this.get('invalid'), + dragConfig: { + groups: [ id ] + } + }, del; + + if (this.get('handles')) { + delConfig.handles = this.get('handles'); + } + del = new Y.DD.Delegate(delConfig); + + this.set(ID, id); + + del.dd.plug(Y.Plugin.DDProxy, { + moveOnEnd: false, + cloneNode: true + }); + + this.drop = new Y.DD.Drop({ + node: this.get(CONT), + bubbleTarget: del, + groups: del.dd.get('groups') + }); + this.drop.on('drop:over', Y.bind(this._onDropOver, this)); + + del.on({ + 'drag:start': Y.bind(this._onDragStart, this), + 'drag:end': Y.bind(this._onDragEnd, this), + 'drag:over': Y.bind(this._onDragOver, this), + 'drag:drag': Y.bind(this._onDrag, this) + }); + + this.delegate = del; + Sortable.reg(this); + }, + _up: null, + _y: null, + _onDrag: function(e) { + if (e.pageY < this._y) { + this._up = true; + } else if (e.pageY > this._y) { + this._up = false; + } + + this._y = e.pageY; + }, + /** + * @private + * @method _onDropOver + * @param Event e The Event Object + * @description Handles the DropOver event to append a drop node to an empty target + */ + _onDropOver: function(e) { + if (!e.drop.get(NODE).test(this.get(NODES))) { + var nodes = e.drop.get(NODE).all(this.get(NODES)); + e.drop.get(NODE).append(e.drag.get(NODE)); + } + }, + /** + * @private + * @method _onDragOver + * @param Event e The Event Object + * @description Handles the DragOver event that moves the object in the list or to another list. + */ + _onDragOver: function(e) { + if (!e.drop.get(NODE).test(this.get(NODES))) { + return; + } + if (e.drag.get(NODE) == e.drop.get(NODE)) { + return; + } + // is drop a child of drag? + if (e.drag.get(NODE).contains(e.drop.get(NODE))) { + return; + } + var same = false, dir, oldNode, newNode, dropsort, dropNode, + moveType = this.get('moveType').toLowerCase(); + + if (e.drag.get(NODE).get(PARENT_NODE).contains(e.drop.get(NODE))) { + same = true; + } + if (same && moveType == 'move') { + moveType = 'insert'; + } + switch (moveType) { + case 'insert': + dir = ((this._up) ? 'before' : 'after'); + dropNode = e.drop.get(NODE); + if (Y.Sortable._test(dropNode, this.get(CONT))) { + dropNode.append(e.drag.get(NODE)); + } else { + dropNode.insert(e.drag.get(NODE), dir); + } + break; + case 'swap': + Y.DD.DDM.swapNode(e.drag, e.drop); + break; + case 'move': + case 'copy': + dropsort = Y.Sortable.getSortable(e.drop.get(NODE).get(PARENT_NODE)); + + if (!dropsort) { + return; + } + + Y.DD.DDM.getDrop(e.drag.get(NODE)).addToGroup(dropsort.get(ID)); + + //Same List + if (same) { + Y.DD.DDM.swapNode(e.drag, e.drop); + } else { + if (this.get('moveType') == 'copy') { + //New List + oldNode = e.drag.get(NODE); + newNode = oldNode.cloneNode(true); + + newNode.set(ID, ''); + e.drag.set(NODE, newNode); + dropsort.delegate.createDrop(newNode, [dropsort.get(ID)]); + oldNode.setStyles({ + top: '', + left: '' + }); + } + e.drop.get(NODE).insert(e.drag.get(NODE), 'before'); + } + break; + } + + this.fire(moveType, { same: same, drag: e.drag, drop: e.drop }); + this.fire('moved', { same: same, drag: e.drag, drop: e.drop }); + }, + /** + * @private + * @method _onDragStart + * @param Event e The Event Object + * @description Handles the DragStart event and initializes some settings. + */ + _onDragStart: function(e) { + var del = this.delegate, + lastNode = del.get('lastNode'); + if (lastNode && lastNode.getDOMNode()) { + lastNode.setStyle(ZINDEX, ''); + } + del.get(this.get(OPACITY_NODE)).setStyle(OPACITY, this.get(OPACITY)); + del.get(CURRENT_NODE).setStyle(ZINDEX, '999'); + }, + /** + * @private + * @method _onDragEnd + * @param Event e The Event Object + * @description Handles the DragEnd event that cleans up the settings in the drag:start event. + */ + _onDragEnd: function(e) { + this.delegate.get(this.get(OPACITY_NODE)).setStyle(OPACITY, 1); + this.delegate.get(CURRENT_NODE).setStyles({ + top: '', + left: '' + }); + this.sync(); + }, + /** + * @method plug + * @param Class cls The class to plug + * @param Object config The class config + * @description Passthrough to the DD.Delegate.ddplug method + * @chainable + */ + plug: function(cls, config) { + //I don't like this.. Not at all, need to discuss with the team + if (cls && cls.NAME.substring(0, 4).toLowerCase() === 'sort') { + this.constructor.superclass.plug.call(this, cls, config); + } else { + this.delegate.dd.plug(cls, config); + } + return this; + }, + /** + * @method sync + * @description Passthrough to the DD.Delegate syncTargets method. + * @chainable + */ + sync: function() { + this.delegate.syncTargets(); + return this; + }, + destructor: function() { + this.drop.destroy(); + this.delegate.destroy(); + Sortable.unreg(this); + }, + /** + * @method join + * @param Sortable sel The Sortable list to join with + * @param String type The type of join to do: full, inner, outer, none. Default: full + * @description Join this Sortable with another Sortable instance. + *
    + *
  • full: Exchange nodes with both lists.
  • + *
  • inner: Items can go into this list from the joined list.
  • + *
  • outer: Items can go out of the joined list into this list.
  • + *
  • none: Removes the join.
  • + *
+ * @chainable + */ + join: function(sel, type) { + if (!(sel instanceof Y.Sortable)) { + Y.error('Sortable: join needs a Sortable Instance'); + return this; + } + if (!type) { + type = 'full'; + } + type = type.toLowerCase(); + var method = '_join_' + type; + + if (this[method]) { + this[method](sel); + } + + return this; + }, + /** + * @private + * @method _join_none + * @param Sortable sel The Sortable to remove the join from + * @description Removes the join with the passed Sortable. + */ + _join_none: function(sel) { + this.delegate.dd.removeFromGroup(sel.get(ID)); + sel.delegate.dd.removeFromGroup(this.get(ID)); + }, + /** + * @private + * @method _join_full + * @param Sortable sel The Sortable list to join with + * @description Joins both of the Sortables together. + */ + _join_full: function(sel) { + this.delegate.dd.addToGroup(sel.get(ID)); + sel.delegate.dd.addToGroup(this.get(ID)); + }, + /** + * @private + * @method _join_outer + * @param Sortable sel The Sortable list to join with + * @description Allows this Sortable to accept items from the passed Sortable. + */ + _join_outer: function(sel) { + this.delegate.dd.addToGroup(sel.get(ID)); + }, + /** + * @private + * @method _join_inner + * @param Sortable sel The Sortable list to join with + * @description Allows this Sortable to give items to the passed Sortable. + */ + _join_inner: function(sel) { + sel.delegate.dd.addToGroup(this.get(ID)); + }, + /** + * A custom callback to allow a user to extract some sort of id or any other data from the node to use in the "ordering list" and then that data should be returned from the callback. + * @method getOrdering + * @param Function callback + * @return Array + */ + getOrdering: function(callback) { + var ordering = []; + + if (!Y.Lang.isFunction(callback)) { + callback = function (node) { + return node; + }; + } + + Y.one(this.get(CONT)).all(this.get(NODES)).each(function(node) { + ordering.push(callback(node)); + }); + return ordering; + } + }, { + NAME: 'sortable', + ATTRS: { + /** + * @attribute handles + * @description Drag handles to pass on to the internal DD.Delegate instance. + * @type Array + */ + handles: { + value: false + }, + /** + * @attribute container + * @description A selector query to get the container to listen for mousedown events on. All "nodes" should be a child of this container. + * @type String + */ + container: { + value: 'body' + }, + /** + * @attribute nodes + * @description A selector query to get the children of the "container" to make draggable elements from. + * @type String + */ + nodes: { + value: '.dd-draggable' + }, + /** + * @attribute opacity + * @description The opacity to change the proxy item to when dragging. + * @type String + */ + opacity: { + value: '.75' + }, + /** + * @attribute opacityNode + * @description The node to set opacity on when dragging (dragNode or currentNode). Default: currentNode. + * @type String + */ + opacityNode: { + value: 'currentNode' + }, + /** + * @attribute id + * @description The id of this Sortable, used to get a reference to this Sortable list from another list. + * @type String + */ + id: { + value: null + }, + /** + * @attribute moveType + * @description How should an item move to another list: insert, swap, move, copy. Default: insert + * @type String + */ + moveType: { + value: 'insert' + }, + /** + * @attribute invalid + * @description A selector string to test if a list item is invalid and not sortable + * @type String + */ + invalid: { + value: '' + } + }, + /** + * @static + * @property _sortables + * @private + * @type Array + * @description Hash map of all Sortables on the page. + */ + _sortables: [], + /** + * @static + * @method _test + * @param {Node} node The node instance to test. + * @param {String|Node} test The node instance or selector string to test against. + * @description Test a Node or a selector for the container + */ + _test: function(node, test) { + if (test instanceof Y.Node) { + return (test === node); + } else { + return node.test(test); + } + }, + /** + * @static + * @method getSortable + * @param {String|Node} node The node instance or selector string to use to find a Sortable instance. + * @description Get a Sortable instance back from a node reference or a selector string. + */ + getSortable: function(node) { + var s = null; + node = Y.one(node); + Y.each(Y.Sortable._sortables, function(v) { + if (Y.Sortable._test(node, v.get(CONT))) { + s = v; + } + }); + return s; + }, + /** + * @static + * @method reg + * @param Sortable s A Sortable instance. + * @description Register a Sortable instance with the singleton to allow lookups later. + */ + reg: function(s) { + Y.Sortable._sortables.push(s); + }, + /** + * @static + * @method unreg + * @param Sortable s A Sortable instance. + * @description Unregister a Sortable instance with the singleton. + */ + unreg: function(s) { + Y.each(Y.Sortable._sortables, function(v, k) { + if (v === s) { + Y.Sortable._sortables[k] = null; + delete Sortable._sortables[k]; + } + }); + } + }); + + Y.Sortable = Sortable; + + /** + * @event copy + * @description A Sortable node was moved with a copy. + * @param {Event.Facade} event An Event Facade object + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event move + * @description A Sortable node was moved with a move. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event insert + * @description A Sortable node was moved with an insert. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event swap + * @description A Sortable node was moved with a swap. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + /** + * @event moved + * @description A Sortable node was moved. + * @param {Event.Facade} event An Event Facade object with the following specific property added: + * @param {Boolean} event.same Moved to the same list. + * @param {DD.Drag} event.drag The drag instance. + * @param {DD.Drop} event.drop The drop instance. + * @type {Event.Custom} + */ + + + +}, '3.6.0pr3' ,{requires:['dd-delegate', 'dd-drop-plugin', 'dd-proxy']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/debug.js new file mode 100644 index 000000000..140379d20 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("stylesheet"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/index.js new file mode 100644 index 000000000..6b6d091ea --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("stylesheet"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-debug.js new file mode 100644 index 000000000..305b473f9 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-debug.js @@ -0,0 +1,648 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('stylesheet', function(Y) { + +/** + * The StyleSheet component is a module for creating and modifying CSS + * stylesheets. + * + * @module stylesheet + */ +var d = Y.config.doc, + p = d.createElement('p'), // Have to hold the node (see notes) + workerStyle = p.style, // worker style collection + isString = Y.Lang.isString, + selectors = {}, + sheets = {}, + floatAttr = ('cssFloat' in workerStyle) ? 'cssFloat' : 'styleFloat', + _toCssText, + _unsetOpacity, + _unsetProperty, + OPACITY = 'opacity', + FLOAT = 'float', + EMPTY = ''; + +// Normalizes the removal of an assigned style for opacity. IE uses the filter +// property. +_unsetOpacity = (OPACITY in workerStyle) ? + function (style) { style.opacity = EMPTY; } : + function (style) { style.filter = EMPTY; }; + +// Normalizes the removal of an assigned style for a given property. Expands +// shortcut properties if necessary and handles the various names for the float +// property. +workerStyle.border = "1px solid red"; +workerStyle.border = EMPTY; // IE doesn't unset child properties +_unsetProperty = workerStyle.borderLeft ? + function (style,prop) { + var p; + if (prop !== floatAttr && prop.toLowerCase().indexOf(FLOAT) != -1) { + prop = floatAttr; + } + if (isString(style[prop])) { + switch (prop) { + case OPACITY: + case 'filter' : _unsetOpacity(style); break; + case 'font' : + style.font = style.fontStyle = style.fontVariant = + style.fontWeight = style.fontSize = style.lineHeight = + style.fontFamily = EMPTY; + break; + default : + for (p in style) { + if (p.indexOf(prop) === 0) { + style[p] = EMPTY; + } + } + } + } + } : + function (style,prop) { + if (prop !== floatAttr && prop.toLowerCase().indexOf(FLOAT) != -1) { + prop = floatAttr; + } + if (isString(style[prop])) { + if (prop === OPACITY) { + _unsetOpacity(style); + } else { + style[prop] = EMPTY; + } + } + }; + +/** + * Create an instance of StyleSheet to encapsulate a css stylesheet. + * The constructor can be called using function or constructor syntax. + *
var sheet = Y.StyleSheet(..);
+ * or + *
var sheet = new Y.StyleSheet(..);
+ * + * The first parameter passed can be any of the following things: + *
    + *
  • The desired string name to register a new empty sheet
  • + *
  • The string name of an existing StyleSheet instance
  • + *
  • The unique guid generated for an existing StyleSheet instance
  • + *
  • The id of an existing <link> or <style> node
  • + *
  • The node reference for an existing <link> or <style> node
  • + *
  • The Y.Node instance wrapping an existing <link> or <style> node
  • + *
  • A chunk of css text to create a new stylesheet from
  • + *
+ * + *

If a string is passed, StyleSheet will first look in its static name + * registry for an existing sheet, then in the DOM for an element with that id. + * If neither are found and the string contains the { character, it will be + * used as a the initial cssText for a new StyleSheet. Otherwise, a new empty + * StyleSheet is created, assigned the string value as a name, and registered + * statically by that name.

+ * + *

The optional second parameter is a string name to register the sheet as. + * This param is largely useful when providing a node id/ref or chunk of css + * text to create a populated instance.

+ * + * @class StyleSheet + * @constructor + * @param seed {String|HTMLElement|Node} a style or link node, its id, or a + * name or guid of a StyleSheet, or a string of css text + * @param name {String} (optional) name to register instance for future static + * access + */ +function StyleSheet(seed, name) { + var head, + node, + sheet, + cssRules = {}, + _rules, + _insertRule, + _deleteRule, + i,r,sel; + + // Factory or constructor + if (!(Y.instanceOf(this, StyleSheet))) { + return new StyleSheet(seed,name); + } + + // Extract the DOM node from Node instances + if (seed) { + if (Y.Node && seed instanceof Y.Node) { + node = seed._node; + } else if (seed.nodeName) { + node = seed; + // capture the DOM node if the string is an id + } else if (isString(seed)) { + if (seed && sheets[seed]) { + return sheets[seed]; + } + node = d.getElementById(seed.replace(/^#/,EMPTY)); + } + + // Check for the StyleSheet in the static registry + if (node && sheets[Y.stamp(node)]) { + return sheets[Y.stamp(node)]; + } + } + + + // Create a style node if necessary + if (!node || !/^(?:style|link)$/i.test(node.nodeName)) { + node = d.createElement('style'); + node.type = 'text/css'; + } + + if (isString(seed)) { + // Create entire sheet from seed cssText + if (seed.indexOf('{') != -1) { + // Not a load-time fork because low run-time impact and IE fails + // test for s.styleSheet at page load time (oddly) + if (node.styleSheet) { + node.styleSheet.cssText = seed; + } else { + node.appendChild(d.createTextNode(seed)); + } + } else if (!name) { + name = seed; + } + } + + // Make sure the node is attached to the appropriate head element + if (!node.parentNode || node.parentNode.nodeName.toLowerCase() !== 'head') { + head = (node.ownerDocument || d).getElementsByTagName('head')[0]; + // styleSheet isn't available on the style node in FF2 until appended + // to the head element. style nodes appended to body do not affect + // change in Safari. + head.appendChild(node); + } + + // Begin setting up private aliases to the important moving parts + // 1. The stylesheet object + // IE stores StyleSheet under the "styleSheet" property + // Safari doesn't populate sheet for xdomain link elements + sheet = node.sheet || node.styleSheet; + + // 2. The style rules collection + // IE stores the rules collection under the "rules" property + _rules = sheet && ('cssRules' in sheet) ? 'cssRules' : 'rules'; + + // 3. The method to remove a rule from the stylesheet + // IE supports removeRule + _deleteRule = ('deleteRule' in sheet) ? + function (i) { sheet.deleteRule(i); } : + function (i) { sheet.removeRule(i); }; + + // 4. The method to add a new rule to the stylesheet + // IE supports addRule with different signature + _insertRule = ('insertRule' in sheet) ? + function (sel,css,i) { sheet.insertRule(sel+' {'+css+'}',i); } : + function (sel,css,i) { sheet.addRule(sel,css,i); }; + + // 5. Initialize the cssRules map from the node + // xdomain link nodes forbid access to the cssRules collection, so this + // will throw an error. + // TODO: research alternate stylesheet, @media + for (i = sheet[_rules].length - 1; i >= 0; --i) { + r = sheet[_rules][i]; + sel = r.selectorText; + + if (cssRules[sel]) { + cssRules[sel].style.cssText += ';' + r.style.cssText; + _deleteRule(i); + } else { + cssRules[sel] = r; + } + } + + // Cache the instance by the generated Id + StyleSheet.register(Y.stamp(node),this); + + // Register the instance by name if provided or defaulted from seed + if (name) { + StyleSheet.register(name,this); + } + + // Public API + Y.mix(this,{ + /** + * Get the unique stamp for this StyleSheet instance + * + * @method getId + * @return {Number} the static id + */ + getId : function () { return Y.stamp(node); }, + + /** + * Enable all the rules in the sheet + * + * @method enable + * @return {StyleSheet} + * @chainable + */ + enable : function () { sheet.disabled = false; return this; }, + + /** + * Disable all the rules in the sheet. Rules may be changed while the + * StyleSheet is disabled. + * + * @method disable + * @return {StyleSheet} + * @chainable + */ + disable : function () { sheet.disabled = true; return this; }, + + /** + * Returns false if the StyleSheet is disabled. Otherwise true. + * + * @method isEnabled + * @return {Boolean} + */ + isEnabled : function () { return !sheet.disabled; }, + + /** + *

Set style properties for a provided selector string. + * If the selector includes commas, it will be split into individual + * selectors and applied accordingly. If the selector string does not + * have a corresponding rule in the sheet, it will be added.

+ * + *

The object properties in the second parameter must be the JavaScript + * names of style properties. E.g. fontSize rather than font-size.

+ * + *

The float style property will be set by any of "float", + * "styleFloat", or "cssFloat".

+ * + * @method set + * @param sel {String} the selector string to apply the changes to + * @param css {Object} Object literal of style properties and new values + * @return {StyleSheet} + * @chainable + */ + set : function (sel,css) { + var rule = cssRules[sel], + multi = sel.split(/\s*,\s*/),i, + idx; + + // IE's addRule doesn't support multiple comma delimited selectors + if (multi.length > 1) { + for (i = multi.length - 1; i >= 0; --i) { + this.set(multi[i], css); + } + return this; + } + + // Some selector values can cause IE to hang + if (!StyleSheet.isValidSelector(sel)) { + Y.log("Invalid selector '"+sel+"' passed to set (ignoring).",'error','StyleSheet'); + return this; + } + + // Opera throws an error if there's a syntax error in assigned + // cssText. Avoid this using a worker style collection, then + // assigning the resulting cssText. + if (rule) { + rule.style.cssText = StyleSheet.toCssText(css,rule.style.cssText); + } else { + idx = sheet[_rules].length; + css = StyleSheet.toCssText(css); + + // IE throws an error when attempting to addRule(sel,'',n) + // which would crop up if no, or only invalid values are used + if (css) { + _insertRule(sel, css, idx); + + // Safari replaces the rules collection, but maintains the + // rule instances in the new collection when rules are + // added/removed + cssRules[sel] = sheet[_rules][idx]; + } + } + return this; + }, + + /** + *

Unset style properties for a provided selector string, removing + * their effect from the style cascade.

+ * + *

If the selector includes commas, it will be split into individual + * selectors and applied accordingly. If there are no properties + * remaining in the rule after unsetting, the rule is removed.

+ * + *

The style property or properties in the second parameter must be the + * JavaScript style property names. E.g. fontSize rather than font-size.

+ * + *

The float style property will be unset by any of "float", + * "styleFloat", or "cssFloat".

+ * + * @method unset + * @param sel {String} the selector string to apply the changes to + * @param css {String|Array} style property name or Array of names + * @return {StyleSheet} + * @chainable + */ + unset : function (sel,css) { + var rule = cssRules[sel], + multi = sel.split(/\s*,\s*/), + remove = !css, + rules, i; + + // IE's addRule doesn't support multiple comma delimited selectors + // so rules are mapped internally by atomic selectors + if (multi.length > 1) { + for (i = multi.length - 1; i >= 0; --i) { + this.unset(multi[i], css); + } + return this; + } + + if (rule) { + if (!remove) { + css = Y.Array(css); + + workerStyle.cssText = rule.style.cssText; + for (i = css.length - 1; i >= 0; --i) { + _unsetProperty(workerStyle,css[i]); + } + + if (workerStyle.cssText) { + rule.style.cssText = workerStyle.cssText; + } else { + remove = true; + } + } + + if (remove) { // remove the rule altogether + rules = sheet[_rules]; + for (i = rules.length - 1; i >= 0; --i) { + if (rules[i] === rule) { + delete cssRules[sel]; + _deleteRule(i); + break; + } + } + } + } + return this; + }, + + /** + * Get the current cssText for a rule or the entire sheet. If the + * selector param is supplied, only the cssText for that rule will be + * returned, if found. If the selector string targets multiple + * selectors separated by commas, the cssText of the first rule only + * will be returned. If no selector string, the stylesheet's full + * cssText will be returned. + * + * @method getCssText + * @param sel {String} Selector string + * @return {String} + */ + getCssText : function (sel) { + var rule, css, selector; + + if (isString(sel)) { + // IE's addRule doesn't support multiple comma delimited + // selectors so rules are mapped internally by atomic selectors + rule = cssRules[sel.split(/\s*,\s*/)[0]]; + + return rule ? rule.style.cssText : null; + } else { + css = []; + for (selector in cssRules) { + if (cssRules.hasOwnProperty(selector)) { + rule = cssRules[selector]; + css.push(rule.selectorText+" {"+rule.style.cssText+"}"); + } + } + return css.join("\n"); + } + } + }); + +} + +_toCssText = function (css,base) { + var f = css.styleFloat || css.cssFloat || css[FLOAT], + trim = Y.Lang.trim, + prop; + + // A very difficult to repro/isolate IE 9 beta (and Platform Preview 7) bug + // was reduced to this line throwing the error: + // "Invalid this pointer used as target for method call" + // It appears that the style collection is corrupted. The error is + // catchable, so in a best effort to work around it, replace the + // p and workerStyle and try the assignment again. + try { + workerStyle.cssText = base || EMPTY; + } catch (e) { + Y.log("Worker style collection corrupted. Replacing.", "warn", "StyleSheet"); + p = d.createElement('p'); + workerStyle = p.style; + workerStyle.cssText = base || EMPTY; + } + + if (f && !css[floatAttr]) { + css = Y.merge(css); + delete css.styleFloat; delete css.cssFloat; delete css[FLOAT]; + css[floatAttr] = f; + } + + for (prop in css) { + if (css.hasOwnProperty(prop)) { + try { + // IE throws Invalid Value errors and doesn't like whitespace + // in values ala ' red' or 'red ' + workerStyle[prop] = trim(css[prop]); + } + catch (ex) { + Y.log('Error assigning property "'+prop+'" to "'+css[prop]+ + "\" (ignored):\n"+ex.message,'warn','StyleSheet'); + } + } + } + return workerStyle.cssText; +}; + +Y.mix(StyleSheet, { + /** + *

Converts an object literal of style properties and values into a string + * of css text. This can then be assigned to el.style.cssText.

+ * + *

The optional second parameter is a cssText string representing the + * starting state of the style prior to alterations. This is most often + * extracted from the eventual target's current el.style.cssText.

+ * + * @method toCssText + * @param css {Object} object literal of style properties and values + * @param cssText {String} (optional) starting cssText value + * @return {String} the resulting cssText string + * @static + */ + toCssText : ((OPACITY in workerStyle) ? _toCssText : + // Wrap IE's toCssText to catch opacity. The copy/merge is to preserve + // the input object's integrity, but if float and opacity are set, the + // input will be copied twice in IE. Is there a way to avoid this + // without increasing the byte count? + function (css, cssText) { + if (OPACITY in css) { + css = Y.merge(css,{ + filter: 'alpha(opacity='+(css.opacity*100)+')' + }); + delete css.opacity; + } + return _toCssText(css,cssText); + }), + + /** + * Registers a StyleSheet instance in the static registry by the given name + * + * @method register + * @param name {String} the name to assign the StyleSheet in the registry + * @param sheet {StyleSheet} The StyleSheet instance + * @return {Boolean} false if no name or sheet is not a StyleSheet + * instance. true otherwise. + * @static + */ + register : function (name,sheet) { + return !!(name && sheet instanceof StyleSheet && + !sheets[name] && (sheets[name] = sheet)); + }, + + /** + *

Determines if a selector string is safe to use. Used internally + * in set to prevent IE from locking up when attempting to add a rule for a + * "bad selector".

+ * + *

Bad selectors are considered to be any string containing unescaped + * `~!@$%^&()+=|{}[];'"?< or space. Also forbidden are . or # followed by + * anything other than an alphanumeric. Additionally -abc or .-abc or + * #_abc or '# ' all fail. There are likely more failure cases, so + * please file a bug if you encounter one.

+ * + * @method isValidSelector + * @param sel {String} the selector string + * @return {Boolean} + * @static + */ + isValidSelector : function (sel) { + var valid = false; + + if (sel && isString(sel)) { + + if (!selectors.hasOwnProperty(sel)) { + // TEST: there should be nothing but white-space left after + // these destructive regexs + selectors[sel] = !/\S/.test( + // combinators + sel.replace(/\s+|\s*[+~>]\s*/g,' '). + // attribute selectors (contents not validated) + replace(/([^ ])\[.*?\]/g,'$1'). + // pseudo-class|element selectors (contents of parens + // such as :nth-of-type(2) or :not(...) not validated) + replace(/([^ ])::?[a-z][a-z\-]+[a-z](?:\(.*?\))?/ig,'$1'). + // element tags + replace(/(?:^| )[a-z0-6]+/ig,' '). + // escaped characters + replace(/\\./g,EMPTY). + // class and id identifiers + replace(/[.#]\w[\w\-]*/g,EMPTY)); + } + + valid = selectors[sel]; + } + + return valid; + } +},true); + +Y.StyleSheet = StyleSheet; + +/* + +NOTES + * Style node must be added to the head element. Safari does not honor styles + applied to StyleSheet objects on style nodes in the body. + * StyleSheet object is created on the style node when the style node is added + to the head element in Firefox 2 (and maybe 3?) + * The cssRules collection is replaced after insertRule/deleteRule calls in + Safari 3.1. Existing Rules are used in the new collection, so the collection + cannot be cached, but the rules can be. + * Opera requires that the index be passed with insertRule. + * Same-domain restrictions prevent modifying StyleSheet objects attached to + link elements with remote href (or "about:blank" or "javascript:false") + * Same-domain restrictions prevent reading StyleSheet cssRules/rules + collection of link elements with remote href (or "about:blank" or + "javascript:false") + * Same-domain restrictions result in Safari not populating node.sheet property + for link elements with remote href (et.al) + * IE names StyleSheet related properties and methods differently (see code) + * IE converts tag names to upper case in the Rule's selectorText + * IE converts empty string assignment to complex properties to value settings + for all child properties. E.g. style.background = '' sets non-'' values on + style.backgroundPosition, style.backgroundColor, etc. All else clear + style.background and all child properties. + * IE assignment style.filter = '' will result in style.cssText == 'FILTER:' + * All browsers support Rule.style.cssText as a read/write property, leaving + only opacity needing to be accounted for. + * Benchmarks of style.property = value vs style.cssText += 'property: value' + indicate cssText is slightly slower for single property assignment. For + multiple property assignment, cssText speed stays relatively the same where + style.property speed decreases linearly by the number of properties set. + Exception being Opera 9.27, where style.property is always faster than + style.cssText. + * Opera 9.5b throws a syntax error when assigning cssText with a syntax error. + * Opera 9.5 doesn't honor rule.style.cssText = ''. Previous style persists. + You have to remove the rule altogether. + * Stylesheet properties set with !important will trump inline style set on an + element or in el.style.property. + * Creating a worker style collection like document.createElement('p').style; + will fail after a time in FF (~5secs of inactivity). Property assignments + will not alter the property or cssText. It may be the generated node is + garbage collected and the style collection becomes inert (speculation). + * IE locks up when attempting to add a rule with a selector including at least + characters {[]}~`!@%^&*()+=|? (unescaped) and leading _ or - + such as addRule('-foo','{ color: red }') or addRule('._abc','{...}') + * IE's addRule doesn't support comma separated selectors such as + addRule('.foo, .bar','{..}') + * IE throws an error on valid values with leading/trailing white space. + * When creating an entire sheet at once, only FF2/3 & Opera allow creating a + style node, setting its innerHTML and appending to head. + * When creating an entire sheet at once, Safari requires the style node to be + created with content in innerHTML of another element. + * When creating an entire sheet at once, IE requires the style node content to + be set via node.styleSheet.cssText + * When creating an entire sheet at once in IE, styleSheet.cssText can't be + written until node.type = 'text/css'; is performed. + * When creating an entire sheet at once in IE, load-time fork on + var styleNode = d.createElement('style'); _method = styleNode.styleSheet ?.. + fails (falsey). During run-time, the test for .styleSheet works fine + * Setting complex properties in cssText will SOMETIMES allow child properties + to be unset + set unset FF2 FF3 S3.1 IE6 IE7 Op9.27 Op9.5 + ---------- ----------------- --- --- ---- --- --- ------ ----- + border -top NO NO YES YES YES YES YES + -top-color NO NO YES YES YES + -color NO NO NO NO NO + background -color NO NO YES YES YES + -position NO NO YES YES YES + -position-x NO NO NO NO NO + font line-height YES YES NO NO NO NO YES + -style YES YES NO YES YES + -size YES YES NO YES YES + -size-adjust ??? ??? n/a n/a n/a ??? ??? + padding -top NO NO YES YES YES + margin -top NO NO YES YES YES + list-style -type YES YES YES YES YES + -position YES YES YES YES YES + overflow -x NO NO YES n/a YES + + ??? - unsetting font-size-adjust has the same effect as unsetting font-size + * FireFox and WebKit populate rule.cssText as "SELECTOR { CSSTEXT }", but + Opera and IE do not. + * IE6 and IE7 silently ignore the { and } if passed into addRule('.foo','{ + color:#000}',0). IE8 does not and creates an empty rule. + * IE6-8 addRule('.foo','',n) throws an error. Must supply *some* cssText +*/ + + + +}, '3.6.0pr3' ,{requires:['yui-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-min.js new file mode 100644 index 000000000..e2d1a9bf1 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("stylesheet",function(b){var k=b.config.doc,c=k.createElement("p"),g=c.style,e=b.Lang.isString,n={},j={},l=("cssFloat" in g)?"cssFloat":"styleFloat",h,a,m,o="opacity",q="float",f="";a=(o in g)?function(d){d.opacity=f;}:function(d){d.filter=f;};g.border="1px solid red";g.border=f;m=g.borderLeft?function(d,s){var r;if(s!==l&&s.toLowerCase().indexOf(q)!=-1){s=l;}if(e(d[s])){switch(s){case o:case"filter":a(d);break;case"font":d.font=d.fontStyle=d.fontVariant=d.fontWeight=d.fontSize=d.lineHeight=d.fontFamily=f;break;default:for(r in d){if(r.indexOf(s)===0){d[r]=f;}}}}}:function(d,p){if(p!==l&&p.toLowerCase().indexOf(q)!=-1){p=l;}if(e(d[p])){if(p===o){a(d);}else{d[p]=f;}}};function i(x,s){var A,v,z,y={},p,B,u,w,d,t;if(!(b.instanceOf(this,i))){return new i(x,s);}if(x){if(b.Node&&x instanceof b.Node){v=x._node;}else{if(x.nodeName){v=x;}else{if(e(x)){if(x&&j[x]){return j[x];}v=k.getElementById(x.replace(/^#/,f));}}}if(v&&j[b.stamp(v)]){return j[b.stamp(v)];}}if(!v||!/^(?:style|link)$/i.test(v.nodeName)){v=k.createElement("style");v.type="text/css";}if(e(x)){if(x.indexOf("{")!=-1){if(v.styleSheet){v.styleSheet.cssText=x;}else{v.appendChild(k.createTextNode(x));}}else{if(!s){s=x;}}}if(!v.parentNode||v.parentNode.nodeName.toLowerCase()!=="head"){A=(v.ownerDocument||k).getElementsByTagName("head")[0];A.appendChild(v);}z=v.sheet||v.styleSheet;p=z&&("cssRules" in z)?"cssRules":"rules";u=("deleteRule" in z)?function(r){z.deleteRule(r);}:function(r){z.removeRule(r);};B=("insertRule" in z)?function(D,C,r){z.insertRule(D+" {"+C+"}",r);}:function(D,C,r){z.addRule(D,C,r);};for(w=z[p].length-1;w>=0;--w){d=z[p][w];t=d.selectorText;if(y[t]){y[t].style.cssText+=";"+d.style.cssText;u(w);}else{y[t]=d;}}i.register(b.stamp(v),this);if(s){i.register(s,this);}b.mix(this,{getId:function(){return b.stamp(v);},enable:function(){z.disabled=false;return this;},disable:function(){z.disabled=true;return this;},isEnabled:function(){return !z.disabled;},set:function(E,D){var G=y[E],F=E.split(/\s*,\s*/),C,r;if(F.length>1){for(C=F.length-1;C>=0;--C){this.set(F[C],D);}return this;}if(!i.isValidSelector(E)){return this;}if(G){G.style.cssText=i.toCssText(D,G.style.cssText);}else{r=z[p].length;D=i.toCssText(D);if(D){B(E,D,r);y[E]=z[p][r];}}return this;},unset:function(E,D){var G=y[E],F=E.split(/\s*,\s*/),r=!D,H,C;if(F.length>1){for(C=F.length-1;C>=0;--C){this.unset(F[C],D);}return this;}if(G){if(!r){D=b.Array(D);g.cssText=G.style.cssText;for(C=D.length-1;C>=0;--C){m(g,D[C]);}if(g.cssText){G.style.cssText=g.cssText;}else{r=true;}}if(r){H=z[p];for(C=H.length-1;C>=0;--C){if(H[C]===G){delete y[E];u(C);break;}}}}return this;},getCssText:function(D){var E,C,r;if(e(D)){E=y[D.split(/\s*,\s*/)[0]];return E?E.style.cssText:null;}else{C=[];for(r in y){if(y.hasOwnProperty(r)){E=y[r];C.push(E.selectorText+" {"+E.style.cssText+"}");}}return C.join("\n");}}});}h=function(r,t){var s=r.styleFloat||r.cssFloat||r[q],d=b.Lang.trim,v;try{g.cssText=t||f;}catch(u){c=k.createElement("p");g=c.style;g.cssText=t||f;}if(s&&!r[l]){r=b.merge(r);delete r.styleFloat;delete r.cssFloat;delete r[q];r[l]=s;}for(v in r){if(r.hasOwnProperty(v)){try{g[v]=d(r[v]);}catch(p){}}}return g.cssText;};b.mix(i,{toCssText:((o in g)?h:function(d,p){if(o in d){d=b.merge(d,{filter:"alpha(opacity="+(d.opacity*100)+")"});delete d.opacity;}return h(d,p);}),register:function(d,p){return !!(d&&p instanceof i&&!j[d]&&(j[d]=p));},isValidSelector:function(p){var d=false;if(p&&e(p)){if(!n.hasOwnProperty(p)){n[p]=!/\S/.test(p.replace(/\s+|\s*[+~>]\s*/g," ").replace(/([^ ])\[.*?\]/g,"$1").replace(/([^ ])::?[a-z][a-z\-]+[a-z](?:\(.*?\))?/ig,"$1").replace(/(?:^| )[a-z0-6]+/ig," ").replace(/\\./g,f).replace(/[.#]\w[\w\-]*/g,f));}d=n[p];}return d;}},true);b.StyleSheet=i;},"3.6.0pr3",{requires:["yui-base"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet.js new file mode 100644 index 000000000..424356861 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/stylesheet/stylesheet.js @@ -0,0 +1,644 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('stylesheet', function(Y) { + +/** + * The StyleSheet component is a module for creating and modifying CSS + * stylesheets. + * + * @module stylesheet + */ +var d = Y.config.doc, + p = d.createElement('p'), // Have to hold the node (see notes) + workerStyle = p.style, // worker style collection + isString = Y.Lang.isString, + selectors = {}, + sheets = {}, + floatAttr = ('cssFloat' in workerStyle) ? 'cssFloat' : 'styleFloat', + _toCssText, + _unsetOpacity, + _unsetProperty, + OPACITY = 'opacity', + FLOAT = 'float', + EMPTY = ''; + +// Normalizes the removal of an assigned style for opacity. IE uses the filter +// property. +_unsetOpacity = (OPACITY in workerStyle) ? + function (style) { style.opacity = EMPTY; } : + function (style) { style.filter = EMPTY; }; + +// Normalizes the removal of an assigned style for a given property. Expands +// shortcut properties if necessary and handles the various names for the float +// property. +workerStyle.border = "1px solid red"; +workerStyle.border = EMPTY; // IE doesn't unset child properties +_unsetProperty = workerStyle.borderLeft ? + function (style,prop) { + var p; + if (prop !== floatAttr && prop.toLowerCase().indexOf(FLOAT) != -1) { + prop = floatAttr; + } + if (isString(style[prop])) { + switch (prop) { + case OPACITY: + case 'filter' : _unsetOpacity(style); break; + case 'font' : + style.font = style.fontStyle = style.fontVariant = + style.fontWeight = style.fontSize = style.lineHeight = + style.fontFamily = EMPTY; + break; + default : + for (p in style) { + if (p.indexOf(prop) === 0) { + style[p] = EMPTY; + } + } + } + } + } : + function (style,prop) { + if (prop !== floatAttr && prop.toLowerCase().indexOf(FLOAT) != -1) { + prop = floatAttr; + } + if (isString(style[prop])) { + if (prop === OPACITY) { + _unsetOpacity(style); + } else { + style[prop] = EMPTY; + } + } + }; + +/** + * Create an instance of StyleSheet to encapsulate a css stylesheet. + * The constructor can be called using function or constructor syntax. + *
var sheet = Y.StyleSheet(..);
+ * or + *
var sheet = new Y.StyleSheet(..);
+ * + * The first parameter passed can be any of the following things: + *
    + *
  • The desired string name to register a new empty sheet
  • + *
  • The string name of an existing StyleSheet instance
  • + *
  • The unique guid generated for an existing StyleSheet instance
  • + *
  • The id of an existing <link> or <style> node
  • + *
  • The node reference for an existing <link> or <style> node
  • + *
  • The Y.Node instance wrapping an existing <link> or <style> node
  • + *
  • A chunk of css text to create a new stylesheet from
  • + *
+ * + *

If a string is passed, StyleSheet will first look in its static name + * registry for an existing sheet, then in the DOM for an element with that id. + * If neither are found and the string contains the { character, it will be + * used as a the initial cssText for a new StyleSheet. Otherwise, a new empty + * StyleSheet is created, assigned the string value as a name, and registered + * statically by that name.

+ * + *

The optional second parameter is a string name to register the sheet as. + * This param is largely useful when providing a node id/ref or chunk of css + * text to create a populated instance.

+ * + * @class StyleSheet + * @constructor + * @param seed {String|HTMLElement|Node} a style or link node, its id, or a + * name or guid of a StyleSheet, or a string of css text + * @param name {String} (optional) name to register instance for future static + * access + */ +function StyleSheet(seed, name) { + var head, + node, + sheet, + cssRules = {}, + _rules, + _insertRule, + _deleteRule, + i,r,sel; + + // Factory or constructor + if (!(Y.instanceOf(this, StyleSheet))) { + return new StyleSheet(seed,name); + } + + // Extract the DOM node from Node instances + if (seed) { + if (Y.Node && seed instanceof Y.Node) { + node = seed._node; + } else if (seed.nodeName) { + node = seed; + // capture the DOM node if the string is an id + } else if (isString(seed)) { + if (seed && sheets[seed]) { + return sheets[seed]; + } + node = d.getElementById(seed.replace(/^#/,EMPTY)); + } + + // Check for the StyleSheet in the static registry + if (node && sheets[Y.stamp(node)]) { + return sheets[Y.stamp(node)]; + } + } + + + // Create a style node if necessary + if (!node || !/^(?:style|link)$/i.test(node.nodeName)) { + node = d.createElement('style'); + node.type = 'text/css'; + } + + if (isString(seed)) { + // Create entire sheet from seed cssText + if (seed.indexOf('{') != -1) { + // Not a load-time fork because low run-time impact and IE fails + // test for s.styleSheet at page load time (oddly) + if (node.styleSheet) { + node.styleSheet.cssText = seed; + } else { + node.appendChild(d.createTextNode(seed)); + } + } else if (!name) { + name = seed; + } + } + + // Make sure the node is attached to the appropriate head element + if (!node.parentNode || node.parentNode.nodeName.toLowerCase() !== 'head') { + head = (node.ownerDocument || d).getElementsByTagName('head')[0]; + // styleSheet isn't available on the style node in FF2 until appended + // to the head element. style nodes appended to body do not affect + // change in Safari. + head.appendChild(node); + } + + // Begin setting up private aliases to the important moving parts + // 1. The stylesheet object + // IE stores StyleSheet under the "styleSheet" property + // Safari doesn't populate sheet for xdomain link elements + sheet = node.sheet || node.styleSheet; + + // 2. The style rules collection + // IE stores the rules collection under the "rules" property + _rules = sheet && ('cssRules' in sheet) ? 'cssRules' : 'rules'; + + // 3. The method to remove a rule from the stylesheet + // IE supports removeRule + _deleteRule = ('deleteRule' in sheet) ? + function (i) { sheet.deleteRule(i); } : + function (i) { sheet.removeRule(i); }; + + // 4. The method to add a new rule to the stylesheet + // IE supports addRule with different signature + _insertRule = ('insertRule' in sheet) ? + function (sel,css,i) { sheet.insertRule(sel+' {'+css+'}',i); } : + function (sel,css,i) { sheet.addRule(sel,css,i); }; + + // 5. Initialize the cssRules map from the node + // xdomain link nodes forbid access to the cssRules collection, so this + // will throw an error. + // TODO: research alternate stylesheet, @media + for (i = sheet[_rules].length - 1; i >= 0; --i) { + r = sheet[_rules][i]; + sel = r.selectorText; + + if (cssRules[sel]) { + cssRules[sel].style.cssText += ';' + r.style.cssText; + _deleteRule(i); + } else { + cssRules[sel] = r; + } + } + + // Cache the instance by the generated Id + StyleSheet.register(Y.stamp(node),this); + + // Register the instance by name if provided or defaulted from seed + if (name) { + StyleSheet.register(name,this); + } + + // Public API + Y.mix(this,{ + /** + * Get the unique stamp for this StyleSheet instance + * + * @method getId + * @return {Number} the static id + */ + getId : function () { return Y.stamp(node); }, + + /** + * Enable all the rules in the sheet + * + * @method enable + * @return {StyleSheet} + * @chainable + */ + enable : function () { sheet.disabled = false; return this; }, + + /** + * Disable all the rules in the sheet. Rules may be changed while the + * StyleSheet is disabled. + * + * @method disable + * @return {StyleSheet} + * @chainable + */ + disable : function () { sheet.disabled = true; return this; }, + + /** + * Returns false if the StyleSheet is disabled. Otherwise true. + * + * @method isEnabled + * @return {Boolean} + */ + isEnabled : function () { return !sheet.disabled; }, + + /** + *

Set style properties for a provided selector string. + * If the selector includes commas, it will be split into individual + * selectors and applied accordingly. If the selector string does not + * have a corresponding rule in the sheet, it will be added.

+ * + *

The object properties in the second parameter must be the JavaScript + * names of style properties. E.g. fontSize rather than font-size.

+ * + *

The float style property will be set by any of "float", + * "styleFloat", or "cssFloat".

+ * + * @method set + * @param sel {String} the selector string to apply the changes to + * @param css {Object} Object literal of style properties and new values + * @return {StyleSheet} + * @chainable + */ + set : function (sel,css) { + var rule = cssRules[sel], + multi = sel.split(/\s*,\s*/),i, + idx; + + // IE's addRule doesn't support multiple comma delimited selectors + if (multi.length > 1) { + for (i = multi.length - 1; i >= 0; --i) { + this.set(multi[i], css); + } + return this; + } + + // Some selector values can cause IE to hang + if (!StyleSheet.isValidSelector(sel)) { + return this; + } + + // Opera throws an error if there's a syntax error in assigned + // cssText. Avoid this using a worker style collection, then + // assigning the resulting cssText. + if (rule) { + rule.style.cssText = StyleSheet.toCssText(css,rule.style.cssText); + } else { + idx = sheet[_rules].length; + css = StyleSheet.toCssText(css); + + // IE throws an error when attempting to addRule(sel,'',n) + // which would crop up if no, or only invalid values are used + if (css) { + _insertRule(sel, css, idx); + + // Safari replaces the rules collection, but maintains the + // rule instances in the new collection when rules are + // added/removed + cssRules[sel] = sheet[_rules][idx]; + } + } + return this; + }, + + /** + *

Unset style properties for a provided selector string, removing + * their effect from the style cascade.

+ * + *

If the selector includes commas, it will be split into individual + * selectors and applied accordingly. If there are no properties + * remaining in the rule after unsetting, the rule is removed.

+ * + *

The style property or properties in the second parameter must be the + * JavaScript style property names. E.g. fontSize rather than font-size.

+ * + *

The float style property will be unset by any of "float", + * "styleFloat", or "cssFloat".

+ * + * @method unset + * @param sel {String} the selector string to apply the changes to + * @param css {String|Array} style property name or Array of names + * @return {StyleSheet} + * @chainable + */ + unset : function (sel,css) { + var rule = cssRules[sel], + multi = sel.split(/\s*,\s*/), + remove = !css, + rules, i; + + // IE's addRule doesn't support multiple comma delimited selectors + // so rules are mapped internally by atomic selectors + if (multi.length > 1) { + for (i = multi.length - 1; i >= 0; --i) { + this.unset(multi[i], css); + } + return this; + } + + if (rule) { + if (!remove) { + css = Y.Array(css); + + workerStyle.cssText = rule.style.cssText; + for (i = css.length - 1; i >= 0; --i) { + _unsetProperty(workerStyle,css[i]); + } + + if (workerStyle.cssText) { + rule.style.cssText = workerStyle.cssText; + } else { + remove = true; + } + } + + if (remove) { // remove the rule altogether + rules = sheet[_rules]; + for (i = rules.length - 1; i >= 0; --i) { + if (rules[i] === rule) { + delete cssRules[sel]; + _deleteRule(i); + break; + } + } + } + } + return this; + }, + + /** + * Get the current cssText for a rule or the entire sheet. If the + * selector param is supplied, only the cssText for that rule will be + * returned, if found. If the selector string targets multiple + * selectors separated by commas, the cssText of the first rule only + * will be returned. If no selector string, the stylesheet's full + * cssText will be returned. + * + * @method getCssText + * @param sel {String} Selector string + * @return {String} + */ + getCssText : function (sel) { + var rule, css, selector; + + if (isString(sel)) { + // IE's addRule doesn't support multiple comma delimited + // selectors so rules are mapped internally by atomic selectors + rule = cssRules[sel.split(/\s*,\s*/)[0]]; + + return rule ? rule.style.cssText : null; + } else { + css = []; + for (selector in cssRules) { + if (cssRules.hasOwnProperty(selector)) { + rule = cssRules[selector]; + css.push(rule.selectorText+" {"+rule.style.cssText+"}"); + } + } + return css.join("\n"); + } + } + }); + +} + +_toCssText = function (css,base) { + var f = css.styleFloat || css.cssFloat || css[FLOAT], + trim = Y.Lang.trim, + prop; + + // A very difficult to repro/isolate IE 9 beta (and Platform Preview 7) bug + // was reduced to this line throwing the error: + // "Invalid this pointer used as target for method call" + // It appears that the style collection is corrupted. The error is + // catchable, so in a best effort to work around it, replace the + // p and workerStyle and try the assignment again. + try { + workerStyle.cssText = base || EMPTY; + } catch (e) { + p = d.createElement('p'); + workerStyle = p.style; + workerStyle.cssText = base || EMPTY; + } + + if (f && !css[floatAttr]) { + css = Y.merge(css); + delete css.styleFloat; delete css.cssFloat; delete css[FLOAT]; + css[floatAttr] = f; + } + + for (prop in css) { + if (css.hasOwnProperty(prop)) { + try { + // IE throws Invalid Value errors and doesn't like whitespace + // in values ala ' red' or 'red ' + workerStyle[prop] = trim(css[prop]); + } + catch (ex) { + } + } + } + return workerStyle.cssText; +}; + +Y.mix(StyleSheet, { + /** + *

Converts an object literal of style properties and values into a string + * of css text. This can then be assigned to el.style.cssText.

+ * + *

The optional second parameter is a cssText string representing the + * starting state of the style prior to alterations. This is most often + * extracted from the eventual target's current el.style.cssText.

+ * + * @method toCssText + * @param css {Object} object literal of style properties and values + * @param cssText {String} (optional) starting cssText value + * @return {String} the resulting cssText string + * @static + */ + toCssText : ((OPACITY in workerStyle) ? _toCssText : + // Wrap IE's toCssText to catch opacity. The copy/merge is to preserve + // the input object's integrity, but if float and opacity are set, the + // input will be copied twice in IE. Is there a way to avoid this + // without increasing the byte count? + function (css, cssText) { + if (OPACITY in css) { + css = Y.merge(css,{ + filter: 'alpha(opacity='+(css.opacity*100)+')' + }); + delete css.opacity; + } + return _toCssText(css,cssText); + }), + + /** + * Registers a StyleSheet instance in the static registry by the given name + * + * @method register + * @param name {String} the name to assign the StyleSheet in the registry + * @param sheet {StyleSheet} The StyleSheet instance + * @return {Boolean} false if no name or sheet is not a StyleSheet + * instance. true otherwise. + * @static + */ + register : function (name,sheet) { + return !!(name && sheet instanceof StyleSheet && + !sheets[name] && (sheets[name] = sheet)); + }, + + /** + *

Determines if a selector string is safe to use. Used internally + * in set to prevent IE from locking up when attempting to add a rule for a + * "bad selector".

+ * + *

Bad selectors are considered to be any string containing unescaped + * `~!@$%^&()+=|{}[];'"?< or space. Also forbidden are . or # followed by + * anything other than an alphanumeric. Additionally -abc or .-abc or + * #_abc or '# ' all fail. There are likely more failure cases, so + * please file a bug if you encounter one.

+ * + * @method isValidSelector + * @param sel {String} the selector string + * @return {Boolean} + * @static + */ + isValidSelector : function (sel) { + var valid = false; + + if (sel && isString(sel)) { + + if (!selectors.hasOwnProperty(sel)) { + // TEST: there should be nothing but white-space left after + // these destructive regexs + selectors[sel] = !/\S/.test( + // combinators + sel.replace(/\s+|\s*[+~>]\s*/g,' '). + // attribute selectors (contents not validated) + replace(/([^ ])\[.*?\]/g,'$1'). + // pseudo-class|element selectors (contents of parens + // such as :nth-of-type(2) or :not(...) not validated) + replace(/([^ ])::?[a-z][a-z\-]+[a-z](?:\(.*?\))?/ig,'$1'). + // element tags + replace(/(?:^| )[a-z0-6]+/ig,' '). + // escaped characters + replace(/\\./g,EMPTY). + // class and id identifiers + replace(/[.#]\w[\w\-]*/g,EMPTY)); + } + + valid = selectors[sel]; + } + + return valid; + } +},true); + +Y.StyleSheet = StyleSheet; + +/* + +NOTES + * Style node must be added to the head element. Safari does not honor styles + applied to StyleSheet objects on style nodes in the body. + * StyleSheet object is created on the style node when the style node is added + to the head element in Firefox 2 (and maybe 3?) + * The cssRules collection is replaced after insertRule/deleteRule calls in + Safari 3.1. Existing Rules are used in the new collection, so the collection + cannot be cached, but the rules can be. + * Opera requires that the index be passed with insertRule. + * Same-domain restrictions prevent modifying StyleSheet objects attached to + link elements with remote href (or "about:blank" or "javascript:false") + * Same-domain restrictions prevent reading StyleSheet cssRules/rules + collection of link elements with remote href (or "about:blank" or + "javascript:false") + * Same-domain restrictions result in Safari not populating node.sheet property + for link elements with remote href (et.al) + * IE names StyleSheet related properties and methods differently (see code) + * IE converts tag names to upper case in the Rule's selectorText + * IE converts empty string assignment to complex properties to value settings + for all child properties. E.g. style.background = '' sets non-'' values on + style.backgroundPosition, style.backgroundColor, etc. All else clear + style.background and all child properties. + * IE assignment style.filter = '' will result in style.cssText == 'FILTER:' + * All browsers support Rule.style.cssText as a read/write property, leaving + only opacity needing to be accounted for. + * Benchmarks of style.property = value vs style.cssText += 'property: value' + indicate cssText is slightly slower for single property assignment. For + multiple property assignment, cssText speed stays relatively the same where + style.property speed decreases linearly by the number of properties set. + Exception being Opera 9.27, where style.property is always faster than + style.cssText. + * Opera 9.5b throws a syntax error when assigning cssText with a syntax error. + * Opera 9.5 doesn't honor rule.style.cssText = ''. Previous style persists. + You have to remove the rule altogether. + * Stylesheet properties set with !important will trump inline style set on an + element or in el.style.property. + * Creating a worker style collection like document.createElement('p').style; + will fail after a time in FF (~5secs of inactivity). Property assignments + will not alter the property or cssText. It may be the generated node is + garbage collected and the style collection becomes inert (speculation). + * IE locks up when attempting to add a rule with a selector including at least + characters {[]}~`!@%^&*()+=|? (unescaped) and leading _ or - + such as addRule('-foo','{ color: red }') or addRule('._abc','{...}') + * IE's addRule doesn't support comma separated selectors such as + addRule('.foo, .bar','{..}') + * IE throws an error on valid values with leading/trailing white space. + * When creating an entire sheet at once, only FF2/3 & Opera allow creating a + style node, setting its innerHTML and appending to head. + * When creating an entire sheet at once, Safari requires the style node to be + created with content in innerHTML of another element. + * When creating an entire sheet at once, IE requires the style node content to + be set via node.styleSheet.cssText + * When creating an entire sheet at once in IE, styleSheet.cssText can't be + written until node.type = 'text/css'; is performed. + * When creating an entire sheet at once in IE, load-time fork on + var styleNode = d.createElement('style'); _method = styleNode.styleSheet ?.. + fails (falsey). During run-time, the test for .styleSheet works fine + * Setting complex properties in cssText will SOMETIMES allow child properties + to be unset + set unset FF2 FF3 S3.1 IE6 IE7 Op9.27 Op9.5 + ---------- ----------------- --- --- ---- --- --- ------ ----- + border -top NO NO YES YES YES YES YES + -top-color NO NO YES YES YES + -color NO NO NO NO NO + background -color NO NO YES YES YES + -position NO NO YES YES YES + -position-x NO NO NO NO NO + font line-height YES YES NO NO NO NO YES + -style YES YES NO YES YES + -size YES YES NO YES YES + -size-adjust ??? ??? n/a n/a n/a ??? ??? + padding -top NO NO YES YES YES + margin -top NO NO YES YES YES + list-style -type YES YES YES YES YES + -position YES YES YES YES YES + overflow -x NO NO YES n/a YES + + ??? - unsetting font-size-adjust has the same effect as unsetting font-size + * FireFox and WebKit populate rule.cssText as "SELECTOR { CSSTEXT }", but + Opera and IE do not. + * IE6 and IE7 silently ignore the { and } if passed into addRule('.foo','{ + color:#000}',0). IE8 does not and creates an empty rule. + * IE6-8 addRule('.foo','',n) throws an error. Must supply *some* cssText +*/ + + + +}, '3.6.0pr3' ,{requires:['yui-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/debug.js new file mode 100644 index 000000000..9ef5a398d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("substitute"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/index.js new file mode 100644 index 000000000..47302f9c6 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("substitute"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-debug.js new file mode 100644 index 000000000..413fc3c3c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-debug.js @@ -0,0 +1,166 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('substitute', function(Y) { + +/** + * String variable substitution and string formatting. + * If included, the substitute method is added to the YUI instance. + * + * @module substitute + */ + + var L = Y.Lang, DUMP = 'dump', SPACE = ' ', LBRACE = '{', RBRACE = '}', + savedRegExp = /(~-(\d+)-~)/g, lBraceRegExp = /\{LBRACE\}/g, rBraceRegExp = /\{RBRACE\}/g, + + /** + * The following methods are added to the YUI instance + * @class YUI~substitute + */ + + /** + Does {placeholder} substitution on a string. The object passed as the + second parameter provides values to replace the {placeholder}s. + {placeholder} token names must match property names of the object. For + example + + `var greeting = Y.substitute("Hello, {who}!", { who: "World" });` + + {placeholder} tokens that are undefined on the object map will be left in + tact (leaving unsightly "{placeholder}"s in the output string). + + If a function is passed as a third argument, it will be called for each + {placeholder} found. The {placeholder} name is passed as the first value + and the value from the object map is passed as the second. If the + {placeholder} contains a space, the first token will be used to identify + the object map property and the remainder will be passed as a third + argument to the function. See below for an example. + + If the value in the object map for a given {placeholder} is an object and + the `dump` module is loaded, the replacement value will be the string + result of calling `Y.dump(...)` with the object as input. Include a + numeric second token in the {placeholder} to configure the depth of the call + to `Y.dump(...)`, e.g. "{someObject 2}". See the + `dump` method for details. + + @method substitute + @param {string} s The string that will be modified. + @param {object} o An object containing the replacement values. + @param {function} f An optional function that can be used to + process each match. It receives the key, + value, and any extra metadata included with + the key inside of the braces. + @param {boolean} recurse if true, the replacement will be recursive, + letting you have replacement tokens in replacement text. + The default is false. + @return {string} the substituted string. + + @example + + function getAttrVal(key, value, name) { + // Return a string describing the named attribute and its value if + // the first token is @. Otherwise, return the value from the + // replacement object. + if (key === "@") { + value += name + " Value: " + myObject.get(name); + } + return value; + } + + // Assuming myObject.set('foo', 'flowers'), + // => "Attr: foo Value: flowers" + var attrVal = Y.substitute("{@ foo}", { "@": "Attr: " }, getAttrVal); + **/ + + substitute = function(s, o, f, recurse) { + var i, j, k, key, v, meta, saved = [], token, dump, + lidx = s.length; + + for (;;) { + i = s.lastIndexOf(LBRACE, lidx); + if (i < 0) { + break; + } + j = s.indexOf(RBRACE, i); + if (i + 1 >= j) { + break; + } + + //Extract key and meta info + token = s.substring(i + 1, j); + key = token; + meta = null; + k = key.indexOf(SPACE); + if (k > -1) { + meta = key.substring(k + 1); + key = key.substring(0, k); + } + + // lookup the value + v = o[key]; + + // if a substitution function was provided, execute it + if (f) { + v = f(key, v, meta); + } + + if (L.isObject(v)) { + if (!Y.dump) { + v = v.toString(); + } else { + if (L.isArray(v)) { + v = Y.dump(v, parseInt(meta, 10)); + } else { + meta = meta || ''; + + // look for the keyword 'dump', if found force obj dump + dump = meta.indexOf(DUMP); + if (dump > -1) { + meta = meta.substring(4); + } + + // use the toString if it is not the Object toString + // and the 'dump' meta info was not found + if (v.toString === Object.prototype.toString || + dump > -1) { + v = Y.dump(v, parseInt(meta, 10)); + } else { + v = v.toString(); + } + } + } + } else if (L.isUndefined(v)) { + // This {block} has no replace string. Save it for later. + v = '~-' + saved.length + '-~'; + saved.push(token); + + // break; + } + + s = s.substring(0, i) + v + s.substring(j + 1); + + if (!recurse) { + lidx = i - 1; + } + } + // restore saved {block}s and escaped braces + + return s + .replace(savedRegExp, function (str, p1, p2) { + return LBRACE + saved[parseInt(p2,10)] + RBRACE; + }) + .replace(lBraceRegExp, LBRACE) + .replace(rBraceRegExp, RBRACE) + ; + }; + + Y.substitute = substitute; + L.substitute = substitute; + + + + +}, '3.6.0pr3' ,{optional:['dump'], requires:['yui-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-min.js new file mode 100644 index 000000000..15d35c918 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("substitute",function(c){var g=c.Lang,e="dump",h=" ",b="{",i="}",j=/(~-(\d+)-~)/g,a=/\{LBRACE\}/g,d=/\{RBRACE\}/g,f=function(B,m,u,l){var r,q,p,z,y,A,x=[],n,t,w=B.length;for(;;){r=B.lastIndexOf(b,w);if(r<0){break;}q=B.indexOf(i,r);if(r+1>=q){break;}n=B.substring(r+1,q);z=n;A=null;p=z.indexOf(h);if(p>-1){A=z.substring(p+1);z=z.substring(0,p);}y=m[z];if(u){y=u(z,y,A);}if(g.isObject(y)){if(!c.dump){y=y.toString();}else{if(g.isArray(y)){y=c.dump(y,parseInt(A,10));}else{A=A||"";t=A.indexOf(e);if(t>-1){A=A.substring(4);}if(y.toString===Object.prototype.toString||t>-1){y=c.dump(y,parseInt(A,10));}else{y=y.toString();}}}}else{if(g.isUndefined(y)){y="~-"+x.length+"-~";x.push(n);}}B=B.substring(0,r)+y+B.substring(q+1);if(!l){w=r-1;}}return B.replace(j,function(s,o,k){return b+x[parseInt(k,10)]+i;}).replace(a,b).replace(d,i);};c.substitute=f;g.substitute=f;},"3.6.0pr3",{optional:["dump"],requires:["yui-base"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute.js new file mode 100644 index 000000000..413fc3c3c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/substitute/substitute.js @@ -0,0 +1,166 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('substitute', function(Y) { + +/** + * String variable substitution and string formatting. + * If included, the substitute method is added to the YUI instance. + * + * @module substitute + */ + + var L = Y.Lang, DUMP = 'dump', SPACE = ' ', LBRACE = '{', RBRACE = '}', + savedRegExp = /(~-(\d+)-~)/g, lBraceRegExp = /\{LBRACE\}/g, rBraceRegExp = /\{RBRACE\}/g, + + /** + * The following methods are added to the YUI instance + * @class YUI~substitute + */ + + /** + Does {placeholder} substitution on a string. The object passed as the + second parameter provides values to replace the {placeholder}s. + {placeholder} token names must match property names of the object. For + example + + `var greeting = Y.substitute("Hello, {who}!", { who: "World" });` + + {placeholder} tokens that are undefined on the object map will be left in + tact (leaving unsightly "{placeholder}"s in the output string). + + If a function is passed as a third argument, it will be called for each + {placeholder} found. The {placeholder} name is passed as the first value + and the value from the object map is passed as the second. If the + {placeholder} contains a space, the first token will be used to identify + the object map property and the remainder will be passed as a third + argument to the function. See below for an example. + + If the value in the object map for a given {placeholder} is an object and + the `dump` module is loaded, the replacement value will be the string + result of calling `Y.dump(...)` with the object as input. Include a + numeric second token in the {placeholder} to configure the depth of the call + to `Y.dump(...)`, e.g. "{someObject 2}". See the + `dump` method for details. + + @method substitute + @param {string} s The string that will be modified. + @param {object} o An object containing the replacement values. + @param {function} f An optional function that can be used to + process each match. It receives the key, + value, and any extra metadata included with + the key inside of the braces. + @param {boolean} recurse if true, the replacement will be recursive, + letting you have replacement tokens in replacement text. + The default is false. + @return {string} the substituted string. + + @example + + function getAttrVal(key, value, name) { + // Return a string describing the named attribute and its value if + // the first token is @. Otherwise, return the value from the + // replacement object. + if (key === "@") { + value += name + " Value: " + myObject.get(name); + } + return value; + } + + // Assuming myObject.set('foo', 'flowers'), + // => "Attr: foo Value: flowers" + var attrVal = Y.substitute("{@ foo}", { "@": "Attr: " }, getAttrVal); + **/ + + substitute = function(s, o, f, recurse) { + var i, j, k, key, v, meta, saved = [], token, dump, + lidx = s.length; + + for (;;) { + i = s.lastIndexOf(LBRACE, lidx); + if (i < 0) { + break; + } + j = s.indexOf(RBRACE, i); + if (i + 1 >= j) { + break; + } + + //Extract key and meta info + token = s.substring(i + 1, j); + key = token; + meta = null; + k = key.indexOf(SPACE); + if (k > -1) { + meta = key.substring(k + 1); + key = key.substring(0, k); + } + + // lookup the value + v = o[key]; + + // if a substitution function was provided, execute it + if (f) { + v = f(key, v, meta); + } + + if (L.isObject(v)) { + if (!Y.dump) { + v = v.toString(); + } else { + if (L.isArray(v)) { + v = Y.dump(v, parseInt(meta, 10)); + } else { + meta = meta || ''; + + // look for the keyword 'dump', if found force obj dump + dump = meta.indexOf(DUMP); + if (dump > -1) { + meta = meta.substring(4); + } + + // use the toString if it is not the Object toString + // and the 'dump' meta info was not found + if (v.toString === Object.prototype.toString || + dump > -1) { + v = Y.dump(v, parseInt(meta, 10)); + } else { + v = v.toString(); + } + } + } + } else if (L.isUndefined(v)) { + // This {block} has no replace string. Save it for later. + v = '~-' + saved.length + '-~'; + saved.push(token); + + // break; + } + + s = s.substring(0, i) + v + s.substring(j + 1); + + if (!recurse) { + lidx = i - 1; + } + } + // restore saved {block}s and escaped braces + + return s + .replace(savedRegExp, function (str, p1, p2) { + return LBRACE + saved[parseInt(p2,10)] + RBRACE; + }) + .replace(lBraceRegExp, LBRACE) + .replace(rBraceRegExp, RBRACE) + ; + }; + + Y.substitute = substitute; + L.substitute = substitute; + + + + +}, '3.6.0pr3' ,{optional:['dump'], requires:['yui-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/debug.js new file mode 100644 index 000000000..d7fac5e29 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("swf"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/index.js new file mode 100644 index 000000000..501f4f7a5 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("swf"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-debug.js new file mode 100644 index 000000000..480b632ed --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-debug.js @@ -0,0 +1,209 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('swf', function(Y) { + +/** + * Embed a Flash applications in a standard manner and communicate with it + * via External Interface. + * @module swf + */ + + var Event = Y.Event, + SWFDetect = Y.SWFDetect, + Lang = Y.Lang, + uA = Y.UA, + Node = Y.Node, + Escape = Y.Escape, + + // private + FLASH_CID = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", + FLASH_TYPE = "application/x-shockwave-flash", + FLASH_VER = "10.0.22", + EXPRESS_INSTALL_URL = "http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?" + Math.random(), + EVENT_HANDLER = "SWF.eventHandler", + possibleAttributes = {align:"", allowFullScreen:"", allowNetworking:"", allowScriptAccess:"", base:"", bgcolor:"", loop:"", menu:"", name:"", play: "", quality:"", salign:"", scale:"", tabindex:"", wmode:""}; + + /** + * The SWF utility is a tool for embedding Flash applications in HTML pages. + * @module swf + * @title SWF Utility + * @requires event-custom, node, swfdetect + */ + + /** + * Creates the SWF instance and keeps the configuration data + * + * @class SWF + * @augments Y.Event.Target + * @constructor + * @param {String|HTMLElement} id The id of the element, or the element itself that the SWF will be inserted into. + * The width and height of the SWF will be set to the width and height of this container element. + * @param {String} swfURL The URL of the SWF to be embedded into the page. + * @param {Object} p_oAttributes (optional) Configuration parameters for the Flash application and values for Flashvars + * to be passed to the SWF. The p_oAttributes object allows the following additional properties: + *
+ *
version : String
+ *
The minimum version of Flash required on the user's machine.
+ *
fixedAttributes : Object
+ *
An object literal containing one or more of the following String keys and their values: align, + * allowFullScreen, allowNetworking, allowScriptAccess, base, bgcolor, menu, name, quality, salign, scale, + * tabindex, wmode. event from the thumb
+ *
+ */ + +function SWF (p_oElement /*:String*/, swfURL /*:String*/, p_oAttributes /*:Object*/ ) { + + this._id = Y.guid("yuiswf"); + + + var _id = this._id; + var oElement = Node.one(p_oElement); + + var p_oAttributes = p_oAttributes || {}; + + var flashVersion = p_oAttributes.version || FLASH_VER; + + var flashVersionSplit = (flashVersion + '').split("."); + var isFlashVersionRight = SWFDetect.isFlashVersionAtLeast(parseInt(flashVersionSplit[0], 10), parseInt(flashVersionSplit[1], 10), parseInt(flashVersionSplit[2], 10)); + var canExpressInstall = (SWFDetect.isFlashVersionAtLeast(8,0,0)); + var shouldExpressInstall = canExpressInstall && !isFlashVersionRight && p_oAttributes.useExpressInstall; + var flashURL = (shouldExpressInstall)?EXPRESS_INSTALL_URL:swfURL; + var objstring = ''; + + if (uA.ie) { + objstring += ''; + } + + for (var attribute in p_oAttributes.fixedAttributes) { + if (possibleAttributes.hasOwnProperty(attribute)) { + objstring += ''; + } + } + + for (var flashvar in p_oAttributes.flashVars) { + var fvar = p_oAttributes.flashVars[flashvar]; + if (Lang.isString(fvar)) { + flashvarstring += "&" + Escape.html(flashvar) + "=" + Escape.html(encodeURIComponent(fvar)); + } + } + + if (flashvarstring) { + objstring += ''; + } + + objstring += ""; + //using innerHTML as setHTML/setContent causes some issues with ExternalInterface for IE versions of the player + oElement.set("innerHTML", objstring); + + this._swf = Node.one("#" + _id); + } else { + /** + * Fired when the Flash player version on the user's machine is + * below the required value. + * + * @event wrongflashversion + */ + var event = {}; + event.type = "wrongflashversion"; + this.publish("wrongflashversion", {fireOnce:true}); + this.fire("wrongflashversion", event); + } +} + +/** + * @private + * The static collection of all instances of the SWFs on the page. + * @property _instances + * @type Object + */ + +SWF._instances = SWF._instances || {}; + +/** + * @private + * Handles an event coming from within the SWF and delegate it + * to a specific instance of SWF. + * @method eventHandler + * @param swfid {String} the id of the SWF dispatching the event + * @param event {Object} the event being transmitted. + */ +SWF.eventHandler = function (swfid, event) { + SWF._instances[swfid]._eventHandler(event); +}; + +SWF.prototype = { + /** + * @private + * Propagates a specific event from Flash to JS. + * @method _eventHandler + * @param event {Object} The event to be propagated from Flash. + */ + _eventHandler: function(event) { + if (event.type === "swfReady") { + this.publish("swfReady", {fireOnce:true}); + this.fire("swfReady", event); + } else if(event.type === "log") { + Y.log(event.message, event.category, this.toString()); + } else { + this.fire(event.type, event); + } + }, + + /** + * Calls a specific function exposed by the SWF's + * ExternalInterface. + * @method callSWF + * @param func {String} the name of the function to call + * @param args {Array} the set of arguments to pass to the function. + */ + + callSWF: function (func, args) + { + if (!args) { + args= []; + } + if (this._swf._node[func]) { + return(this._swf._node[func].apply(this._swf._node, args)); + } else { + return null; + } + }, + + /** + * Public accessor to the unique name of the SWF instance. + * + * @method toString + * @return {String} Unique name of the SWF instance. + */ + toString: function() + { + return "SWF " + this._id; + } +}; + +Y.augment(SWF, Y.EventTarget); + +Y.SWF = SWF; + + +}, '3.6.0pr3' ,{requires:['event-custom','node','swfdetect','escape']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-min.js new file mode 100644 index 000000000..21263eefe --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("swf",function(b){var m=b.Event,g=b.SWFDetect,i=b.Lang,h=b.UA,j=b.Node,n=b.Escape,f="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",e="application/x-shockwave-flash",d="10.0.22",a="http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?"+Math.random(),c="SWF.eventHandler",k={align:"",allowFullScreen:"",allowNetworking:"",allowScriptAccess:"",base:"",bgcolor:"",loop:"",menu:"",name:"",play:"",quality:"",salign:"",scale:"",tabindex:"",wmode:""};function l(s,p,E){this._id=b.guid("yuiswf");var t=this._id;var y=j.one(s);var E=E||{};var H=E.version||d;var B=(H+"").split(".");var u=g.isFlashVersionAtLeast(parseInt(B[0],10),parseInt(B[1],10),parseInt(B[2],10));var A=(g.isFlashVersionAtLeast(8,0,0));var r=A&&!u&&E.useExpressInstall;var q=(r)?a:p;var G="';if(h.ie){G+='';}for(var x in E.fixedAttributes){if(k.hasOwnProperty(x)){G+='';}}for(var z in E.flashVars){var o=E.flashVars[z];if(i.isString(o)){F+="&"+n.html(z)+"="+n.html(encodeURIComponent(o));}}if(F){G+='';}G+="";y.set("innerHTML",G);this._swf=j.one("#"+t);}else{var C={};C.type="wrongflashversion";this.publish("wrongflashversion",{fireOnce:true});this.fire("wrongflashversion",C);}}l._instances=l._instances||{};l.eventHandler=function(o,p){l._instances[o]._eventHandler(p);};l.prototype={_eventHandler:function(o){if(o.type==="swfReady"){this.publish("swfReady",{fireOnce:true});this.fire("swfReady",o);}else{if(o.type==="log"){}else{this.fire(o.type,o);}}},callSWF:function(p,o){if(!o){o=[];}if(this._swf._node[p]){return(this._swf._node[p].apply(this._swf._node,o));}else{return null;}},toString:function(){return"SWF "+this._id;}};b.augment(l,b.EventTarget);b.SWF=l;},"3.6.0pr3",{requires:["event-custom","node","swfdetect","escape"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf.js new file mode 100644 index 000000000..230998cf1 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swf/swf.js @@ -0,0 +1,208 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('swf', function(Y) { + +/** + * Embed a Flash applications in a standard manner and communicate with it + * via External Interface. + * @module swf + */ + + var Event = Y.Event, + SWFDetect = Y.SWFDetect, + Lang = Y.Lang, + uA = Y.UA, + Node = Y.Node, + Escape = Y.Escape, + + // private + FLASH_CID = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", + FLASH_TYPE = "application/x-shockwave-flash", + FLASH_VER = "10.0.22", + EXPRESS_INSTALL_URL = "http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?" + Math.random(), + EVENT_HANDLER = "SWF.eventHandler", + possibleAttributes = {align:"", allowFullScreen:"", allowNetworking:"", allowScriptAccess:"", base:"", bgcolor:"", loop:"", menu:"", name:"", play: "", quality:"", salign:"", scale:"", tabindex:"", wmode:""}; + + /** + * The SWF utility is a tool for embedding Flash applications in HTML pages. + * @module swf + * @title SWF Utility + * @requires event-custom, node, swfdetect + */ + + /** + * Creates the SWF instance and keeps the configuration data + * + * @class SWF + * @augments Y.Event.Target + * @constructor + * @param {String|HTMLElement} id The id of the element, or the element itself that the SWF will be inserted into. + * The width and height of the SWF will be set to the width and height of this container element. + * @param {String} swfURL The URL of the SWF to be embedded into the page. + * @param {Object} p_oAttributes (optional) Configuration parameters for the Flash application and values for Flashvars + * to be passed to the SWF. The p_oAttributes object allows the following additional properties: + *
+ *
version : String
+ *
The minimum version of Flash required on the user's machine.
+ *
fixedAttributes : Object
+ *
An object literal containing one or more of the following String keys and their values: align, + * allowFullScreen, allowNetworking, allowScriptAccess, base, bgcolor, menu, name, quality, salign, scale, + * tabindex, wmode. event from the thumb
+ *
+ */ + +function SWF (p_oElement /*:String*/, swfURL /*:String*/, p_oAttributes /*:Object*/ ) { + + this._id = Y.guid("yuiswf"); + + + var _id = this._id; + var oElement = Node.one(p_oElement); + + var p_oAttributes = p_oAttributes || {}; + + var flashVersion = p_oAttributes.version || FLASH_VER; + + var flashVersionSplit = (flashVersion + '').split("."); + var isFlashVersionRight = SWFDetect.isFlashVersionAtLeast(parseInt(flashVersionSplit[0], 10), parseInt(flashVersionSplit[1], 10), parseInt(flashVersionSplit[2], 10)); + var canExpressInstall = (SWFDetect.isFlashVersionAtLeast(8,0,0)); + var shouldExpressInstall = canExpressInstall && !isFlashVersionRight && p_oAttributes.useExpressInstall; + var flashURL = (shouldExpressInstall)?EXPRESS_INSTALL_URL:swfURL; + var objstring = ''; + + if (uA.ie) { + objstring += ''; + } + + for (var attribute in p_oAttributes.fixedAttributes) { + if (possibleAttributes.hasOwnProperty(attribute)) { + objstring += ''; + } + } + + for (var flashvar in p_oAttributes.flashVars) { + var fvar = p_oAttributes.flashVars[flashvar]; + if (Lang.isString(fvar)) { + flashvarstring += "&" + Escape.html(flashvar) + "=" + Escape.html(encodeURIComponent(fvar)); + } + } + + if (flashvarstring) { + objstring += ''; + } + + objstring += ""; + //using innerHTML as setHTML/setContent causes some issues with ExternalInterface for IE versions of the player + oElement.set("innerHTML", objstring); + + this._swf = Node.one("#" + _id); + } else { + /** + * Fired when the Flash player version on the user's machine is + * below the required value. + * + * @event wrongflashversion + */ + var event = {}; + event.type = "wrongflashversion"; + this.publish("wrongflashversion", {fireOnce:true}); + this.fire("wrongflashversion", event); + } +} + +/** + * @private + * The static collection of all instances of the SWFs on the page. + * @property _instances + * @type Object + */ + +SWF._instances = SWF._instances || {}; + +/** + * @private + * Handles an event coming from within the SWF and delegate it + * to a specific instance of SWF. + * @method eventHandler + * @param swfid {String} the id of the SWF dispatching the event + * @param event {Object} the event being transmitted. + */ +SWF.eventHandler = function (swfid, event) { + SWF._instances[swfid]._eventHandler(event); +}; + +SWF.prototype = { + /** + * @private + * Propagates a specific event from Flash to JS. + * @method _eventHandler + * @param event {Object} The event to be propagated from Flash. + */ + _eventHandler: function(event) { + if (event.type === "swfReady") { + this.publish("swfReady", {fireOnce:true}); + this.fire("swfReady", event); + } else if(event.type === "log") { + } else { + this.fire(event.type, event); + } + }, + + /** + * Calls a specific function exposed by the SWF's + * ExternalInterface. + * @method callSWF + * @param func {String} the name of the function to call + * @param args {Array} the set of arguments to pass to the function. + */ + + callSWF: function (func, args) + { + if (!args) { + args= []; + } + if (this._swf._node[func]) { + return(this._swf._node[func].apply(this._swf._node, args)); + } else { + return null; + } + }, + + /** + * Public accessor to the unique name of the SWF instance. + * + * @method toString + * @return {String} Unique name of the SWF instance. + */ + toString: function() + { + return "SWF " + this._id; + } +}; + +Y.augment(SWF, Y.EventTarget); + +Y.SWF = SWF; + + +}, '3.6.0pr3' ,{requires:['event-custom','node','swfdetect','escape']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/debug.js new file mode 100644 index 000000000..58cda34df --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("swfdetect"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/index.js new file mode 100644 index 000000000..b545935ee --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("swfdetect"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-debug.js new file mode 100644 index 000000000..cfc291e67 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-debug.js @@ -0,0 +1,122 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('swfdetect', function(Y) { + +/** + * Utility for Flash version detection + * @module swfdetect + */ + +// Shortcuts and helper methods +var version = 0, + uA = Y.UA, + lG = Y.Lang, + sF = "ShockwaveFlash", + mF, eP, vS, ax6, ax; + +function makeInt(n) { + return parseInt(n, 10); +} + +function parseFlashVersion (flashVer) { + if (lG.isNumber(makeInt(flashVer[0]))) { + uA.flashMajor = flashVer[0]; + } + + if (lG.isNumber(makeInt(flashVer[1]))) { + uA.flashMinor = flashVer[1]; + } + + if (lG.isNumber(makeInt(flashVer[2]))) { + uA.flashRev = flashVer[2]; + } +} + +if (uA.gecko || uA.webkit || uA.opera) { + if ((mF = navigator.mimeTypes['application/x-shockwave-flash'])) { + if ((eP = mF.enabledPlugin)) { + vS = eP.description.replace(/\s[rd]/g, '.').replace(/[A-Za-z\s]+/g, '').split('.'); + Y.log(vS[0]); + parseFlashVersion(vS); + } + } +} +else if(uA.ie) { + try + { + ax6 = new ActiveXObject(sF + "." + sF + ".6"); + ax6.AllowScriptAccess = "always"; + } + catch (e) + { + if(ax6 !== null) + { + version = 6.0; + } + } + if (version === 0) { + try + { + ax = new ActiveXObject(sF + "." + sF); + vS = ax.GetVariable("$version").replace(/[A-Za-z\s]+/g, '').split(','); + parseFlashVersion(vS); + } catch (e2) {} + } +} + +/** Create a calendar view to represent a single or multiple + * month range of dates, rendered as a grid with date and + * weekday labels. + * + * @class SWFDetect + * @constructor + */ + + +Y.SWFDetect = { + + /** + * Returns the version of either the Flash Player plugin (in Mozilla/WebKit/Opera browsers), + * or the Flash Player ActiveX control (in IE), as a String of the form "MM.mm.rr", where + * MM is the major version, mm is the minor version, and rr is the revision. + * @method getFlashVersion + */ + + getFlashVersion : function () { + return (String(uA.flashMajor) + "." + String(uA.flashMinor) + "." + String(uA.flashRev)); + }, + + /** + * Checks whether the version of the Flash player installed on the user's machine is greater + * than or equal to the one specified. If it is, this method returns true; it is false otherwise. + * @method isFlashVersionAtLeast + * @return {Boolean} Whether the Flash player version is greater than or equal to the one specified. + * @param flashMajor {int} The Major version of the Flash player to compare against. + * @param flashMinor {int} The Minor version of the Flash player to compare against. + * @param flashRev {int} The Revision version of the Flash player to compare against. + */ + isFlashVersionAtLeast : function (flashMajor, flashMinor, flashRev) { + var uaMajor = makeInt(uA.flashMajor), + uaMinor = makeInt(uA.flashMinor), + uaRev = makeInt(uA.flashRev); + + flashMajor = makeInt(flashMajor || 0); + flashMinor = makeInt(flashMinor || 0); + flashRev = makeInt(flashRev || 0); + + if (flashMajor === uaMajor) { + if (flashMinor === uaMinor) { + return flashRev <= uaRev; + } + return flashMinor < uaMinor; + } + return flashMajor < uaMajor; + } +}; + + +}, '3.6.0pr3' ,{requires:['yui-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-min.js new file mode 100644 index 000000000..a9336c75c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/swfdetect/swfdetect-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("swfdetect",function(c){var k=0,i=c.UA,f=c.Lang,n="ShockwaveFlash",b,h,d,o,a;function m(e){return parseInt(e,10);}function g(e){if(f.isNumber(m(e[0]))){i.flashMajor=e[0];}if(f.isNumber(m(e[1]))){i.flashMinor=e[1];}if(f.isNumber(m(e[2]))){i.flashRev=e[2];}}if(i.gecko||i.webkit||i.opera){if((b=navigator.mimeTypes["application/x-shockwave-flash"])){if((h=b.enabledPlugin)){d=h.description.replace(/\s[rd]/g,".").replace(/[A-Za-z\s]+/g,"").split(".");g(d);}}}else{if(i.ie){try{o=new ActiveXObject(n+"."+n+".6");o.AllowScriptAccess="always";}catch(j){if(o!==null){k=6;}}if(k===0){try{a=new ActiveXObject(n+"."+n);d=a.GetVariable("$version").replace(/[A-Za-z\s]+/g,"").split(",");g(d);}catch(l){}}}}c.SWFDetect={getFlashVersion:function(){return(String(i.flashMajor)+"."+String(i.flashMinor)+"."+String(i.flashRev));},isFlashVersionAtLeast:function(r,t,s){var p=m(i.flashMajor),q=m(i.flashMinor),e=m(i.flashRev);r=m(r||0);t=m(t||0);s=m(s||0);if(r===p){if(t===q){return s<=e;}return t ul', + tab: '> ul > li', + tabLabel: '> ul > li > a ', + tabviewPanel: '> div', + tabPanel: '> div > div', + selectedTab: '> ul > ' + DOT + _classNames.selectedTab, + selectedPanel: '> div ' + DOT + _classNames.selectedPanel + }, + + TabviewBase = function(config) { + this.init.apply(this, arguments); + }; + +TabviewBase.NAME = 'tabviewBase'; +TabviewBase._queries = _queries; +TabviewBase._classNames = _classNames; + +Y.mix(TabviewBase.prototype, { + init: function(config) { + config = config || EMPTY_OBJ; + this._node = config.host || Y.one(config.node); + + this.refresh(); + }, + + initClassNames: function(index) { + Y.Object.each(_queries, function(query, name) { + // this === tabview._node + if (_classNames[name]) { + var result = this.all(query); + + if (index !== undefined) { + result = result.item(index); + } + + if (result) { + result.addClass(_classNames[name]); + } + } + }, this._node); + + this._node.addClass(_classNames.tabview); + }, + + _select: function(index) { + var node = this._node, + oldItem = node.one(_queries.selectedTab), + oldContent = node.one(_queries.selectedPanel), + newItem = node.all(_queries.tab).item(index), + newContent = node.all(_queries.tabPanel).item(index); + + if (oldItem) { + oldItem.removeClass(_classNames.selectedTab); + } + + if (oldContent) { + oldContent.removeClass(_classNames.selectedPanel); + } + + if (newItem) { + newItem.addClass(_classNames.selectedTab); + } + + if (newContent) { + newContent.addClass(_classNames.selectedPanel); + } + }, + + initState: function() { + var node = this._node, + activeNode = node.one(_queries.selectedTab), + activeIndex = activeNode ? + node.all(_queries.tab).indexOf(activeNode) : 0; + + this._select(activeIndex); + }, + + // collapse extra space between list-items + _scrubTextNodes: function() { + this._node.one(_queries.tabviewList).get('childNodes').each(function(node) { + if (node.get('nodeType') === 3) { // text node + node.remove(); + } + }); + }, + + // base renderer only enlivens existing markup + refresh: function() { + this._scrubTextNodes(); + this.initClassNames(); + this.initState(); + this.initEvents(); + }, + + tabEventName: 'click', + + initEvents: function() { + // TODO: detach prefix for delegate? + // this._node.delegate('tabview|' + this.tabEventName), + this._node.delegate(this.tabEventName, + this.onTabEvent, + _queries.tab, + this + ); + }, + + onTabEvent: function(e) { + e.preventDefault(); + this._select(this._node.all(_queries.tab).indexOf(e.currentTarget)); + }, + + destroy: function() { + this._node.detach(this.tabEventName); + } +}); + +Y.TabviewBase = TabviewBase; + + +}, '3.6.0pr3' ,{requires:['node-event-delegate', 'classnamemanager', 'skin-sam-tabview']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base-min.js new file mode 100644 index 000000000..6bdb79341 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("tabview-base",function(b){var c=b.ClassNameManager.getClassName,f="tabview",k="tab",l="content",j="panel",g="selected",h={},i=".",d={tabview:c(f),tabviewPanel:c(f,j),tabviewList:c(f,"list"),tab:c(k),tabLabel:c(k,"label"),tabPanel:c(k,j),selectedTab:c(k,g),selectedPanel:c(k,j,g)},e={tabview:i+d.tabview,tabviewList:"> ul",tab:"> ul > li",tabLabel:"> ul > li > a ",tabviewPanel:"> div",tabPanel:"> div > div",selectedTab:"> ul > "+i+d.selectedTab,selectedPanel:"> div "+i+d.selectedPanel},a=function(m){this.init.apply(this,arguments);};a.NAME="tabviewBase";a._queries=e;a._classNames=d;b.mix(a.prototype,{init:function(m){m=m||h;this._node=m.host||b.one(m.node);this.refresh();},initClassNames:function(m){b.Object.each(e,function(p,o){if(d[o]){var n=this.all(p);if(m!==undefined){n=n.item(m);}if(n){n.addClass(d[o]);}}},this._node);this._node.addClass(d.tabview);},_select:function(n){var q=this._node,r=q.one(e.selectedTab),p=q.one(e.selectedPanel),o=q.all(e.tab).item(n),m=q.all(e.tabPanel).item(n);if(r){r.removeClass(d.selectedTab);}if(p){p.removeClass(d.selectedPanel);}if(o){o.addClass(d.selectedTab);}if(m){m.addClass(d.selectedPanel);}},initState:function(){var n=this._node,o=n.one(e.selectedTab),m=o?n.all(e.tab).indexOf(o):0;this._select(m);},_scrubTextNodes:function(){this._node.one(e.tabviewList).get("childNodes").each(function(m){if(m.get("nodeType")===3){m.remove();}});},refresh:function(){this._scrubTextNodes();this.initClassNames();this.initState();this.initEvents();},tabEventName:"click",initEvents:function(){this._node.delegate(this.tabEventName,this.onTabEvent,e.tab,this);},onTabEvent:function(m){m.preventDefault();this._select(this._node.all(e.tab).indexOf(m.currentTarget));},destroy:function(){this._node.detach(this.tabEventName);}});b.TabviewBase=a;},"3.6.0pr3",{requires:["node-event-delegate","classnamemanager","skin-sam-tabview"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base.js new file mode 100644 index 000000000..20deb47e6 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-base/tabview-base.js @@ -0,0 +1,150 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('tabview-base', function(Y) { + +var getClassName = Y.ClassNameManager.getClassName, + TABVIEW = 'tabview', + TAB = 'tab', + CONTENT = 'content', + PANEL = 'panel', + SELECTED = 'selected', + EMPTY_OBJ = {}, + DOT = '.', + + _classNames = { + tabview: getClassName(TABVIEW), + tabviewPanel: getClassName(TABVIEW, PANEL), + tabviewList: getClassName(TABVIEW, 'list'), + tab: getClassName(TAB), + tabLabel: getClassName(TAB, 'label'), + tabPanel: getClassName(TAB, PANEL), + selectedTab: getClassName(TAB, SELECTED), + selectedPanel: getClassName(TAB, PANEL, SELECTED) + }, + + _queries = { + tabview: DOT + _classNames.tabview, + tabviewList: '> ul', + tab: '> ul > li', + tabLabel: '> ul > li > a ', + tabviewPanel: '> div', + tabPanel: '> div > div', + selectedTab: '> ul > ' + DOT + _classNames.selectedTab, + selectedPanel: '> div ' + DOT + _classNames.selectedPanel + }, + + TabviewBase = function(config) { + this.init.apply(this, arguments); + }; + +TabviewBase.NAME = 'tabviewBase'; +TabviewBase._queries = _queries; +TabviewBase._classNames = _classNames; + +Y.mix(TabviewBase.prototype, { + init: function(config) { + config = config || EMPTY_OBJ; + this._node = config.host || Y.one(config.node); + + this.refresh(); + }, + + initClassNames: function(index) { + Y.Object.each(_queries, function(query, name) { + // this === tabview._node + if (_classNames[name]) { + var result = this.all(query); + + if (index !== undefined) { + result = result.item(index); + } + + if (result) { + result.addClass(_classNames[name]); + } + } + }, this._node); + + this._node.addClass(_classNames.tabview); + }, + + _select: function(index) { + var node = this._node, + oldItem = node.one(_queries.selectedTab), + oldContent = node.one(_queries.selectedPanel), + newItem = node.all(_queries.tab).item(index), + newContent = node.all(_queries.tabPanel).item(index); + + if (oldItem) { + oldItem.removeClass(_classNames.selectedTab); + } + + if (oldContent) { + oldContent.removeClass(_classNames.selectedPanel); + } + + if (newItem) { + newItem.addClass(_classNames.selectedTab); + } + + if (newContent) { + newContent.addClass(_classNames.selectedPanel); + } + }, + + initState: function() { + var node = this._node, + activeNode = node.one(_queries.selectedTab), + activeIndex = activeNode ? + node.all(_queries.tab).indexOf(activeNode) : 0; + + this._select(activeIndex); + }, + + // collapse extra space between list-items + _scrubTextNodes: function() { + this._node.one(_queries.tabviewList).get('childNodes').each(function(node) { + if (node.get('nodeType') === 3) { // text node + node.remove(); + } + }); + }, + + // base renderer only enlivens existing markup + refresh: function() { + this._scrubTextNodes(); + this.initClassNames(); + this.initState(); + this.initEvents(); + }, + + tabEventName: 'click', + + initEvents: function() { + // TODO: detach prefix for delegate? + // this._node.delegate('tabview|' + this.tabEventName), + this._node.delegate(this.tabEventName, + this.onTabEvent, + _queries.tab, + this + ); + }, + + onTabEvent: function(e) { + e.preventDefault(); + this._select(this._node.all(_queries.tab).indexOf(e.currentTarget)); + }, + + destroy: function() { + this._node.detach(this.tabEventName); + } +}); + +Y.TabviewBase = TabviewBase; + + +}, '3.6.0pr3' ,{requires:['node-event-delegate', 'classnamemanager', 'skin-sam-tabview']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview-core.css new file mode 100644 index 000000000..80eb0568c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview-core.css @@ -0,0 +1,48 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel { + display:none; +} + +.yui3-tab-panel-selected { + display:block; +} + +.yui3-tabview-list, +.yui3-tab { + margin:0; + padding:0; + list-style:none; +} + +.yui3-tabview { + position:relative; /* contain absolute positioned tabs (left/right) */ +} + +.yui3-tabview, +.yui3-tabview-list, +.yui3-tabview-panel, +.yui3-tab, +.yui3-tab-panel { /* IE: kill space between horizontal tabs */ + zoom:1; +} + +.yui3-tab { + display:inline-block; + *display:inline; /* IE */ + vertical-align:bottom; /* safari: for overlap */ + cursor:pointer; +} + +.yui3-tab-label { + display:block; + display:inline-block; + padding: 6px 10px; + position:relative; /* IE: to allow overlap */ + text-decoration: none; + vertical-align:bottom; /* safari: for overlap */ +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview.css new file mode 100644 index 000000000..41e059bff --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/assets/tabview.css @@ -0,0 +1,28 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel { + display: none; +} + +.yui3-tab-selected { + background: yellow; +} + +.yui3-tab-selected { + background: yellow; +} + +.yui3-tab-panel-selected { + background: yellow; + display: block; +} + +.yui3-tab { + display: inline-block; + margin-right: 0.5em; + zoom: 1; +}; diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/debug.js new file mode 100644 index 000000000..9671da091 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("tabview-plugin"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/index.js new file mode 100644 index 000000000..64beb4b12 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("tabview-plugin"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-debug.js new file mode 100644 index 000000000..e259646fe --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-debug.js @@ -0,0 +1,22 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('tabview-plugin', function(Y) { + +function TabviewPlugin() { + TabviewPlugin.superclass.constructor.apply(this, arguments); +}; + +TabviewPlugin.NAME = 'tabviewPlugin'; +TabviewPlugin.NS = 'tabs'; + +Y.extend(TabviewPlugin, Y.TabviewBase); + +Y.namespace('Plugin'); +Y.Plugin.Tabview = TabviewPlugin; + + +}, '3.6.0pr3' ,{requires:['tabview-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-min.js new file mode 100644 index 000000000..831ec79c5 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("tabview-plugin",function(b){function a(){a.superclass.constructor.apply(this,arguments);}a.NAME="tabviewPlugin";a.NS="tabs";b.extend(a,b.TabviewBase);b.namespace("Plugin");b.Plugin.Tabview=a;},"3.6.0pr3",{requires:["tabview-base"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin.js new file mode 100644 index 000000000..e259646fe --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview-plugin/tabview-plugin.js @@ -0,0 +1,22 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('tabview-plugin', function(Y) { + +function TabviewPlugin() { + TabviewPlugin.superclass.constructor.apply(this, arguments); +}; + +TabviewPlugin.NAME = 'tabviewPlugin'; +TabviewPlugin.NS = 'tabs'; + +Y.extend(TabviewPlugin, Y.TabviewBase); + +Y.namespace('Plugin'); +Y.Plugin.Tabview = TabviewPlugin; + + +}, '3.6.0pr3' ,{requires:['tabview-base']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview-skin.css new file mode 100644 index 000000000..8a777ac00 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview-skin.css @@ -0,0 +1,95 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-skin-night .yui3-tabview-panel{ + background-color:#333333; + color:#808080; + padding:1px; +} +.yui3-skin-night .yui3-tab-panel p{ + margin:10px; +} +.yui3-skin-night .yui3-tabview-list { + background-color:#0f0f0f; + border-top:1px solid #000; + text-align:center; + height:46px; + background: -moz-linear-gradient( + 0% 100% 90deg, + #0f0f0f 0%, + #1e1e1e 96%, + #292929 100% + ); + background: -webkit-gradient( + linear, + left bottom, + left top, + from(#0f0f0f), + color-stop(0.96, #1e1e1e), + to(#292929) + ); +} + +.yui3-skin-night .yui3-tabview-list li { + margin-top:8px; +} +.yui3-skin-night .yui3-tabview-list li a{ + border:solid 1px #0c0c0c; + border-right-style:none; + + -moz-box-shadow: 0 1px #222222; + -webkit-box-shadow: 0 1px #222222; + box-shadow: 0 1px #222222; + + text-shadow: 0 -1px 0 rgba(0,0,0,0.7); + font-size:85%; + text-align:center; + color: #fff; + padding: 6px 28px; + background-color:#555658; + background: -moz-linear-gradient( + 0% 100% 90deg, + #343536 0%, + #555658 96%, + #3E3F41 100% + ); + background: -webkit-gradient( + linear, + left bottom, + left top, + from(#343536), + color-stop(0.96, #555658), + to(#3E3F41) + ); +} +.yui3-skin-night .yui3-tabview-list li.yui3-tab-selected a { + background-color:#2B2D2D; + background: -moz-linear-gradient( + 0% 100% 90deg, + #242526 0%, + #3b3c3d 96%, + #2C2D2F 100% + ); + background: -webkit-gradient( + linear, + left bottom, + left top, + from(#242526), + color-stop(0.96, #3b3c3d), + to(#2C2D2F) + ); +} +.yui3-skin-night .yui3-tabview-list li:first-child a{ + -moz-border-radius:6px 0 0 6px; + -webkit-border-radius:6px 0 0 6px; + border-radius:6px 0 0 6px; +} +.yui3-skin-night .yui3-tabview-list li:last-child a{ + border-right-style:solid; + -moz-border-radius:0 6px 6px 0; + -webkit-border-radius:0 6px 6px 0; + border-radius:0 6px 6px 0; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview.css new file mode 100644 index 000000000..53f76d16a --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/night/tabview.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel{display:none}.yui3-tab-panel-selected{display:block}.yui3-tabview-list,.yui3-tab{margin:0;padding:0;list-style:none}.yui3-tabview{position:relative}.yui3-tabview,.yui3-tabview-list,.yui3-tabview-panel,.yui3-tab,.yui3-tab-panel{zoom:1}.yui3-tab{display:inline-block;*display:inline;vertical-align:bottom;cursor:pointer}.yui3-tab-label{display:block;display:inline-block;padding:6px 10px;position:relative;text-decoration:none;vertical-align:bottom}.yui3-skin-night .yui3-tabview-panel{background-color:#333;color:#808080;padding:1px}.yui3-skin-night .yui3-tab-panel p{margin:10px}.yui3-skin-night .yui3-tabview-list{background-color:#0f0f0f;border-top:1px solid #000;text-align:center;height:46px;background:-moz-linear-gradient(0% 100% 90deg,#0f0f0f 0,#1e1e1e 96%,#292929 100%);background:-webkit-gradient(linear,left bottom,left top,from(#0f0f0f),color-stop(0.96,#1e1e1e),to(#292929))}.yui3-skin-night .yui3-tabview-list li{margin-top:8px}.yui3-skin-night .yui3-tabview-list li a{border:solid 1px #0c0c0c;border-right-style:none;-moz-box-shadow:0 1px #222;-webkit-box-shadow:0 1px #222;box-shadow:0 1px #222;text-shadow:0 -1px 0 rgba(0,0,0,0.7);font-size:85%;text-align:center;color:#fff;padding:6px 28px;background-color:#555658;background:-moz-linear-gradient(0% 100% 90deg,#343536 0,#555658 96%,#3e3f41 100%);background:-webkit-gradient(linear,left bottom,left top,from(#343536),color-stop(0.96,#555658),to(#3e3f41))}.yui3-skin-night .yui3-tabview-list li.yui3-tab-selected a{background-color:#2b2d2d;background:-moz-linear-gradient(0% 100% 90deg,#242526 0,#3b3c3d 96%,#2c2d2f 100%);background:-webkit-gradient(linear,left bottom,left top,from(#242526),color-stop(0.96,#3b3c3d),to(#2c2d2f))}.yui3-skin-night .yui3-tabview-list li:first-child a{-moz-border-radius:6px 0 0 6px;-webkit-border-radius:6px 0 0 6px;border-radius:6px 0 0 6px}.yui3-skin-night .yui3-tabview-list li:last-child a{border-right-style:solid;-moz-border-radius:0 6px 6px 0;-webkit-border-radius:0 6px 6px 0;border-radius:0 6px 6px 0}#yui3-css-stamp.skin-night-tabview{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview-skin.css new file mode 100644 index 000000000..7e378470b --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview-skin.css @@ -0,0 +1,64 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* .yui-navset defaults to .yui-navset-top */ +.yui3-skin-sam .yui3-tabview-list { + border:solid #2647a0; /* color between tab list and content */ + border-width:0 0 5px; + zoom:1; +} + +.yui3-skin-sam .yui3-tab { + margin:0 0.2em 0 0; + padding:1px 0 0; /* gecko: make room for overflow */ + zoom:1; +} + +.yui3-skin-sam .yui3-tab-selected { + margin-bottom:-1px; /* for overlap (mapped to tabview-list border-width) */ +} + +.yui3-skin-sam .yui3-tab-label { + background:#d8d8d8 url(../../../../assets/skins/sam/sprite.png) repeat-x; /* tab background */ + border:solid #a3a3a3; + border-width: 1px 1px 0 1px; + color:#000; + cursor:pointer; + font-size:85%; + padding:0.3em .75em; + text-decoration:none; +} + +.yui3-skin-sam .yui3-tab-label:hover, +.yui3-skin-sam .yui3-tab-label:focus { + background:#bfdaff url(../../../../assets/skins/sam/sprite.png) repeat-x left -1300px; /* hovered tab background */ + outline:0; +} + +.yui3-skin-sam .yui3-tab-selected .yui3-tab-label, +.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:focus, +.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:hover { /* no hover effect for selected */ + background:#2647a0 url(../../../../assets/skins/sam/sprite.png) repeat-x left -1400px; /* selected tab background */ + color:#fff; +} + +.yui3-skin-sam .yui3-tab-selected .yui3-tab-label { + padding:0.4em 0.75em; /* raise selected tab */ +} + +.yui3-skin-sam .yui3-tab-selected .yui3-tab-label { + border-color:#243356; /* selected tab border color */ +} + +.yui3-skin-sam .yui3-tabview-panel { + background:#edf5ff; /* content background color */ +} + +.yui3-skin-sam .yui3-tabview-panel { + border:1px solid #808080; /* content border */ + border-top-color:#243356; /* different border color */ + padding:0.25em 0.5em; /* content padding */ +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview.css new file mode 100644 index 000000000..91d50c2e4 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/skins/sam/tabview.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel{display:none}.yui3-tab-panel-selected{display:block}.yui3-tabview-list,.yui3-tab{margin:0;padding:0;list-style:none}.yui3-tabview{position:relative}.yui3-tabview,.yui3-tabview-list,.yui3-tabview-panel,.yui3-tab,.yui3-tab-panel{zoom:1}.yui3-tab{display:inline-block;*display:inline;vertical-align:bottom;cursor:pointer}.yui3-tab-label{display:block;display:inline-block;padding:6px 10px;position:relative;text-decoration:none;vertical-align:bottom}.yui3-skin-sam .yui3-tabview-list{border:solid #2647a0;border-width:0 0 5px;zoom:1}.yui3-skin-sam .yui3-tab{margin:0 .2em 0 0;padding:1px 0 0;zoom:1}.yui3-skin-sam .yui3-tab-selected{margin-bottom:-1px}.yui3-skin-sam .yui3-tab-label{background:#d8d8d8 url(../../../../assets/skins/sam/sprite.png) repeat-x;border:solid #a3a3a3;border-width:1px 1px 0 1px;color:#000;cursor:pointer;font-size:85%;padding:.3em .75em;text-decoration:none}.yui3-skin-sam .yui3-tab-label:hover,.yui3-skin-sam .yui3-tab-label:focus{background:#bfdaff url(../../../../assets/skins/sam/sprite.png) repeat-x left -1300px;outline:0}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label,.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:focus,.yui3-skin-sam .yui3-tab-selected .yui3-tab-label:hover{background:#2647a0 url(../../../../assets/skins/sam/sprite.png) repeat-x left -1400px;color:#fff}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label{padding:.4em .75em}.yui3-skin-sam .yui3-tab-selected .yui3-tab-label{border-color:#243356}.yui3-skin-sam .yui3-tabview-panel{background:#edf5ff}.yui3-skin-sam .yui3-tabview-panel{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em}#yui3-css-stamp.skin-sam-tabview{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview-core.css new file mode 100644 index 000000000..80eb0568c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview-core.css @@ -0,0 +1,48 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel { + display:none; +} + +.yui3-tab-panel-selected { + display:block; +} + +.yui3-tabview-list, +.yui3-tab { + margin:0; + padding:0; + list-style:none; +} + +.yui3-tabview { + position:relative; /* contain absolute positioned tabs (left/right) */ +} + +.yui3-tabview, +.yui3-tabview-list, +.yui3-tabview-panel, +.yui3-tab, +.yui3-tab-panel { /* IE: kill space between horizontal tabs */ + zoom:1; +} + +.yui3-tab { + display:inline-block; + *display:inline; /* IE */ + vertical-align:bottom; /* safari: for overlap */ + cursor:pointer; +} + +.yui3-tab-label { + display:block; + display:inline-block; + padding: 6px 10px; + position:relative; /* IE: to allow overlap */ + text-decoration: none; + vertical-align:bottom; /* safari: for overlap */ +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview.css new file mode 100644 index 000000000..41e059bff --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/assets/tabview.css @@ -0,0 +1,28 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-tab-panel { + display: none; +} + +.yui3-tab-selected { + background: yellow; +} + +.yui3-tab-selected { + background: yellow; +} + +.yui3-tab-panel-selected { + background: yellow; + display: block; +} + +.yui3-tab { + display: inline-block; + margin-right: 0.5em; + zoom: 1; +}; diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/debug.js new file mode 100644 index 000000000..ef17fe03c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("tabview"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/index.js new file mode 100644 index 000000000..309bbb45c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("tabview"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-debug.js new file mode 100644 index 000000000..45e8dd336 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-debug.js @@ -0,0 +1,407 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('tabview', function(Y) { + +/** + * The TabView module + * + * @module tabview + */ + +var _queries = Y.TabviewBase._queries, + _classNames = Y.TabviewBase._classNames, + DOT = '.', + getClassName = Y.ClassNameManager.getClassName, + + /** + * Provides a tabbed widget interface + * @param config {Object} Object literal specifying tabview configuration properties. + * + * @class TabView + * @constructor + * @extends Widget + * @uses WidgetParent + */ + TabView = Y.Base.create('tabView', Y.Widget, [Y.WidgetParent], { + _afterChildAdded: function(e) { + this.get('contentBox').focusManager.refresh(); + }, + + _defListNodeValueFn: function() { + return Y.Node.create(TabView.LIST_TEMPLATE); + }, + + _defPanelNodeValueFn: function() { + return Y.Node.create(TabView.PANEL_TEMPLATE); + }, + + _afterChildRemoved: function(e) { // update the selected tab when removed + var i = e.index, + selection = this.get('selection'); + + if (!selection) { // select previous item if selection removed + selection = this.item(i - 1) || this.item(0); + if (selection) { + selection.set('selected', 1); + } + } + + this.get('contentBox').focusManager.refresh(); + }, + + _initAria: function() { + var contentBox = this.get('contentBox'), + tablist = contentBox.one(_queries.tabviewList); + + if (tablist) { + tablist.setAttrs({ + //'aria-labelledby': + role: 'tablist' + }); + } + }, + + bindUI: function() { + // Use the Node Focus Manager to add keyboard support: + // Pressing the left and right arrow keys will move focus + // among each of the tabs. + + this.get('contentBox').plug(Y.Plugin.NodeFocusManager, { + descendants: DOT + _classNames.tabLabel, + keys: { next: 'down:39', // Right arrow + previous: 'down:37' }, // Left arrow + circular: true + }); + + this.after('render', this._setDefSelection); + this.after('addChild', this._afterChildAdded); + this.after('removeChild', this._afterChildRemoved); + }, + + renderUI: function() { + var contentBox = this.get('contentBox'); + this._renderListBox(contentBox); + this._renderPanelBox(contentBox); + this._childrenContainer = this.get('listNode'); + this._renderTabs(contentBox); + }, + + _setDefSelection: function(contentBox) { + // If no tab is selected, select the first tab. + var selection = this.get('selection') || this.item(0); + + this.some(function(tab) { + if (tab.get('selected')) { + selection = tab; + return true; + } + }); + if (selection) { + // TODO: why both needed? (via widgetParent/Child)? + this.set('selection', selection); + selection.set('selected', 1); + } + }, + + _renderListBox: function(contentBox) { + var node = this.get('listNode'); + if (!node.inDoc()) { + contentBox.append(node); + } + }, + + _renderPanelBox: function(contentBox) { + var node = this.get('panelNode'); + if (!node.inDoc()) { + contentBox.append(node); + } + }, + + _renderTabs: function(contentBox) { + var tabs = contentBox.all(_queries.tab), + panelNode = this.get('panelNode'), + panels = (panelNode) ? this.get('panelNode').get('children') : null, + tabview = this; + + if (tabs) { // add classNames and fill in Tab fields from markup when possible + tabs.addClass(_classNames.tab); + contentBox.all(_queries.tabLabel).addClass(_classNames.tabLabel); + contentBox.all(_queries.tabPanel).addClass(_classNames.tabPanel); + + tabs.each(function(node, i) { + var panelNode = (panels) ? panels.item(i) : null; + tabview.add({ + boundingBox: node, + contentBox: node.one(DOT + _classNames.tabLabel), + label: node.one(DOT + _classNames.tabLabel).get('text'), + panelNode: panelNode + }); + }); + } + } +}, { + + LIST_TEMPLATE: '
    ', + PANEL_TEMPLATE: '
    ', + + ATTRS: { + defaultChildType: { + value: 'Tab' + }, + + listNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabviewList); + } + return node; + }, + + valueFn: '_defListNodeValueFn' + }, + + panelNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabviewPanel); + } + return node; + }, + + valueFn: '_defPanelNodeValueFn' + }, + + tabIndex: { + value: null + //validator: '_validTabIndex' + } + }, + + HTML_PARSER: { + listNode: _queries.tabviewList, + panelNode: _queries.tabviewPanel + } +}); + +Y.TabView = TabView; +var Lang = Y.Lang, + _queries = Y.TabviewBase._queries, + _classNames = Y.TabviewBase._classNames, + getClassName = Y.ClassNameManager.getClassName; + +/** + * Provides Tab instances for use with TabView + * @param config {Object} Object literal specifying tabview configuration properties. + * + * @class Tab + * @constructor + * @extends Widget + * @uses WidgetChild + */ +Y.Tab = Y.Base.create('tab', Y.Widget, [Y.WidgetChild], { + BOUNDING_TEMPLATE: '
  • ', + CONTENT_TEMPLATE: '', + PANEL_TEMPLATE: '
    ', + + _uiSetSelectedPanel: function(selected) { + this.get('panelNode').toggleClass(_classNames.selectedPanel, selected); + }, + + _afterTabSelectedChange: function(event) { + this._uiSetSelectedPanel(event.newVal); + }, + + _afterParentChange: function(e) { + if (!e.newVal) { + this._remove(); + } else { + this._add(); + } + }, + + _initAria: function() { + var anchor = this.get('contentBox'), + id = anchor.get('id'), + panel = this.get('panelNode'); + + if (!id) { + id = Y.guid(); + anchor.set('id', id); + } + // Apply the ARIA roles, states and properties to each tab + anchor.set('role', 'tab'); + anchor.get('parentNode').set('role', 'presentation'); + + + // Apply the ARIA roles, states and properties to each panel + panel.setAttrs({ + role: 'tabpanel', + 'aria-labelledby': id + }); + }, + + syncUI: function() { + this.set('label', this.get('label')); + this.set('content', this.get('content')); + this._uiSetSelectedPanel(this.get('selected')); + }, + + bindUI: function() { + this.after('selectedChange', this._afterTabSelectedChange); + this.after('parentChange', this._afterParentChange); + }, + + renderUI: function() { + this._renderPanel(); + this._initAria(); + }, + + _renderPanel: function() { + this.get('parent').get('panelNode') + .appendChild(this.get('panelNode')); + }, + + _add: function() { + var parent = this.get('parent').get('contentBox'), + list = parent.get('listNode'), + panel = parent.get('panelNode'); + + if (list) { + list.appendChild(this.get('boundingBox')); + } + + if (panel) { + panel.appendChild(this.get('panelNode')); + } + }, + + _remove: function() { + this.get('boundingBox').remove(); + this.get('panelNode').remove(); + }, + + _onActivate: function(e) { + if (e.target === this) { + // Prevent the browser from navigating to the URL specified by the + // anchor's href attribute. + e.domEvent.preventDefault(); + e.target.set('selected', 1); + } + }, + + initializer: function() { + this.publish(this.get('triggerEvent'), { + defaultFn: this._onActivate + }); + }, + + _defLabelSetter: function(label) { + this.get('contentBox').setContent(label); + return label; + }, + + _defContentSetter: function(content) { + this.get('panelNode').setContent(content); + return content; + }, + + _defContentGetter: function(content) { + return this.get('panelNode').getContent(); + }, + + // find panel by ID mapping from label href + _defPanelNodeValueFn: function() { + var href = this.get('contentBox').get('href') || '', + parent = this.get('parent'), + hashIndex = href.indexOf('#'), + panel; + + href = href.substr(hashIndex); + + if (href.charAt(0) === '#') { // in-page nav, find by ID + panel = Y.one(href); + if (panel) { + panel.addClass(_classNames.tabPanel); + } + } + + // use the one found by id, or else try matching indices + if (!panel && parent) { + panel = parent.get('panelNode') + .get('children').item(this.get('index')); + } + + if (!panel) { // create if none found + panel = Y.Node.create(this.PANEL_TEMPLATE); + } + return panel; + } +}, { + ATTRS: { + /** + * @attribute triggerEvent + * @default "click" + * @type String + */ + triggerEvent: { + value: 'click' + }, + + /** + * @attribute label + * @type HTML + */ + label: { + setter: '_defLabelSetter', + validator: Lang.isString + }, + + /** + * @attribute content + * @type HTML + */ + content: { + setter: '_defContentSetter', + getter: '_defContentGetter' + }, + + /** + * @attribute panelNode + * @type Y.Node + */ + panelNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabPanel); + } + return node; + }, + valueFn: '_defPanelNodeValueFn' + }, + + tabIndex: { + value: null, + validator: '_validTabIndex' + } + + }, + + HTML_PARSER: { + selected: function(contentBox) { + var ret = (this.get('boundingBox').hasClass(_classNames.selectedTab)) ? + 1 : 0; + return ret; + } + } + +}); + + +}, '3.6.0pr3' ,{requires:['node-pluginhost', 'node-focusmanager', 'tabview-base', 'widget', 'widget-parent', 'widget-child']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-min.js new file mode 100644 index 000000000..05317b902 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("tabview",function(f){var a=f.TabviewBase._queries,e=f.TabviewBase._classNames,g=".",b=f.ClassNameManager.getClassName,c=f.Base.create("tabView",f.Widget,[f.WidgetParent],{_afterChildAdded:function(h){this.get("contentBox").focusManager.refresh();},_defListNodeValueFn:function(){return f.Node.create(c.LIST_TEMPLATE);},_defPanelNodeValueFn:function(){return f.Node.create(c.PANEL_TEMPLATE);},_afterChildRemoved:function(k){var h=k.index,j=this.get("selection");if(!j){j=this.item(h-1)||this.item(0);if(j){j.set("selected",1);}}this.get("contentBox").focusManager.refresh();},_initAria:function(){var h=this.get("contentBox"),i=h.one(a.tabviewList);if(i){i.setAttrs({role:"tablist"});}},bindUI:function(){this.get("contentBox").plug(f.Plugin.NodeFocusManager,{descendants:g+e.tabLabel,keys:{next:"down:39",previous:"down:37"},circular:true});this.after("render",this._setDefSelection);this.after("addChild",this._afterChildAdded);this.after("removeChild",this._afterChildRemoved);},renderUI:function(){var h=this.get("contentBox");this._renderListBox(h);this._renderPanelBox(h);this._childrenContainer=this.get("listNode");this._renderTabs(h);},_setDefSelection:function(h){var i=this.get("selection")||this.item(0);this.some(function(j){if(j.get("selected")){i=j;return true;}});if(i){this.set("selection",i);i.set("selected",1);}},_renderListBox:function(h){var i=this.get("listNode");if(!i.inDoc()){h.append(i);}},_renderPanelBox:function(h){var i=this.get("panelNode");if(!i.inDoc()){h.append(i);}},_renderTabs:function(h){var k=h.all(a.tab),i=this.get("panelNode"),j=(i)?this.get("panelNode").get("children"):null,l=this;if(k){k.addClass(e.tab);h.all(a.tabLabel).addClass(e.tabLabel);h.all(a.tabPanel).addClass(e.tabPanel);k.each(function(o,n){var m=(j)?j.item(n):null;l.add({boundingBox:o,contentBox:o.one(g+e.tabLabel),label:o.one(g+e.tabLabel).get("text"),panelNode:m});});}}},{LIST_TEMPLATE:'
      ',PANEL_TEMPLATE:'
      ',ATTRS:{defaultChildType:{value:"Tab"},listNode:{setter:function(h){h=f.one(h);if(h){h.addClass(e.tabviewList);}return h;},valueFn:"_defListNodeValueFn"},panelNode:{setter:function(h){h=f.one(h);if(h){h.addClass(e.tabviewPanel);}return h;},valueFn:"_defPanelNodeValueFn"},tabIndex:{value:null}},HTML_PARSER:{listNode:a.tabviewList,panelNode:a.tabviewPanel}});f.TabView=c;var d=f.Lang,a=f.TabviewBase._queries,e=f.TabviewBase._classNames,b=f.ClassNameManager.getClassName;f.Tab=f.Base.create("tab",f.Widget,[f.WidgetChild],{BOUNDING_TEMPLATE:'
    • ',CONTENT_TEMPLATE:'',PANEL_TEMPLATE:'
      ',_uiSetSelectedPanel:function(h){this.get("panelNode").toggleClass(e.selectedPanel,h);},_afterTabSelectedChange:function(h){this._uiSetSelectedPanel(h.newVal);},_afterParentChange:function(h){if(!h.newVal){this._remove();}else{this._add();}},_initAria:function(){var i=this.get("contentBox"),j=i.get("id"),h=this.get("panelNode");if(!j){j=f.guid();i.set("id",j);}i.set("role","tab");i.get("parentNode").set("role","presentation");h.setAttrs({role:"tabpanel","aria-labelledby":j});},syncUI:function(){this.set("label",this.get("label"));this.set("content",this.get("content"));this._uiSetSelectedPanel(this.get("selected"));},bindUI:function(){this.after("selectedChange",this._afterTabSelectedChange);this.after("parentChange",this._afterParentChange);},renderUI:function(){this._renderPanel();this._initAria();},_renderPanel:function(){this.get("parent").get("panelNode").appendChild(this.get("panelNode"));},_add:function(){var i=this.get("parent").get("contentBox"),j=i.get("listNode"),h=i.get("panelNode");if(j){j.appendChild(this.get("boundingBox"));}if(h){h.appendChild(this.get("panelNode"));}},_remove:function(){this.get("boundingBox").remove();this.get("panelNode").remove();},_onActivate:function(h){if(h.target===this){h.domEvent.preventDefault();h.target.set("selected",1);}},initializer:function(){this.publish(this.get("triggerEvent"),{defaultFn:this._onActivate});},_defLabelSetter:function(h){this.get("contentBox").setContent(h);return h;},_defContentSetter:function(h){this.get("panelNode").setContent(h);return h;},_defContentGetter:function(h){return this.get("panelNode").getContent();},_defPanelNodeValueFn:function(){var i=this.get("contentBox").get("href")||"",k=this.get("parent"),j=i.indexOf("#"),h;i=i.substr(j);if(i.charAt(0)==="#"){h=f.one(i);if(h){h.addClass(e.tabPanel);}}if(!h&&k){h=k.get("panelNode").get("children").item(this.get("index"));}if(!h){h=f.Node.create(this.PANEL_TEMPLATE);}return h;}},{ATTRS:{triggerEvent:{value:"click"},label:{setter:"_defLabelSetter",validator:d.isString},content:{setter:"_defContentSetter",getter:"_defContentGetter"},panelNode:{setter:function(h){h=f.one(h);if(h){h.addClass(e.tabPanel);}return h;},valueFn:"_defPanelNodeValueFn"},tabIndex:{value:null,validator:"_validTabIndex"}},HTML_PARSER:{selected:function(h){var i=(this.get("boundingBox").hasClass(e.selectedTab))?1:0;return i;}}});},"3.6.0pr3",{requires:["node-pluginhost","node-focusmanager","tabview-base","widget","widget-parent","widget-child"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview.js new file mode 100644 index 000000000..45e8dd336 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/tabview/tabview.js @@ -0,0 +1,407 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('tabview', function(Y) { + +/** + * The TabView module + * + * @module tabview + */ + +var _queries = Y.TabviewBase._queries, + _classNames = Y.TabviewBase._classNames, + DOT = '.', + getClassName = Y.ClassNameManager.getClassName, + + /** + * Provides a tabbed widget interface + * @param config {Object} Object literal specifying tabview configuration properties. + * + * @class TabView + * @constructor + * @extends Widget + * @uses WidgetParent + */ + TabView = Y.Base.create('tabView', Y.Widget, [Y.WidgetParent], { + _afterChildAdded: function(e) { + this.get('contentBox').focusManager.refresh(); + }, + + _defListNodeValueFn: function() { + return Y.Node.create(TabView.LIST_TEMPLATE); + }, + + _defPanelNodeValueFn: function() { + return Y.Node.create(TabView.PANEL_TEMPLATE); + }, + + _afterChildRemoved: function(e) { // update the selected tab when removed + var i = e.index, + selection = this.get('selection'); + + if (!selection) { // select previous item if selection removed + selection = this.item(i - 1) || this.item(0); + if (selection) { + selection.set('selected', 1); + } + } + + this.get('contentBox').focusManager.refresh(); + }, + + _initAria: function() { + var contentBox = this.get('contentBox'), + tablist = contentBox.one(_queries.tabviewList); + + if (tablist) { + tablist.setAttrs({ + //'aria-labelledby': + role: 'tablist' + }); + } + }, + + bindUI: function() { + // Use the Node Focus Manager to add keyboard support: + // Pressing the left and right arrow keys will move focus + // among each of the tabs. + + this.get('contentBox').plug(Y.Plugin.NodeFocusManager, { + descendants: DOT + _classNames.tabLabel, + keys: { next: 'down:39', // Right arrow + previous: 'down:37' }, // Left arrow + circular: true + }); + + this.after('render', this._setDefSelection); + this.after('addChild', this._afterChildAdded); + this.after('removeChild', this._afterChildRemoved); + }, + + renderUI: function() { + var contentBox = this.get('contentBox'); + this._renderListBox(contentBox); + this._renderPanelBox(contentBox); + this._childrenContainer = this.get('listNode'); + this._renderTabs(contentBox); + }, + + _setDefSelection: function(contentBox) { + // If no tab is selected, select the first tab. + var selection = this.get('selection') || this.item(0); + + this.some(function(tab) { + if (tab.get('selected')) { + selection = tab; + return true; + } + }); + if (selection) { + // TODO: why both needed? (via widgetParent/Child)? + this.set('selection', selection); + selection.set('selected', 1); + } + }, + + _renderListBox: function(contentBox) { + var node = this.get('listNode'); + if (!node.inDoc()) { + contentBox.append(node); + } + }, + + _renderPanelBox: function(contentBox) { + var node = this.get('panelNode'); + if (!node.inDoc()) { + contentBox.append(node); + } + }, + + _renderTabs: function(contentBox) { + var tabs = contentBox.all(_queries.tab), + panelNode = this.get('panelNode'), + panels = (panelNode) ? this.get('panelNode').get('children') : null, + tabview = this; + + if (tabs) { // add classNames and fill in Tab fields from markup when possible + tabs.addClass(_classNames.tab); + contentBox.all(_queries.tabLabel).addClass(_classNames.tabLabel); + contentBox.all(_queries.tabPanel).addClass(_classNames.tabPanel); + + tabs.each(function(node, i) { + var panelNode = (panels) ? panels.item(i) : null; + tabview.add({ + boundingBox: node, + contentBox: node.one(DOT + _classNames.tabLabel), + label: node.one(DOT + _classNames.tabLabel).get('text'), + panelNode: panelNode + }); + }); + } + } +}, { + + LIST_TEMPLATE: '
        ', + PANEL_TEMPLATE: '
        ', + + ATTRS: { + defaultChildType: { + value: 'Tab' + }, + + listNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabviewList); + } + return node; + }, + + valueFn: '_defListNodeValueFn' + }, + + panelNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabviewPanel); + } + return node; + }, + + valueFn: '_defPanelNodeValueFn' + }, + + tabIndex: { + value: null + //validator: '_validTabIndex' + } + }, + + HTML_PARSER: { + listNode: _queries.tabviewList, + panelNode: _queries.tabviewPanel + } +}); + +Y.TabView = TabView; +var Lang = Y.Lang, + _queries = Y.TabviewBase._queries, + _classNames = Y.TabviewBase._classNames, + getClassName = Y.ClassNameManager.getClassName; + +/** + * Provides Tab instances for use with TabView + * @param config {Object} Object literal specifying tabview configuration properties. + * + * @class Tab + * @constructor + * @extends Widget + * @uses WidgetChild + */ +Y.Tab = Y.Base.create('tab', Y.Widget, [Y.WidgetChild], { + BOUNDING_TEMPLATE: '
      • ', + CONTENT_TEMPLATE: '', + PANEL_TEMPLATE: '
        ', + + _uiSetSelectedPanel: function(selected) { + this.get('panelNode').toggleClass(_classNames.selectedPanel, selected); + }, + + _afterTabSelectedChange: function(event) { + this._uiSetSelectedPanel(event.newVal); + }, + + _afterParentChange: function(e) { + if (!e.newVal) { + this._remove(); + } else { + this._add(); + } + }, + + _initAria: function() { + var anchor = this.get('contentBox'), + id = anchor.get('id'), + panel = this.get('panelNode'); + + if (!id) { + id = Y.guid(); + anchor.set('id', id); + } + // Apply the ARIA roles, states and properties to each tab + anchor.set('role', 'tab'); + anchor.get('parentNode').set('role', 'presentation'); + + + // Apply the ARIA roles, states and properties to each panel + panel.setAttrs({ + role: 'tabpanel', + 'aria-labelledby': id + }); + }, + + syncUI: function() { + this.set('label', this.get('label')); + this.set('content', this.get('content')); + this._uiSetSelectedPanel(this.get('selected')); + }, + + bindUI: function() { + this.after('selectedChange', this._afterTabSelectedChange); + this.after('parentChange', this._afterParentChange); + }, + + renderUI: function() { + this._renderPanel(); + this._initAria(); + }, + + _renderPanel: function() { + this.get('parent').get('panelNode') + .appendChild(this.get('panelNode')); + }, + + _add: function() { + var parent = this.get('parent').get('contentBox'), + list = parent.get('listNode'), + panel = parent.get('panelNode'); + + if (list) { + list.appendChild(this.get('boundingBox')); + } + + if (panel) { + panel.appendChild(this.get('panelNode')); + } + }, + + _remove: function() { + this.get('boundingBox').remove(); + this.get('panelNode').remove(); + }, + + _onActivate: function(e) { + if (e.target === this) { + // Prevent the browser from navigating to the URL specified by the + // anchor's href attribute. + e.domEvent.preventDefault(); + e.target.set('selected', 1); + } + }, + + initializer: function() { + this.publish(this.get('triggerEvent'), { + defaultFn: this._onActivate + }); + }, + + _defLabelSetter: function(label) { + this.get('contentBox').setContent(label); + return label; + }, + + _defContentSetter: function(content) { + this.get('panelNode').setContent(content); + return content; + }, + + _defContentGetter: function(content) { + return this.get('panelNode').getContent(); + }, + + // find panel by ID mapping from label href + _defPanelNodeValueFn: function() { + var href = this.get('contentBox').get('href') || '', + parent = this.get('parent'), + hashIndex = href.indexOf('#'), + panel; + + href = href.substr(hashIndex); + + if (href.charAt(0) === '#') { // in-page nav, find by ID + panel = Y.one(href); + if (panel) { + panel.addClass(_classNames.tabPanel); + } + } + + // use the one found by id, or else try matching indices + if (!panel && parent) { + panel = parent.get('panelNode') + .get('children').item(this.get('index')); + } + + if (!panel) { // create if none found + panel = Y.Node.create(this.PANEL_TEMPLATE); + } + return panel; + } +}, { + ATTRS: { + /** + * @attribute triggerEvent + * @default "click" + * @type String + */ + triggerEvent: { + value: 'click' + }, + + /** + * @attribute label + * @type HTML + */ + label: { + setter: '_defLabelSetter', + validator: Lang.isString + }, + + /** + * @attribute content + * @type HTML + */ + content: { + setter: '_defContentSetter', + getter: '_defContentGetter' + }, + + /** + * @attribute panelNode + * @type Y.Node + */ + panelNode: { + setter: function(node) { + node = Y.one(node); + if (node) { + node.addClass(_classNames.tabPanel); + } + return node; + }, + valueFn: '_defPanelNodeValueFn' + }, + + tabIndex: { + value: null, + validator: '_validTabIndex' + } + + }, + + HTML_PARSER: { + selected: function(contentBox) { + var ret = (this.get('boundingBox').hasClass(_classNames.selectedTab)) ? + 1 : 0; + return ret; + } + } + +}); + + +}, '3.6.0pr3' ,{requires:['node-pluginhost', 'node-focusmanager', 'tabview-base', 'widget', 'widget-parent', 'widget-child']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console-skin.css new file mode 100644 index 000000000..2fa90558f --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console-skin.css @@ -0,0 +1,64 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/* Reset base Console skin styles */ +.yui3-skin-sam .yui3-testconsole .yui3-console-content, +.yui3-skin-sam .yui3-testconsole .yui3-console-bd, +.yui3-skin-sam .yui3-testconsole .yui3-console-entry, +.yui3-skin-sam .yui3-testconsole .yui3-console-ft, +.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-categories, +.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-sources, +.yui3-skin-sam .yui3-testconsole .yui3-console-hd { + background: none; + border: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; +} + +.yui3-skin-sam .yui3-testconsole-content, +.yui3-skin-sam .yui3-testconsole .yui3-console-bd { + color: #333; + font: 13px/1.4 Helvetica, 'DejaVu Sans', 'Bitstream Vera Sans', Arial, sans-serif; +} + +.yui3-skin-sam .yui3-testconsole-content { + border: 1px solid #afafaf; +} + +.yui3-skin-sam .yui3-testconsole .yui3-console-entry { + border-bottom: 1px solid #eaeaea; + font-family: Menlo, Inconsolata, Consolas, 'DejaVu Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 11px; +} + +.yui3-skin-sam .yui3-testconsole .yui3-console-ft { + border-top: 1px solid; +} + +.yui3-skin-sam .yui3-testconsole .yui3-console-hd { + border-bottom: 1px solid; + *zoom: 1; +} + +.yui3-skin-sam .yui3-testconsole.yui3-console-collapsed .yui3-console-hd { + border: none; +} + +.yui3-skin-sam .yui3-testconsole .yui3-console-ft, +.yui3-skin-sam .yui3-testconsole .yui3-console-hd { + border-color: #cfcfcf; +} + +.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-fail { + background-color: #FFE0E0; + border-bottom-color: #FFC5C4; +} + +.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-pass { + background-color: #ECFFEA; + border-bottom-color: #D1FFCC; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console.css new file mode 100644 index 000000000..c26f034b1 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/skins/sam/test-console.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-testconsole .yui3-console-entry{min-height:inherit;padding:5px}.yui3-testconsole .yui3-console-controls{display:none}.yui3-skin-sam .yui3-testconsole .yui3-console-content,.yui3-skin-sam .yui3-testconsole .yui3-console-bd,.yui3-skin-sam .yui3-testconsole .yui3-console-entry,.yui3-skin-sam .yui3-testconsole .yui3-console-ft,.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-categories,.yui3-skin-sam .yui3-testconsole .yui3-console-ft .yui3-console-filters-sources,.yui3-skin-sam .yui3-testconsole .yui3-console-hd{background:0;border:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.yui3-skin-sam .yui3-testconsole-content,.yui3-skin-sam .yui3-testconsole .yui3-console-bd{color:#333;font:13px/1.4 Helvetica,'DejaVu Sans','Bitstream Vera Sans',Arial,sans-serif}.yui3-skin-sam .yui3-testconsole-content{border:1px solid #afafaf}.yui3-skin-sam .yui3-testconsole .yui3-console-entry{border-bottom:1px solid #eaeaea;font-family:Menlo,Inconsolata,Consolas,'DejaVu Mono','Bitstream Vera Sans Mono',monospace;font-size:11px}.yui3-skin-sam .yui3-testconsole .yui3-console-ft{border-top:1px solid}.yui3-skin-sam .yui3-testconsole .yui3-console-hd{border-bottom:1px solid;*zoom:1}.yui3-skin-sam .yui3-testconsole.yui3-console-collapsed .yui3-console-hd{border:0}.yui3-skin-sam .yui3-testconsole .yui3-console-ft,.yui3-skin-sam .yui3-testconsole .yui3-console-hd{border-color:#cfcfcf}.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-fail{background-color:#ffe0e0;border-bottom-color:#ffc5c4}.yui3-skin-sam .yui3-testconsole .yui3-testconsole-entry-pass{background-color:#ecffea;border-bottom-color:#d1ffcc}#yui3-css-stamp.skin-sam-test-console{display:none} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/test-console-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/test-console-core.css new file mode 100644 index 000000000..80f577b40 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/assets/test-console-core.css @@ -0,0 +1,14 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-testconsole .yui3-console-entry { + min-height: inherit; + padding: 5px; +} + +.yui3-testconsole .yui3-console-controls { + display: none; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/debug.js new file mode 100644 index 000000000..5c5b58a1f --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("test-console"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/index.js new file mode 100644 index 000000000..3994416fe --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("test-console"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-debug.js new file mode 100644 index 000000000..23cf73068 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-debug.js @@ -0,0 +1,104 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('test-console', function(Y) { + +/** +Provides a specialized log console widget that's pre-configured to display YUI +Test output with no extra configuration. + +@example + +
        + + + +@module test-console +@namespace Test +@class Console +@extends Console +@constructor + +@param {Object} [config] Config attributes. + @param {Object} [config.filters] Category filter configuration. + +@since 3.5.0 +**/ + +function TestConsole() { + TestConsole.superclass.constructor.apply(this, arguments); +} + +Y.namespace('Test').Console = Y.extend(TestConsole, Y.Console, { + initializer: function (config) { + this.on('entry', this._onEntry); + + this.plug(Y.Plugin.ConsoleFilters, { + category: Y.merge({ + info : true, + pass : false, + fail : true, + status: false + }, (config && config.filters) || {}), + + defaultVisibility: false, + + source: { + TestRunner: true + } + }); + }, + + // -- Protected Event Handlers --------------------------------------------- + _onEntry: function (e) { + var msg = e.message; + + if (msg.category === 'info' + && /\s(?:case|suite)\s|yuitests\d+|began/.test(msg.message)) { + msg.category = 'status'; + } else if (msg.category === 'fail') { + this.printBuffer(); + } + } +}, { + NAME: 'testConsole', + + ATTRS: { + entryTemplate: { + value: + '
        ' + + '
        {message}
        ' + + '
        ' + }, + + height: { + value: '350px' + }, + + newestOnTop: { + value: false + }, + + style: { + value: 'block' + }, + + width: { + value: Y.UA.ie && Y.UA.ie < 9 ? '100%' : 'inherit' + } + } +}); + + +}, '3.6.0pr3' ,{skinnable:true, requires:['console-filters', 'test']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-min.js new file mode 100644 index 000000000..d403f8176 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("test-console",function(b){function a(){a.superclass.constructor.apply(this,arguments);}b.namespace("Test").Console=b.extend(a,b.Console,{initializer:function(c){this.on("entry",this._onEntry);this.plug(b.Plugin.ConsoleFilters,{category:b.merge({info:true,pass:false,fail:true,status:false},(c&&c.filters)||{}),defaultVisibility:false,source:{TestRunner:true}});},_onEntry:function(c){var d=c.message;if(d.category==="info"&&/\s(?:case|suite)\s|yuitests\d+|began/.test(d.message)){d.category="status";}else{if(d.category==="fail"){this.printBuffer();}}}},{NAME:"testConsole",ATTRS:{entryTemplate:{value:'
        '+'
        {message}
        '+"
        "},height:{value:"350px"},newestOnTop:{value:false},style:{value:"block"},width:{value:b.UA.ie&&b.UA.ie<9?"100%":"inherit"}}});},"3.6.0pr3",{skinnable:true,requires:["console-filters","test"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console.js new file mode 100644 index 000000000..23cf73068 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test-console/test-console.js @@ -0,0 +1,104 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('test-console', function(Y) { + +/** +Provides a specialized log console widget that's pre-configured to display YUI +Test output with no extra configuration. + +@example + +
        + + + +@module test-console +@namespace Test +@class Console +@extends Console +@constructor + +@param {Object} [config] Config attributes. + @param {Object} [config.filters] Category filter configuration. + +@since 3.5.0 +**/ + +function TestConsole() { + TestConsole.superclass.constructor.apply(this, arguments); +} + +Y.namespace('Test').Console = Y.extend(TestConsole, Y.Console, { + initializer: function (config) { + this.on('entry', this._onEntry); + + this.plug(Y.Plugin.ConsoleFilters, { + category: Y.merge({ + info : true, + pass : false, + fail : true, + status: false + }, (config && config.filters) || {}), + + defaultVisibility: false, + + source: { + TestRunner: true + } + }); + }, + + // -- Protected Event Handlers --------------------------------------------- + _onEntry: function (e) { + var msg = e.message; + + if (msg.category === 'info' + && /\s(?:case|suite)\s|yuitests\d+|began/.test(msg.message)) { + msg.category = 'status'; + } else if (msg.category === 'fail') { + this.printBuffer(); + } + } +}, { + NAME: 'testConsole', + + ATTRS: { + entryTemplate: { + value: + '
        ' + + '
        {message}
        ' + + '
        ' + }, + + height: { + value: '350px' + }, + + newestOnTop: { + value: false + }, + + style: { + value: 'block' + }, + + width: { + value: Y.UA.ie && Y.UA.ie < 9 ? '100%' : 'inherit' + } + } +}); + + +}, '3.6.0pr3' ,{skinnable:true, requires:['console-filters', 'test']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test-skin.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test-skin.css new file mode 100644 index 000000000..459323f88 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test-skin.css @@ -0,0 +1,19 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-skin-sam .yui3-console-entry-pass .yui3-console-entry-cat { + background-color: green; + color: #fff; +} + +.yui3-skin-sam .yui3-console-entry-fail .yui3-console-entry-cat { + background-color: red; + color: #fff; +} + +.yui3-skin-sam .yui3-console-entry-ignore .yui3-console-entry-cat { + background-color: #666; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test.css new file mode 100644 index 000000000..a181838be --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/skins/sam/test.css @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-skin-sam .yui3-console-entry-pass .yui3-console-entry-cat{background-color:green;color:#fff;}.yui3-skin-sam .yui3-console-entry-fail .yui3-console-entry-cat{background-color:red;color:#fff;}.yui3-skin-sam .yui3-console-entry-ignore .yui3-console-entry-cat{background-color:#666;} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/test-console.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/test-console.css new file mode 100644 index 000000000..6e4a4cd81 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/assets/test-console.css @@ -0,0 +1,17 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-skin-sam .yui3-console-entry-pass .yui3-console-entry-cat { + background-color: green; +} + +.yui3-skin-sam .yui3-console-entry-fail .yui3-console-entry-cat { + background-color: red; +} + +.yui3-skin-sam .yui3-console-entry-ignore .yui3-console-entry-cat { + background-color: #666; +} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/debug.js new file mode 100644 index 000000000..2e277d131 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("test"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/index.js new file mode 100644 index 000000000..1dc2be41e --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("test"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/test-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/test-debug.js new file mode 100644 index 000000000..3de100068 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/test/test-debug.js @@ -0,0 +1,3745 @@ +YUI.add('test', function(Y) { + + + +/** + * YUI Test Framework + * @module test + * @main test + */ + +/* + * The root namespace for YUI Test. + */ + +//So we only ever have one YUITest object that's shared +if (YUI.YUITest) { + Y.Test = YUI.YUITest; +} else { //Ends after the YUITest definitions + + //Make this global for back compat + YUITest = { + version: "3.6.0pr3" + }; + +Y.namespace('Test'); + + +//Using internal YUI methods here +YUITest.Object = Y.Object; +YUITest.Array = Y.Array; +YUITest.Util = { + mix: Y.mix, + JSON: Y.JSON +}; + +/** + * Simple custom event implementation. + * @namespace Test + * @module test + * @class EventTarget + * @constructor + */ +YUITest.EventTarget = function(){ + + /** + * Event handlers for the various events. + * @type Object + * @private + * @property _handlers + * @static + */ + this._handlers = {}; + +}; + +YUITest.EventTarget.prototype = { + + //restore prototype + constructor: YUITest.EventTarget, + + //------------------------------------------------------------------------- + // Event Handling + //------------------------------------------------------------------------- + + /** + * Adds a listener for a given event type. + * @param {String} type The type of event to add a listener for. + * @param {Function} listener The function to call when the event occurs. + * @return {void} + * @method attach + */ + attach: function(type, listener){ + if (typeof this._handlers[type] == "undefined"){ + this._handlers[type] = []; + } + + this._handlers[type].push(listener); + }, + + /** + * Adds a listener for a given event type. + * @param {String} type The type of event to add a listener for. + * @param {Function} listener The function to call when the event occurs. + * @return {void} + * @method subscribe + * @deprecated + */ + subscribe: function(type, listener){ + this.attach.apply(this, arguments); + }, + + /** + * Fires an event based on the passed-in object. + * @param {Object|String} event An object with at least a 'type' attribute + * or a string indicating the event name. + * @return {void} + * @method fire + */ + fire: function(event){ + if (typeof event == "string"){ + event = { type: event }; + } + if (!event.target){ + event.target = this; + } + + if (!event.type){ + throw new Error("Event object missing 'type' property."); + } + + if (this._handlers[event.type] instanceof Array){ + var handlers = this._handlers[event.type]; + for (var i=0, len=handlers.length; i < len; i++){ + handlers[i].call(this, event); + } + } + }, + + /** + * Removes a listener for a given event type. + * @param {String} type The type of event to remove a listener from. + * @param {Function} listener The function to remove from the event. + * @return {void} + * @method detach + */ + detach: function(type, listener){ + if (this._handlers[type] instanceof Array){ + var handlers = this._handlers[type]; + for (var i=0, len=handlers.length; i < len; i++){ + if (handlers[i] === listener){ + handlers.splice(i, 1); + break; + } + } + } + }, + + /** + * Removes a listener for a given event type. + * @param {String} type The type of event to remove a listener from. + * @param {Function} listener The function to remove from the event. + * @return {void} + * @method unsubscribe + * @deprecated + */ + unsubscribe: function(type, listener){ + this.detach.apply(this, arguments); + } + +}; + + +/** + * A test suite that can contain a collection of TestCase and TestSuite objects. + * @param {String||Object} data The name of the test suite or an object containing + * a name property as well as setUp and tearDown methods. + * @namespace Test + * @module test + * @class TestSuite + * @constructor + */ +YUITest.TestSuite = function (data) { + + /** + * The name of the test suite. + * @type String + * @property name + */ + this.name = ""; + + /** + * Array of test suites and test cases. + * @type Array + * @property items + * @private + */ + this.items = []; + + //initialize the properties + if (typeof data == "string"){ + this.name = data; + } else if (data instanceof Object){ + for (var prop in data){ + if (data.hasOwnProperty(prop)){ + this[prop] = data[prop]; + } + } + } + + //double-check name + if (this.name === ""){ + this.name = "testSuite" + (+new Date()); + } + +}; + +YUITest.TestSuite.prototype = { + + //restore constructor + constructor: YUITest.TestSuite, + + /** + * Adds a test suite or test case to the test suite. + * @param {Test.TestSuite||YUITest.TestCase} testObject The test suite or test case to add. + * @return {Void} + * @method add + */ + add : function (testObject) { + if (testObject instanceof YUITest.TestSuite || testObject instanceof YUITest.TestCase) { + this.items.push(testObject); + } + return this; + }, + + //------------------------------------------------------------------------- + // Stub Methods + //------------------------------------------------------------------------- + + /** + * Function to run before each test is executed. + * @return {Void} + * @method setUp + */ + setUp : function () { + }, + + /** + * Function to run after each test is executed. + * @return {Void} + * @method tearDown + */ + tearDown: function () { + } + +}; +/** + * Test case containing various tests to run. + * @param template An object containing any number of test methods, other methods, + * an optional name, and anything else the test case needs. + * @module test + * @class TestCase + * @namespace Test + * @constructor + */ +YUITest.TestCase = function (template) { + + /* + * Special rules for the test case. Possible subobjects + * are fail, for tests that should fail, and error, for + * tests that should throw an error. + */ + this._should = {}; + + //copy over all properties from the template to this object + for (var prop in template) { + this[prop] = template[prop]; + } + + //check for a valid name + if (typeof this.name != "string"){ + this.name = "testCase" + (+new Date()); + } + +}; + +YUITest.TestCase.prototype = { + + //restore constructor + constructor: YUITest.TestCase, + + /** + * Method to call from an async init method to + * restart the test case. When called, returns a function + * that should be called when tests are ready to continue. + * @method callback + * @return {Function} The function to call as a callback. + */ + callback: function(){ + return YUITest.TestRunner.callback.apply(YUITest.TestRunner,arguments); + }, + + /** + * Resumes a paused test and runs the given function. + * @param {Function} segment (Optional) The function to run. + * If omitted, the test automatically passes. + * @return {Void} + * @method resume + */ + resume : function (segment) { + YUITest.TestRunner.resume(segment); + }, + + /** + * Causes the test case to wait a specified amount of time and then + * continue executing the given code. + * @param {Function} segment (Optional) The function to run after the delay. + * If omitted, the TestRunner will wait until resume() is called. + * @param {int} delay (Optional) The number of milliseconds to wait before running + * the function. If omitted, defaults to zero. + * @return {Void} + * @method wait + */ + wait : function (segment, delay){ + + var actualDelay = (typeof segment == "number" ? segment : delay); + actualDelay = (typeof actualDelay == "number" ? actualDelay : 10000); + + if (typeof segment == "function"){ + throw new YUITest.Wait(segment, actualDelay); + } else { + throw new YUITest.Wait(function(){ + YUITest.Assert.fail("Timeout: wait() called but resume() never called."); + }, actualDelay); + } + }, + + //------------------------------------------------------------------------- + // Assertion Methods + //------------------------------------------------------------------------- + + /** + * Asserts that a given condition is true. If not, then a YUITest.AssertionError object is thrown + * and the test fails. + * @method assert + * @param {Boolean} condition The condition to test. + * @param {String} message The message to display if the assertion fails. + */ + assert : function (condition, message){ + YUITest.Assert._increment(); + if (!condition){ + throw new YUITest.AssertionError(YUITest.Assert._formatMessage(message, "Assertion failed.")); + } + }, + + /** + * Forces an assertion error to occur. Shortcut for YUITest.Assert.fail(). + * @method fail + * @param {String} message (Optional) The message to display with the failure. + */ + fail: function (message) { + YUITest.Assert.fail(message); + }, + + //------------------------------------------------------------------------- + // Stub Methods + //------------------------------------------------------------------------- + + /** + * Function to run once before tests start to run. + * This executes before the first call to setUp(). + * @method init + */ + init: function(){ + //noop + }, + + /** + * Function to run once after tests finish running. + * This executes after the last call to tearDown(). + * @method destroy + */ + destroy: function(){ + //noop + }, + + /** + * Function to run before each test is executed. + * @return {Void} + * @method setUp + */ + setUp : function () { + //noop + }, + + /** + * Function to run after each test is executed. + * @return {Void} + * @method tearDown + */ + tearDown: function () { + //noop + } +}; +/** + * An object object containing test result formatting methods. + * @namespace Test + * @module test + * @class TestFormat + * @static + */ +YUITest.TestFormat = function(){ + + /* (intentionally not documented) + * Basic XML escaping method. Replaces quotes, less-than, greater-than, + * apostrophe, and ampersand characters with their corresponding entities. + * @param {String} text The text to encode. + * @return {String} The XML-escaped text. + */ + function xmlEscape(text){ + + return text.replace(/[<>"'&]/g, function(value){ + switch(value){ + case "<": return "<"; + case ">": return ">"; + case "\"": return """; + case "'": return "'"; + case "&": return "&"; + } + }); + + } + + + return { + + /** + * Returns test results formatted as a JSON string. Requires JSON utility. + * @param {Object} result The results object created by TestRunner. + * @return {String} A JSON-formatted string of results. + * @method JSON + * @static + */ + JSON: function(results) { + return YUITest.Util.JSON.stringify(results); + }, + + /** + * Returns test results formatted as an XML string. + * @param {Object} result The results object created by TestRunner. + * @return {String} An XML-formatted string of results. + * @method XML + * @static + */ + XML: function(results) { + + function serializeToXML(results){ + var xml = "<" + results.type + " name=\"" + xmlEscape(results.name) + "\""; + + if (typeof(results.duration)=="number"){ + xml += " duration=\"" + results.duration + "\""; + } + + if (results.type == "test"){ + xml += " result=\"" + results.result + "\" message=\"" + xmlEscape(results.message) + "\">"; + } else { + xml += " passed=\"" + results.passed + "\" failed=\"" + results.failed + "\" ignored=\"" + results.ignored + "\" total=\"" + results.total + "\">"; + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + xml += serializeToXML(results[prop]); + } + } + } + } + + xml += ""; + + return xml; + } + + return "" + serializeToXML(results); + + }, + + + /** + * Returns test results formatted in JUnit XML format. + * @param {Object} result The results object created by TestRunner. + * @return {String} An XML-formatted string of results. + * @method JUnitXML + * @static + */ + JUnitXML: function(results) { + + function serializeToJUnitXML(results){ + var xml = ""; + + switch (results.type){ + //equivalent to testcase in JUnit + case "test": + if (results.result != "ignore"){ + xml = ""; + if (results.result == "fail"){ + xml += ""; + } + xml+= ""; + } + break; + + //equivalent to testsuite in JUnit + case "testcase": + + xml = ""; + + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + xml += serializeToJUnitXML(results[prop]); + } + } + } + + xml += ""; + break; + + //no JUnit equivalent, don't output anything + case "testsuite": + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + xml += serializeToJUnitXML(results[prop]); + } + } + } + break; + + //top-level, equivalent to testsuites in JUnit + case "report": + + xml = ""; + + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + xml += serializeToJUnitXML(results[prop]); + } + } + } + + xml += ""; + + //no default + } + + return xml; + + } + + return "" + serializeToJUnitXML(results); + }, + + /** + * Returns test results formatted in TAP format. + * For more information, see Test Anything Protocol. + * @param {Object} result The results object created by TestRunner. + * @return {String} A TAP-formatted string of results. + * @method TAP + * @static + */ + TAP: function(results) { + + var currentTestNum = 1; + + function serializeToTAP(results){ + var text = ""; + + switch (results.type){ + + case "test": + if (results.result != "ignore"){ + + text = "ok " + (currentTestNum++) + " - " + results.name; + + if (results.result == "fail"){ + text = "not " + text + " - " + results.message; + } + + text += "\n"; + } else { + text = "#Ignored test " + results.name + "\n"; + } + break; + + case "testcase": + + text = "#Begin testcase " + results.name + "(" + results.failed + " failed of " + results.total + ")\n"; + + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + text += serializeToTAP(results[prop]); + } + } + } + + text += "#End testcase " + results.name + "\n"; + + + break; + + case "testsuite": + + text = "#Begin testsuite " + results.name + "(" + results.failed + " failed of " + results.total + ")\n"; + + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + text += serializeToTAP(results[prop]); + } + } + } + + text += "#End testsuite " + results.name + "\n"; + break; + + case "report": + + for (var prop in results){ + if (results.hasOwnProperty(prop)){ + if (results[prop] && typeof results[prop] == "object" && !(results[prop] instanceof Array)){ + text += serializeToTAP(results[prop]); + } + } + } + + //no default + } + + return text; + + } + + return "1.." + results.total + "\n" + serializeToTAP(results); + } + + }; +}(); + + /** + * An object capable of sending test results to a server. + * @param {String} url The URL to submit the results to. + * @param {Function} format (Optiona) A function that outputs the results in a specific format. + * Default is YUITest.TestFormat.XML. + * @constructor + * @namespace Test + * @module test + * @class Reporter + */ + YUITest.Reporter = function(url, format) { + + /** + * The URL to submit the data to. + * @type String + * @property url + */ + this.url = url; + + /** + * The formatting function to call when submitting the data. + * @type Function + * @property format + */ + this.format = format || YUITest.TestFormat.XML; + + /** + * Extra fields to submit with the request. + * @type Object + * @property _fields + * @private + */ + this._fields = new Object(); + + /** + * The form element used to submit the results. + * @type HTMLFormElement + * @property _form + * @private + */ + this._form = null; + + /** + * Iframe used as a target for form submission. + * @type HTMLIFrameElement + * @property _iframe + * @private + */ + this._iframe = null; + }; + + YUITest.Reporter.prototype = { + + //restore missing constructor + constructor: YUITest.Reporter, + + /** + * Adds a field to the form that submits the results. + * @param {String} name The name of the field. + * @param {Variant} value The value of the field. + * @return {Void} + * @method addField + */ + addField : function (name, value){ + this._fields[name] = value; + }, + + /** + * Removes all previous defined fields. + * @return {Void} + * @method clearFields + */ + clearFields : function(){ + this._fields = new Object(); + }, + + /** + * Cleans up the memory associated with the TestReporter, removing DOM elements + * that were created. + * @return {Void} + * @method destroy + */ + destroy : function() { + if (this._form){ + this._form.parentNode.removeChild(this._form); + this._form = null; + } + if (this._iframe){ + this._iframe.parentNode.removeChild(this._iframe); + this._iframe = null; + } + this._fields = null; + }, + + /** + * Sends the report to the server. + * @param {Object} results The results object created by TestRunner. + * @return {Void} + * @method report + */ + report : function(results){ + + //if the form hasn't been created yet, create it + if (!this._form){ + this._form = document.createElement("form"); + this._form.method = "post"; + this._form.style.visibility = "hidden"; + this._form.style.position = "absolute"; + this._form.style.top = 0; + document.body.appendChild(this._form); + + //IE won't let you assign a name using the DOM, must do it the hacky way + try { + this._iframe = document.createElement("'; + + Stack.prototype = { + + /** + * Synchronizes the UI to match the Widgets stack state. This method in + * invoked after syncUI is invoked for the Widget class using YUI's aop infrastructure. + * + * @method _syncUIStack + * @protected + */ + _syncUIStack: function() { + this._uiSetShim(this.get(SHIM)); + this._uiSetZIndex(this.get(ZINDEX)); + }, + + /** + * Binds event listeners responsible for updating the UI state in response to + * Widget stack related state changes. + *

        + * This method is invoked after bindUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _bindUIStack + * @protected + */ + _bindUIStack: function() { + this.after(ShimChange, this._afterShimChange); + this.after(ZIndexChange, this._afterZIndexChange); + }, + + /** + * Creates/Initializes the DOM to support stackability. + *

        + * This method in invoked after renderUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _renderUIStack + * @protected + */ + _renderUIStack: function() { + this._stackNode.addClass(Stack.STACKED_CLASS_NAME); + }, + + /** + Parses a `zIndex` attribute value from this widget's `srcNode`. + + @method _parseZIndex + @param {Node} srcNode The node to parse a `zIndex` value from. + @return {Mixed} The parsed `zIndex` value. + @protected + **/ + _parseZIndex: function (srcNode) { + var zIndex; + + // Prefers how WebKit handles `z-index` which better matches the + // spec: + // + // * http://www.w3.org/TR/CSS2/visuren.html#z-index + // * https://bugs.webkit.org/show_bug.cgi?id=15562 + // + // When a node isn't rendered in the document, and/or when a + // node is not positioned, then it doesn't have a context to derive + // a valid `z-index` value from. + if (!srcNode.inDoc() || srcNode.getStyle('position') === 'static') { + zIndex = 'auto'; + } else { + // Uses `getComputedStyle()` because it has greater accuracy in + // more browsers than `getStyle()` does for `z-index`. + zIndex = srcNode.getComputedStyle('zIndex'); + } + + // This extension adds a stacking context to widgets, therefore a + // `srcNode` witout a stacking context (i.e. "auto") will return + // `null` from this DOM parser. This way the widget's default or + // user provided value for `zIndex` will be used. + return zIndex === 'auto' ? null : zIndex; + }, + + /** + * Default setter for zIndex attribute changes. Normalizes zIndex values to + * numbers, converting non-numerical values to 0. + * + * @method _setZIndex + * @protected + * @param {String | Number} zIndex + * @return {Number} Normalized zIndex + */ + _setZIndex: function(zIndex) { + if (L.isString(zIndex)) { + zIndex = parseInt(zIndex, 10); + } + if (!L.isNumber(zIndex)) { + zIndex = 0; + } + return zIndex; + }, + + /** + * Default attribute change listener for the shim attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterShimChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterShimChange : function(e) { + this._uiSetShim(e.newVal); + }, + + /** + * Default attribute change listener for the zIndex attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterZIndexChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterZIndexChange : function(e) { + this._uiSetZIndex(e.newVal); + }, + + /** + * Updates the UI to reflect the zIndex value passed in. + * + * @method _uiSetZIndex + * @protected + * @param {number} zIndex The zindex to be reflected in the UI + */ + _uiSetZIndex: function (zIndex) { + this._stackNode.setStyle(ZINDEX, zIndex); + }, + + /** + * Updates the UI to enable/disable the shim. If the widget is not currently visible, + * creation of the shim is deferred until it is made visible, for performance reasons. + * + * @method _uiSetShim + * @protected + * @param {boolean} enable If true, creates/renders the shim, if false, removes it. + */ + _uiSetShim: function (enable) { + if (enable) { + // Lazy creation + if (this.get(VISIBLE)) { + this._renderShim(); + } else { + this._renderShimDeferred(); + } + + // Eagerly attach resize handlers + // + // Required because of Event stack behavior, commit ref: cd8dddc + // Should be revisted after Ticket #2531067 is resolved. + if (UA.ie == 6) { + this._addShimResizeHandlers(); + } + } else { + this._destroyShim(); + } + }, + + /** + * Sets up change handlers for the visible attribute, to defer shim creation/rendering + * until the Widget is made visible. + * + * @method _renderShimDeferred + * @private + */ + _renderShimDeferred : function() { + + this._stackHandles[SHIM_DEFERRED] = this._stackHandles[SHIM_DEFERRED] || []; + + var handles = this._stackHandles[SHIM_DEFERRED], + createBeforeVisible = function(e) { + if (e.newVal) { + this._renderShim(); + } + }; + + handles.push(this.on(VisibleChange, createBeforeVisible)); + // Depending how how Ticket #2531067 is resolved, a reversal of + // commit ref: cd8dddc could lead to a more elagent solution, with + // the addition of this line here: + // + // handles.push(this.after(VisibleChange, this.sizeShim)); + }, + + /** + * Sets up event listeners to resize the shim when the size of the Widget changes. + *

        + * NOTE: This method is only used for IE6 currently, since IE6 doesn't support a way to + * resize the shim purely through CSS, when the Widget does not have an explicit width/height + * set. + *

        + * @method _addShimResizeHandlers + * @private + */ + _addShimResizeHandlers : function() { + + this._stackHandles[SHIM_RESIZE] = this._stackHandles[SHIM_RESIZE] || []; + + var sizeShim = this.sizeShim, + handles = this._stackHandles[SHIM_RESIZE]; + + handles.push(this.after(VisibleChange, sizeShim)); + handles.push(this.after(WidthChange, sizeShim)); + handles.push(this.after(HeightChange, sizeShim)); + handles.push(this.after(ContentUpdate, sizeShim)); + }, + + /** + * Detaches any handles stored for the provided key + * + * @method _detachStackHandles + * @param String handleKey The key defining the group of handles which should be detached + * @private + */ + _detachStackHandles : function(handleKey) { + var handles = this._stackHandles[handleKey], + handle; + + if (handles && handles.length > 0) { + while((handle = handles.pop())) { + handle.detach(); + } + } + }, + + /** + * Creates the shim element and adds it to the DOM + * + * @method _renderShim + * @private + */ + _renderShim : function() { + var shimEl = this._shimNode, + stackEl = this._stackNode; + + if (!shimEl) { + shimEl = this._shimNode = this._getShimTemplate(); + stackEl.insertBefore(shimEl, stackEl.get(FIRST_CHILD)); + + this._detachStackHandles(SHIM_DEFERRED); + this.sizeShim(); + } + }, + + /** + * Removes the shim from the DOM, and detaches any related event + * listeners. + * + * @method _destroyShim + * @private + */ + _destroyShim : function() { + if (this._shimNode) { + this._shimNode.get(PARENT_NODE).removeChild(this._shimNode); + this._shimNode = null; + + this._detachStackHandles(SHIM_DEFERRED); + this._detachStackHandles(SHIM_RESIZE); + } + }, + + /** + * For IE6, synchronizes the size and position of iframe shim to that of + * Widget bounding box which it is protecting. For all other browsers, + * this method does not do anything. + * + * @method sizeShim + */ + sizeShim: function () { + var shim = this._shimNode, + node = this._stackNode; + + if (shim && UA.ie === 6 && this.get(VISIBLE)) { + shim.setStyle(WIDTH, node.get(OFFSET_WIDTH) + PX); + shim.setStyle(HEIGHT, node.get(OFFSET_HEIGHT) + PX); + } + }, + + /** + * Creates a cloned shim node, using the SHIM_TEMPLATE html template, for use on a new instance. + * + * @method _getShimTemplate + * @private + * @return {Node} node A new shim Node instance. + */ + _getShimTemplate : function() { + return Node.create(Stack.SHIM_TEMPLATE, this._stackNode.get(OWNER_DOCUMENT)); + } + }; + + Y.WidgetStack = Stack; + + +}, '3.6.0pr3' ,{requires:['base-build', 'widget']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack-min.js new file mode 100644 index 000000000..a3021a6ce --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("widget-stack",function(e){var m=e.Lang,s=e.UA,B=e.Node,f=e.Widget,A="zIndex",o="shim",y="visible",C="boundingBox",v="renderUI",g="bindUI",r="syncUI",p="offsetWidth",d="offsetHeight",l="parentNode",a="firstChild",w="ownerDocument",h="width",u="height",k="px",n="shimdeferred",D="shimresize",x="visibleChange",c="widthChange",j="heightChange",z="shimChange",b="zIndexChange",i="contentUpdate",q="stacked";function t(E){this._stackNode=this.get(C);this._stackHandles={};e.after(this._renderUIStack,this,v);e.after(this._syncUIStack,this,r);e.after(this._bindUIStack,this,g);}t.ATTRS={shim:{value:(s.ie==6)},zIndex:{value:0,setter:"_setZIndex"}};t.HTML_PARSER={zIndex:function(E){return this._parseZIndex(E);}};t.SHIM_CLASS_NAME=f.getClassName(o);t.STACKED_CLASS_NAME=f.getClassName(q);t.SHIM_TEMPLATE='';t.prototype={_syncUIStack:function(){this._uiSetShim(this.get(o));this._uiSetZIndex(this.get(A));},_bindUIStack:function(){this.after(z,this._afterShimChange);this.after(b,this._afterZIndexChange);},_renderUIStack:function(){this._stackNode.addClass(t.STACKED_CLASS_NAME);},_parseZIndex:function(E){var F;if(!E.inDoc()||E.getStyle("position")==="static"){F="auto";}else{F=E.getComputedStyle("zIndex");}return F==="auto"?null:F;},_setZIndex:function(E){if(m.isString(E)){E=parseInt(E,10);}if(!m.isNumber(E)){E=0;}return E;},_afterShimChange:function(E){this._uiSetShim(E.newVal);},_afterZIndexChange:function(E){this._uiSetZIndex(E.newVal);},_uiSetZIndex:function(E){this._stackNode.setStyle(A,E);},_uiSetShim:function(E){if(E){if(this.get(y)){this._renderShim();}else{this._renderShimDeferred();}if(s.ie==6){this._addShimResizeHandlers();}}else{this._destroyShim();}},_renderShimDeferred:function(){this._stackHandles[n]=this._stackHandles[n]||[];var F=this._stackHandles[n],E=function(G){if(G.newVal){this._renderShim();}};F.push(this.on(x,E));},_addShimResizeHandlers:function(){this._stackHandles[D]=this._stackHandles[D]||[];var F=this.sizeShim,E=this._stackHandles[D];E.push(this.after(x,F));E.push(this.after(c,F));E.push(this.after(j,F));E.push(this.after(i,F));},_detachStackHandles:function(E){var F=this._stackHandles[E],G;if(F&&F.length>0){while((G=F.pop())){G.detach();}}},_renderShim:function(){var E=this._shimNode,F=this._stackNode;if(!E){E=this._shimNode=this._getShimTemplate();F.insertBefore(E,F.get(a));this._detachStackHandles(n);this.sizeShim();}},_destroyShim:function(){if(this._shimNode){this._shimNode.get(l).removeChild(this._shimNode);this._shimNode=null;this._detachStackHandles(n);this._detachStackHandles(D);}},sizeShim:function(){var F=this._shimNode,E=this._stackNode;if(F&&s.ie===6&&this.get(y)){F.setStyle(h,E.get(p)+k);F.setStyle(u,E.get(d)+k);}},_getShimTemplate:function(){return B.create(t.SHIM_TEMPLATE,this._stackNode.get(w));}};e.WidgetStack=t;},"3.6.0pr3",{requires:["base-build","widget"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack.js new file mode 100644 index 000000000..6b3722b92 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stack/widget-stack.js @@ -0,0 +1,444 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('widget-stack', function(Y) { + +/** + * Provides stackable (z-index) support for Widgets through an extension. + * + * @module widget-stack + */ + var L = Y.Lang, + UA = Y.UA, + Node = Y.Node, + Widget = Y.Widget, + + ZINDEX = "zIndex", + SHIM = "shim", + VISIBLE = "visible", + + BOUNDING_BOX = "boundingBox", + + RENDER_UI = "renderUI", + BIND_UI = "bindUI", + SYNC_UI = "syncUI", + + OFFSET_WIDTH = "offsetWidth", + OFFSET_HEIGHT = "offsetHeight", + PARENT_NODE = "parentNode", + FIRST_CHILD = "firstChild", + OWNER_DOCUMENT = "ownerDocument", + + WIDTH = "width", + HEIGHT = "height", + PX = "px", + + // HANDLE KEYS + SHIM_DEFERRED = "shimdeferred", + SHIM_RESIZE = "shimresize", + + // Events + VisibleChange = "visibleChange", + WidthChange = "widthChange", + HeightChange = "heightChange", + ShimChange = "shimChange", + ZIndexChange = "zIndexChange", + ContentUpdate = "contentUpdate", + + // CSS + STACKED = "stacked"; + + /** + * Widget extension, which can be used to add stackable (z-index) support to the + * base Widget class along with a shimming solution, through the + * Base.build method. + * + * @class WidgetStack + * @param {Object} User configuration object + */ + function Stack(config) { + this._stackNode = this.get(BOUNDING_BOX); + this._stackHandles = {}; + + // WIDGET METHOD OVERLAP + Y.after(this._renderUIStack, this, RENDER_UI); + Y.after(this._syncUIStack, this, SYNC_UI); + Y.after(this._bindUIStack, this, BIND_UI); + } + + // Static Properties + /** + * Static property used to define the default attribute + * configuration introduced by WidgetStack. + * + * @property ATTRS + * @type Object + * @static + */ + Stack.ATTRS = { + /** + * @attribute shim + * @type boolean + * @default false, for all browsers other than IE6, for which a shim is enabled by default. + * + * @description Boolean flag to indicate whether or not a shim should be added to the Widgets + * boundingBox, to protect it from select box bleedthrough. + */ + shim: { + value: (UA.ie == 6) + }, + + /** + * @attribute zIndex + * @type number + * @default 0 + * @description The z-index to apply to the Widgets boundingBox. Non-numerical values for + * zIndex will be converted to 0 + */ + zIndex: { + value : 0, + setter: '_setZIndex' + } + }; + + /** + * The HTML parsing rules for the WidgetStack class. + * + * @property HTML_PARSER + * @static + * @type Object + */ + Stack.HTML_PARSER = { + zIndex: function (srcNode) { + return this._parseZIndex(srcNode); + } + }; + + /** + * Default class used to mark the shim element + * + * @property SHIM_CLASS_NAME + * @type String + * @static + * @default "yui3-widget-shim" + */ + Stack.SHIM_CLASS_NAME = Widget.getClassName(SHIM); + + /** + * Default class used to mark the boundingBox of a stacked widget. + * + * @property STACKED_CLASS_NAME + * @type String + * @static + * @default "yui3-widget-stacked" + */ + Stack.STACKED_CLASS_NAME = Widget.getClassName(STACKED); + + /** + * Default markup template used to generate the shim element. + * + * @property SHIM_TEMPLATE + * @type String + * @static + */ + Stack.SHIM_TEMPLATE = ''; + + Stack.prototype = { + + /** + * Synchronizes the UI to match the Widgets stack state. This method in + * invoked after syncUI is invoked for the Widget class using YUI's aop infrastructure. + * + * @method _syncUIStack + * @protected + */ + _syncUIStack: function() { + this._uiSetShim(this.get(SHIM)); + this._uiSetZIndex(this.get(ZINDEX)); + }, + + /** + * Binds event listeners responsible for updating the UI state in response to + * Widget stack related state changes. + *

        + * This method is invoked after bindUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _bindUIStack + * @protected + */ + _bindUIStack: function() { + this.after(ShimChange, this._afterShimChange); + this.after(ZIndexChange, this._afterZIndexChange); + }, + + /** + * Creates/Initializes the DOM to support stackability. + *

        + * This method in invoked after renderUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _renderUIStack + * @protected + */ + _renderUIStack: function() { + this._stackNode.addClass(Stack.STACKED_CLASS_NAME); + }, + + /** + Parses a `zIndex` attribute value from this widget's `srcNode`. + + @method _parseZIndex + @param {Node} srcNode The node to parse a `zIndex` value from. + @return {Mixed} The parsed `zIndex` value. + @protected + **/ + _parseZIndex: function (srcNode) { + var zIndex; + + // Prefers how WebKit handles `z-index` which better matches the + // spec: + // + // * http://www.w3.org/TR/CSS2/visuren.html#z-index + // * https://bugs.webkit.org/show_bug.cgi?id=15562 + // + // When a node isn't rendered in the document, and/or when a + // node is not positioned, then it doesn't have a context to derive + // a valid `z-index` value from. + if (!srcNode.inDoc() || srcNode.getStyle('position') === 'static') { + zIndex = 'auto'; + } else { + // Uses `getComputedStyle()` because it has greater accuracy in + // more browsers than `getStyle()` does for `z-index`. + zIndex = srcNode.getComputedStyle('zIndex'); + } + + // This extension adds a stacking context to widgets, therefore a + // `srcNode` witout a stacking context (i.e. "auto") will return + // `null` from this DOM parser. This way the widget's default or + // user provided value for `zIndex` will be used. + return zIndex === 'auto' ? null : zIndex; + }, + + /** + * Default setter for zIndex attribute changes. Normalizes zIndex values to + * numbers, converting non-numerical values to 0. + * + * @method _setZIndex + * @protected + * @param {String | Number} zIndex + * @return {Number} Normalized zIndex + */ + _setZIndex: function(zIndex) { + if (L.isString(zIndex)) { + zIndex = parseInt(zIndex, 10); + } + if (!L.isNumber(zIndex)) { + zIndex = 0; + } + return zIndex; + }, + + /** + * Default attribute change listener for the shim attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterShimChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterShimChange : function(e) { + this._uiSetShim(e.newVal); + }, + + /** + * Default attribute change listener for the zIndex attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterZIndexChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterZIndexChange : function(e) { + this._uiSetZIndex(e.newVal); + }, + + /** + * Updates the UI to reflect the zIndex value passed in. + * + * @method _uiSetZIndex + * @protected + * @param {number} zIndex The zindex to be reflected in the UI + */ + _uiSetZIndex: function (zIndex) { + this._stackNode.setStyle(ZINDEX, zIndex); + }, + + /** + * Updates the UI to enable/disable the shim. If the widget is not currently visible, + * creation of the shim is deferred until it is made visible, for performance reasons. + * + * @method _uiSetShim + * @protected + * @param {boolean} enable If true, creates/renders the shim, if false, removes it. + */ + _uiSetShim: function (enable) { + if (enable) { + // Lazy creation + if (this.get(VISIBLE)) { + this._renderShim(); + } else { + this._renderShimDeferred(); + } + + // Eagerly attach resize handlers + // + // Required because of Event stack behavior, commit ref: cd8dddc + // Should be revisted after Ticket #2531067 is resolved. + if (UA.ie == 6) { + this._addShimResizeHandlers(); + } + } else { + this._destroyShim(); + } + }, + + /** + * Sets up change handlers for the visible attribute, to defer shim creation/rendering + * until the Widget is made visible. + * + * @method _renderShimDeferred + * @private + */ + _renderShimDeferred : function() { + + this._stackHandles[SHIM_DEFERRED] = this._stackHandles[SHIM_DEFERRED] || []; + + var handles = this._stackHandles[SHIM_DEFERRED], + createBeforeVisible = function(e) { + if (e.newVal) { + this._renderShim(); + } + }; + + handles.push(this.on(VisibleChange, createBeforeVisible)); + // Depending how how Ticket #2531067 is resolved, a reversal of + // commit ref: cd8dddc could lead to a more elagent solution, with + // the addition of this line here: + // + // handles.push(this.after(VisibleChange, this.sizeShim)); + }, + + /** + * Sets up event listeners to resize the shim when the size of the Widget changes. + *

        + * NOTE: This method is only used for IE6 currently, since IE6 doesn't support a way to + * resize the shim purely through CSS, when the Widget does not have an explicit width/height + * set. + *

        + * @method _addShimResizeHandlers + * @private + */ + _addShimResizeHandlers : function() { + + this._stackHandles[SHIM_RESIZE] = this._stackHandles[SHIM_RESIZE] || []; + + var sizeShim = this.sizeShim, + handles = this._stackHandles[SHIM_RESIZE]; + + handles.push(this.after(VisibleChange, sizeShim)); + handles.push(this.after(WidthChange, sizeShim)); + handles.push(this.after(HeightChange, sizeShim)); + handles.push(this.after(ContentUpdate, sizeShim)); + }, + + /** + * Detaches any handles stored for the provided key + * + * @method _detachStackHandles + * @param String handleKey The key defining the group of handles which should be detached + * @private + */ + _detachStackHandles : function(handleKey) { + var handles = this._stackHandles[handleKey], + handle; + + if (handles && handles.length > 0) { + while((handle = handles.pop())) { + handle.detach(); + } + } + }, + + /** + * Creates the shim element and adds it to the DOM + * + * @method _renderShim + * @private + */ + _renderShim : function() { + var shimEl = this._shimNode, + stackEl = this._stackNode; + + if (!shimEl) { + shimEl = this._shimNode = this._getShimTemplate(); + stackEl.insertBefore(shimEl, stackEl.get(FIRST_CHILD)); + + this._detachStackHandles(SHIM_DEFERRED); + this.sizeShim(); + } + }, + + /** + * Removes the shim from the DOM, and detaches any related event + * listeners. + * + * @method _destroyShim + * @private + */ + _destroyShim : function() { + if (this._shimNode) { + this._shimNode.get(PARENT_NODE).removeChild(this._shimNode); + this._shimNode = null; + + this._detachStackHandles(SHIM_DEFERRED); + this._detachStackHandles(SHIM_RESIZE); + } + }, + + /** + * For IE6, synchronizes the size and position of iframe shim to that of + * Widget bounding box which it is protecting. For all other browsers, + * this method does not do anything. + * + * @method sizeShim + */ + sizeShim: function () { + var shim = this._shimNode, + node = this._stackNode; + + if (shim && UA.ie === 6 && this.get(VISIBLE)) { + shim.setStyle(WIDTH, node.get(OFFSET_WIDTH) + PX); + shim.setStyle(HEIGHT, node.get(OFFSET_HEIGHT) + PX); + } + }, + + /** + * Creates a cloned shim node, using the SHIM_TEMPLATE html template, for use on a new instance. + * + * @method _getShimTemplate + * @private + * @return {Node} node A new shim Node instance. + */ + _getShimTemplate : function() { + return Node.create(Stack.SHIM_TEMPLATE, this._stackNode.get(OWNER_DOCUMENT)); + } + }; + + Y.WidgetStack = Stack; + + +}, '3.6.0pr3' ,{requires:['base-build', 'widget']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/debug.js new file mode 100644 index 000000000..24f45cc6b --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("widget-stdmod"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/index.js new file mode 100644 index 000000000..cb17c8ed7 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("widget-stdmod"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-debug.js new file mode 100644 index 000000000..9e199b8ab --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-debug.js @@ -0,0 +1,785 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('widget-stdmod', function(Y) { + +/** + * Provides standard module support for Widgets through an extension. + * + * @module widget-stdmod + */ + var L = Y.Lang, + Node = Y.Node, + UA = Y.UA, + Widget = Y.Widget, + + EMPTY = "", + HD = "hd", + BD = "bd", + FT = "ft", + HEADER = "header", + BODY = "body", + FOOTER = "footer", + FILL_HEIGHT = "fillHeight", + STDMOD = "stdmod", + + NODE_SUFFIX = "Node", + CONTENT_SUFFIX = "Content", + + FIRST_CHILD = "firstChild", + CHILD_NODES = "childNodes", + OWNER_DOCUMENT = "ownerDocument", + + CONTENT_BOX = "contentBox", + + HEIGHT = "height", + OFFSET_HEIGHT = "offsetHeight", + AUTO = "auto", + + HeaderChange = "headerContentChange", + BodyChange = "bodyContentChange", + FooterChange = "footerContentChange", + FillHeightChange = "fillHeightChange", + HeightChange = "heightChange", + ContentUpdate = "contentUpdate", + + RENDERUI = "renderUI", + BINDUI = "bindUI", + SYNCUI = "syncUI", + + APPLY_PARSED_CONFIG = "_applyParsedConfig", + + UI = Y.Widget.UI_SRC; + + /** + * Widget extension, which can be used to add Standard Module support to the + * base Widget class, through the Base.build + * method. + *

        + * The extension adds header, body and footer sections to the Widget's content box and + * provides the corresponding methods and attributes to modify the contents of these sections. + *

        + * @class WidgetStdMod + * @param {Object} The user configuration object + */ + function StdMod(config) { + + this._stdModNode = this.get(CONTENT_BOX); + + Y.before(this._renderUIStdMod, this, RENDERUI); + Y.before(this._bindUIStdMod, this, BINDUI); + Y.before(this._syncUIStdMod, this, SYNCUI); + } + + /** + * Constant used to refer the the standard module header, in methods which expect a section specifier + * + * @property HEADER + * @static + * @type String + */ + StdMod.HEADER = HEADER; + + /** + * Constant used to refer the the standard module body, in methods which expect a section specifier + * + * @property BODY + * @static + * @type String + */ + StdMod.BODY = BODY; + + /** + * Constant used to refer the the standard module footer, in methods which expect a section specifier + * + * @property FOOTER + * @static + * @type String + */ + StdMod.FOOTER = FOOTER; + + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Inserts new content before the sections existing content. + *

        + * @property AFTER + * @static + * @type String + */ + StdMod.AFTER = "after"; + + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Inserts new content before the sections existing content. + *

        + * @property BEFORE + * @static + * @type String + */ + StdMod.BEFORE = "before"; + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Replaces the sections existing content, with new content. + *

        + * @property REPLACE + * @static + * @type String + */ + StdMod.REPLACE = "replace"; + + var STD_HEADER = StdMod.HEADER, + STD_BODY = StdMod.BODY, + STD_FOOTER = StdMod.FOOTER, + + HEADER_CONTENT = STD_HEADER + CONTENT_SUFFIX, + FOOTER_CONTENT = STD_FOOTER + CONTENT_SUFFIX, + BODY_CONTENT = STD_BODY + CONTENT_SUFFIX; + + /** + * Static property used to define the default attribute + * configuration introduced by WidgetStdMod. + * + * @property ATTRS + * @type Object + * @static + */ + StdMod.ATTRS = { + + /** + * @attribute headerContent + * @type HTML + * @default undefined + * @description The content to be added to the header section. This will replace any existing content + * in the header. If you want to append, or insert new content, use the setStdModContent method. + */ + headerContent: { + value:null + }, + + /** + * @attribute footerContent + * @type HTML + * @default undefined + * @description The content to be added to the footer section. This will replace any existing content + * in the footer. If you want to append, or insert new content, use the setStdModContent method. + */ + footerContent: { + value:null + }, + + /** + * @attribute bodyContent + * @type HTML + * @default undefined + * @description The content to be added to the body section. This will replace any existing content + * in the body. If you want to append, or insert new content, use the setStdModContent method. + */ + bodyContent: { + value:null + }, + + /** + * @attribute fillHeight + * @type {String} + * @default WidgetStdMod.BODY + * @description The section (WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER) which should be resized to fill the height of the standard module, when a + * height is set on the Widget. If a height is not set on the widget, then all sections are sized based on + * their content. + */ + fillHeight: { + value: StdMod.BODY, + validator: function(val) { + return this._validateFillHeight(val); + } + } + }; + + /** + * The HTML parsing rules for the WidgetStdMod class. + * + * @property HTML_PARSER + * @static + * @type Object + */ + StdMod.HTML_PARSER = { + headerContent: function(contentBox) { + return this._parseStdModHTML(STD_HEADER); + }, + + bodyContent: function(contentBox) { + return this._parseStdModHTML(STD_BODY); + }, + + footerContent : function(contentBox) { + return this._parseStdModHTML(STD_FOOTER); + } + }; + + /** + * Static hash of default class names used for the header, + * body and footer sections of the standard module, keyed by + * the section identifier (WidgetStdMod.STD_HEADER, WidgetStdMod.STD_BODY, WidgetStdMod.STD_FOOTER) + * + * @property SECTION_CLASS_NAMES + * @static + * @type Object + */ + StdMod.SECTION_CLASS_NAMES = { + header: Widget.getClassName(HD), + body: Widget.getClassName(BD), + footer: Widget.getClassName(FT) + }; + + /** + * The template HTML strings for each of the standard module sections. Section entries are keyed by the section constants, + * WidgetStdMod.HEADER, WidgetStdMod.BODY, WidgetStdMod.FOOTER, and contain the HTML to be added for each section. + * e.g. + *
        +     *    {
        +     *       header : '<div class="yui-widget-hd"></div>',
        +     *       body : '<div class="yui-widget-bd"></div>',
        +     *       footer : '<div class="yui-widget-ft"></div>'
        +     *    }
        +     * 
        + * @property TEMPLATES + * @type Object + * @static + */ + StdMod.TEMPLATES = { + header : '
        ', + body : '
        ', + footer : '
        ' + }; + + StdMod.prototype = { + + /** + * Synchronizes the UI to match the Widgets standard module state. + *

        + * This method is invoked after syncUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _syncUIStdMod + * @protected + */ + _syncUIStdMod : function() { + var stdModParsed = this._stdModParsed; + + if (!stdModParsed || !stdModParsed[HEADER_CONTENT]) { + this._uiSetStdMod(STD_HEADER, this.get(HEADER_CONTENT)); + } + + if (!stdModParsed || !stdModParsed[BODY_CONTENT]) { + this._uiSetStdMod(STD_BODY, this.get(BODY_CONTENT)); + } + + if (!stdModParsed || !stdModParsed[FOOTER_CONTENT]) { + this._uiSetStdMod(STD_FOOTER, this.get(FOOTER_CONTENT)); + } + + this._uiSetFillHeight(this.get(FILL_HEIGHT)); + }, + + /** + * Creates/Initializes the DOM for standard module support. + *

        + * This method is invoked after renderUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _renderUIStdMod + * @protected + */ + _renderUIStdMod : function() { + this._stdModNode.addClass(Widget.getClassName(STDMOD)); + this._renderStdModSections(); + + //This normally goes in bindUI but in order to allow setStdModContent() to work before renderUI + //stage, these listeners should be set up at the earliest possible time. + this.after(HeaderChange, this._afterHeaderChange); + this.after(BodyChange, this._afterBodyChange); + this.after(FooterChange, this._afterFooterChange); + }, + + _renderStdModSections : function() { + if (L.isValue(this.get(HEADER_CONTENT))) { this._renderStdMod(STD_HEADER); } + if (L.isValue(this.get(BODY_CONTENT))) { this._renderStdMod(STD_BODY); } + if (L.isValue(this.get(FOOTER_CONTENT))) { this._renderStdMod(STD_FOOTER); } + }, + + /** + * Binds event listeners responsible for updating the UI state in response to + * Widget standard module related state changes. + *

        + * This method is invoked after bindUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _bindUIStdMod + * @protected + */ + _bindUIStdMod : function() { + // this.after(HeaderChange, this._afterHeaderChange); + // this.after(BodyChange, this._afterBodyChange); + // this.after(FooterChange, this._afterFooterChange); + + this.after(FillHeightChange, this._afterFillHeightChange); + this.after(HeightChange, this._fillHeight); + this.after(ContentUpdate, this._fillHeight); + }, + + /** + * Default attribute change listener for the headerContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterHeaderChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterHeaderChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_HEADER, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the bodyContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterBodyChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterBodyChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_BODY, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the footerContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterFooterChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterFooterChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_FOOTER, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the fillHeight attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterFillHeightChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterFillHeightChange: function (e) { + this._uiSetFillHeight(e.newVal); + }, + + /** + * Default validator for the fillHeight attribute. Verifies that the + * value set is a valid section specifier - one of WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER, + * or a falsey value if fillHeight is to be disabled. + * + * @method _validateFillHeight + * @protected + * @param {String} val The section which should be setup to fill height, or false/null to disable fillHeight + * @return true if valid, false if not + */ + _validateFillHeight : function(val) { + return !val || val == StdMod.BODY || val == StdMod.HEADER || val == StdMod.FOOTER; + }, + + /** + * Updates the rendered UI, to resize the provided section so that the standard module fills out + * the specified widget height. Note: This method does not check whether or not a height is set + * on the Widget. + * + * @method _uiSetFillHeight + * @protected + * @param {String} fillSection A valid section specifier - one of WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER + */ + _uiSetFillHeight : function(fillSection) { + var fillNode = this.getStdModNode(fillSection); + var currNode = this._currFillNode; + + if (currNode && fillNode !== currNode){ + currNode.setStyle(HEIGHT, EMPTY); + } + + if (fillNode) { + this._currFillNode = fillNode; + } + + this._fillHeight(); + }, + + /** + * Updates the rendered UI, to resize the current section specified by the fillHeight attribute, so + * that the standard module fills out the Widget height. If a height has not been set on Widget, + * the section is not resized (height is set to "auto"). + * + * @method _fillHeight + * @private + */ + _fillHeight : function() { + if (this.get(FILL_HEIGHT)) { + var height = this.get(HEIGHT); + if (height != EMPTY && height != AUTO) { + this.fillHeight(this._currFillNode); + } + } + }, + + /** + * Updates the rendered UI, adding the provided content (either an HTML string, or node reference), + * to the specified section. The content is either added before, after or replaces existing content + * in the section, based on the value of the where argument. + * + * @method _uiSetStdMod + * @protected + * + * @param {String} section The section to be updated. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {String | Node} content The new content (either as an HTML string, or Node reference) to add to the section + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the section. + */ + _uiSetStdMod : function(section, content, where) { + // Using isValue, so that "" is valid content + if (L.isValue(content)) { + var node = this.getStdModNode(section, true); + + this._addStdModContent(node, content, where); + + this.set(section + CONTENT_SUFFIX, this._getStdModContent(section), {src:UI}); + } else { + this._eraseStdMod(section); + } + this.fire(ContentUpdate); + }, + + /** + * Creates the DOM node for the given section, and inserts it into the correct location in the contentBox. + * + * @method _renderStdMod + * @protected + * @param {String} section The section to create/render. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} A reference to the added section node + */ + _renderStdMod : function(section) { + + var contentBox = this.get(CONTENT_BOX), + sectionNode = this._findStdModSection(section); + + if (!sectionNode) { + sectionNode = this._getStdModTemplate(section); + } + + this._insertStdModSection(contentBox, section, sectionNode); + + this[section + NODE_SUFFIX] = sectionNode; + return this[section + NODE_SUFFIX]; + }, + + /** + * Removes the DOM node for the given section. + * + * @method _eraseStdMod + * @protected + * @param {String} section The section to remove. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + */ + _eraseStdMod : function(section) { + var sectionNode = this.getStdModNode(section); + if (sectionNode) { + sectionNode.remove(true); + delete this[section + NODE_SUFFIX]; + } + }, + + /** + * Helper method to insert the Node for the given section into the correct location in the contentBox. + * + * @method _insertStdModSection + * @private + * @param {Node} contentBox A reference to the Widgets content box. + * @param {String} section The section to create/render. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {Node} sectionNode The Node for the section. + */ + _insertStdModSection : function(contentBox, section, sectionNode) { + var fc = contentBox.get(FIRST_CHILD); + + if (section === STD_FOOTER || !fc) { + contentBox.appendChild(sectionNode); + } else { + if (section === STD_HEADER) { + contentBox.insertBefore(sectionNode, fc); + } else { + var footer = this[STD_FOOTER + NODE_SUFFIX]; + if (footer) { + contentBox.insertBefore(sectionNode, footer); + } else { + contentBox.appendChild(sectionNode); + } + } + } + }, + + /** + * Gets a new Node reference for the given standard module section, by cloning + * the stored template node. + * + * @method _getStdModTemplate + * @protected + * @param {String} section The section to create a new node for. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The new Node instance for the section + */ + _getStdModTemplate : function(section) { + return Node.create(StdMod.TEMPLATES[section], this._stdModNode.get(OWNER_DOCUMENT)); + }, + + /** + * Helper method to add content to a StdMod section node. + * The content is added either before, after or replaces the existing node content + * based on the value of the where argument. + * + * @method _addStdModContent + * @private + * + * @param {Node} node The section Node to be updated. + * @param {Node|NodeList|String} children The new content Node, NodeList or String to be added to section Node provided. + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the Node. + */ + _addStdModContent : function(node, children, where) { + + // StdMod where to Node where + switch (where) { + case StdMod.BEFORE: // 0 is before fistChild + where = 0; + break; + case StdMod.AFTER: // undefined is appendChild + where = undefined; + break; + default: // replace is replace, not specified is replace + where = StdMod.REPLACE; + } + + node.insert(children, where); + }, + + /** + * Helper method to obtain the precise height of the node provided, including padding and border. + * The height could be a sub-pixel value for certain browsers, such as Firefox 3. + * + * @method _getPreciseHeight + * @private + * @param {Node} node The node for which the precise height is required. + * @return {Number} The height of the Node including borders and padding, possibly a float. + */ + _getPreciseHeight : function(node) { + var height = (node) ? node.get(OFFSET_HEIGHT) : 0, + getBCR = "getBoundingClientRect"; + + if (node && node.hasMethod(getBCR)) { + var preciseRegion = node.invoke(getBCR); + if (preciseRegion) { + height = preciseRegion.bottom - preciseRegion.top; + } + } + + return height; + }, + + /** + * Helper method to to find the rendered node for the given section, + * if it exists. + * + * @method _findStdModSection + * @private + * @param {String} section The section for which the render Node is to be found. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The rendered node for the given section, or null if not found. + */ + _findStdModSection: function(section) { + return this.get(CONTENT_BOX).one("> ." + StdMod.SECTION_CLASS_NAMES[section]); + }, + + /** + * Utility method, used by WidgetStdMods HTML_PARSER implementation + * to extract data for each section from markup. + * + * @method _parseStdModHTML + * @private + * @param {String} section + * @return {String} Inner HTML string with the contents of the section + */ + _parseStdModHTML : function(section) { + + var node = this._findStdModSection(section); + + if (node) { + if (!this._stdModParsed) { + this._stdModParsed = {}; + Y.before(this._applyStdModParsedConfig, this, APPLY_PARSED_CONFIG); + } + this._stdModParsed[section + CONTENT_SUFFIX] = 1; + + return node.get("innerHTML"); + } + + return null; + }, + + /** + * This method is injected before the _applyParsedConfig step in + * the application of HTML_PARSER, and sets up the state to + * identify whether or not we should remove the current DOM content + * or not, based on whether or not the current content attribute value + * was extracted from the DOM, or provided by the user configuration + * + * @method _applyStdModParsedConfig + * @private + */ + _applyStdModParsedConfig : function(node, cfg, parsedCfg) { + var parsed = this._stdModParsed; + if (parsed) { + parsed[HEADER_CONTENT] = !(HEADER_CONTENT in cfg) && (HEADER_CONTENT in parsed); + parsed[BODY_CONTENT] = !(BODY_CONTENT in cfg) && (BODY_CONTENT in parsed); + parsed[FOOTER_CONTENT] = !(FOOTER_CONTENT in cfg) && (FOOTER_CONTENT in parsed); + } + }, + + /** + * Retrieves the child nodes (content) of a standard module section + * + * @method _getStdModContent + * @private + * @param {String} section The standard module section whose child nodes are to be retrieved. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The child node collection of the standard module section. + */ + _getStdModContent : function(section) { + return (this[section + NODE_SUFFIX]) ? this[section + NODE_SUFFIX].get(CHILD_NODES) : null; + }, + + /** + * Updates the body section of the standard module with the content provided (either an HTML string, or node reference). + *

        + * This method can be used instead of the corresponding section content attribute if you'd like to retain the current content of the section, + * and insert content before or after it, by specifying the where argument. + *

        + * @method setStdModContent + * @param {String} section The standard module section whose content is to be updated. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {String | Node} content The content to be added, either an HTML string or a Node reference. + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the section. + */ + setStdModContent : function(section, content, where) { + //var node = this.getStdModNode(section) || this._renderStdMod(section); + this.set(section + CONTENT_SUFFIX, content, {stdModPosition:where}); + //this._addStdModContent(node, content, where); + }, + + /** + Returns the node reference for the specified `section`. + + **Note:** The DOM is not queried for the node reference. The reference + stored by the widget instance is returned if it was set. Passing a + truthy for `forceCreate` will create the section node if it does not + already exist. + + @method getStdModNode + @param {String} section The section whose node reference is required. + Either `WidgetStdMod.HEADER`, `WidgetStdMod.BODY`, or + `WidgetStdMod.FOOTER`. + @param {Boolean} forceCreate Whether the section node should be created + if it does not already exist. + @return {Node} The node reference for the `section`, or null if not set. + **/ + getStdModNode : function(section, forceCreate) { + var node = this[section + NODE_SUFFIX] || null; + + if (!node && forceCreate) { + node = this._renderStdMod(section); + } + + return node; + }, + + /** + * Sets the height on the provided header, body or footer element to + * fill out the height of the Widget. It determines the height of the + * widgets bounding box, based on it's configured height value, and + * sets the height of the provided section to fill out any + * space remaining after the other standard module section heights + * have been accounted for. + * + *

        NOTE: This method is not designed to work if an explicit + * height has not been set on the Widget, since for an "auto" height Widget, + * the heights of the header/body/footer will drive the height of the Widget.

        + * + * @method fillHeight + * @param {Node} node The node which should be resized to fill out the height + * of the Widget bounding box. Should be a standard module section node which belongs + * to the widget. + */ + fillHeight : function(node) { + if (node) { + var contentBox = this.get(CONTENT_BOX), + stdModNodes = [this.headerNode, this.bodyNode, this.footerNode], + stdModNode, + cbContentHeight, + filled = 0, + remaining = 0, + + validNode = false; + + for (var i = 0, l = stdModNodes.length; i < l; i++) { + stdModNode = stdModNodes[i]; + if (stdModNode) { + if (stdModNode !== node) { + filled += this._getPreciseHeight(stdModNode); + } else { + validNode = true; + } + } + } + + if (validNode) { + if (UA.ie || UA.opera) { + // Need to set height to 0, to allow height to be reduced + node.set(OFFSET_HEIGHT, 0); + } + + cbContentHeight = contentBox.get(OFFSET_HEIGHT) - + parseInt(contentBox.getComputedStyle("paddingTop"), 10) - + parseInt(contentBox.getComputedStyle("paddingBottom"), 10) - + parseInt(contentBox.getComputedStyle("borderBottomWidth"), 10) - + parseInt(contentBox.getComputedStyle("borderTopWidth"), 10); + + if (L.isNumber(cbContentHeight)) { + remaining = cbContentHeight - filled; + if (remaining >= 0) { + node.set(OFFSET_HEIGHT, remaining); + } + } + } + } + } + }; + + Y.WidgetStdMod = StdMod; + + +}, '3.6.0pr3' ,{requires:['base-build', 'widget']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-min.js new file mode 100644 index 000000000..b0be25e5d --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("widget-stdmod",function(b){var f=b.Lang,q=b.Node,x=b.UA,e=b.Widget,d="",J="hd",G="bd",j="ft",D="header",M="body",K="footer",N="fillHeight",m="stdmod",u="Node",I="Content",C="firstChild",h="childNodes",n="ownerDocument",v="contentBox",z="height",F="offsetHeight",y="auto",l="headerContentChange",B="bodyContentChange",o="footerContentChange",r="fillHeightChange",t="heightChange",O="contentUpdate",w="renderUI",E="bindUI",g="syncUI",H="_applyParsedConfig",s=b.Widget.UI_SRC;function P(L){this._stdModNode=this.get(v);b.before(this._renderUIStdMod,this,w);b.before(this._bindUIStdMod,this,E);b.before(this._syncUIStdMod,this,g);}P.HEADER=D;P.BODY=M;P.FOOTER=K;P.AFTER="after";P.BEFORE="before";P.REPLACE="replace";var k=P.HEADER,A=P.BODY,p=P.FOOTER,a=k+I,c=p+I,i=A+I;P.ATTRS={headerContent:{value:null},footerContent:{value:null},bodyContent:{value:null},fillHeight:{value:P.BODY,validator:function(L){return this._validateFillHeight(L);}}};P.HTML_PARSER={headerContent:function(L){return this._parseStdModHTML(k);},bodyContent:function(L){return this._parseStdModHTML(A);},footerContent:function(L){return this._parseStdModHTML(p);}};P.SECTION_CLASS_NAMES={header:e.getClassName(J),body:e.getClassName(G),footer:e.getClassName(j)};P.TEMPLATES={header:'
        ',body:'
        ',footer:'
        '};P.prototype={_syncUIStdMod:function(){var L=this._stdModParsed;if(!L||!L[a]){this._uiSetStdMod(k,this.get(a));}if(!L||!L[i]){this._uiSetStdMod(A,this.get(i));}if(!L||!L[c]){this._uiSetStdMod(p,this.get(c));}this._uiSetFillHeight(this.get(N));},_renderUIStdMod:function(){this._stdModNode.addClass(e.getClassName(m));this._renderStdModSections();this.after(l,this._afterHeaderChange);this.after(B,this._afterBodyChange);this.after(o,this._afterFooterChange);},_renderStdModSections:function(){if(f.isValue(this.get(a))){this._renderStdMod(k);}if(f.isValue(this.get(i))){this._renderStdMod(A);}if(f.isValue(this.get(c))){this._renderStdMod(p);}},_bindUIStdMod:function(){this.after(r,this._afterFillHeightChange);this.after(t,this._fillHeight);this.after(O,this._fillHeight);},_afterHeaderChange:function(L){if(L.src!==s){this._uiSetStdMod(k,L.newVal,L.stdModPosition);}},_afterBodyChange:function(L){if(L.src!==s){this._uiSetStdMod(A,L.newVal,L.stdModPosition);}},_afterFooterChange:function(L){if(L.src!==s){this._uiSetStdMod(p,L.newVal,L.stdModPosition);}},_afterFillHeightChange:function(L){this._uiSetFillHeight(L.newVal);},_validateFillHeight:function(L){return !L||L==P.BODY||L==P.HEADER||L==P.FOOTER;},_uiSetFillHeight:function(R){var Q=this.getStdModNode(R);var L=this._currFillNode;if(L&&Q!==L){L.setStyle(z,d);}if(Q){this._currFillNode=Q;}this._fillHeight();},_fillHeight:function(){if(this.get(N)){var L=this.get(z);if(L!=d&&L!=y){this.fillHeight(this._currFillNode);}}},_uiSetStdMod:function(S,R,L){if(f.isValue(R)){var Q=this.getStdModNode(S,true);this._addStdModContent(Q,R,L);this.set(S+I,this._getStdModContent(S),{src:s});}else{this._eraseStdMod(S);}this.fire(O);},_renderStdMod:function(R){var L=this.get(v),Q=this._findStdModSection(R);if(!Q){Q=this._getStdModTemplate(R);}this._insertStdModSection(L,R,Q);this[R+u]=Q;return this[R+u];},_eraseStdMod:function(Q){var L=this.getStdModNode(Q);if(L){L.remove(true);delete this[Q+u];}},_insertStdModSection:function(L,S,R){var Q=L.get(C);if(S===p||!Q){L.appendChild(R);}else{if(S===k){L.insertBefore(R,Q);}else{var T=this[p+u];if(T){L.insertBefore(R,T);}else{L.appendChild(R);}}}},_getStdModTemplate:function(L){return q.create(P.TEMPLATES[L],this._stdModNode.get(n));},_addStdModContent:function(R,Q,L){switch(L){case P.BEFORE:L=0;break;case P.AFTER:L=undefined;break;default:L=P.REPLACE;}R.insert(Q,L);},_getPreciseHeight:function(R){var L=(R)?R.get(F):0,S="getBoundingClientRect";if(R&&R.hasMethod(S)){var Q=R.invoke(S);if(Q){L=Q.bottom-Q.top;}}return L;},_findStdModSection:function(L){return this.get(v).one("> ."+P.SECTION_CLASS_NAMES[L]);},_parseStdModHTML:function(Q){var L=this._findStdModSection(Q);if(L){if(!this._stdModParsed){this._stdModParsed={};b.before(this._applyStdModParsedConfig,this,H);}this._stdModParsed[Q+I]=1;return L.get("innerHTML");}return null;},_applyStdModParsedConfig:function(S,L,R){var Q=this._stdModParsed;if(Q){Q[a]=!(a in L)&&(a in Q);Q[i]=!(i in L)&&(i in Q);Q[c]=!(c in L)&&(c in Q);}},_getStdModContent:function(L){return(this[L+u])?this[L+u].get(h):null;},setStdModContent:function(R,Q,L){this.set(R+I,Q,{stdModPosition:L});},getStdModNode:function(R,Q){var L=this[R+u]||null;if(!L&&Q){L=this._renderStdMod(R);}return L;},fillHeight:function(Q){if(Q){var V=this.get(v),W=[this.headerNode,this.bodyNode,this.footerNode],L,X,Y=0,T=0,S=false;for(var U=0,R=W.length;U=0){Q.set(F,T);}}}}}};b.WidgetStdMod=P;},"3.6.0pr3",{requires:["base-build","widget"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod.js new file mode 100644 index 000000000..9e199b8ab --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-stdmod/widget-stdmod.js @@ -0,0 +1,785 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('widget-stdmod', function(Y) { + +/** + * Provides standard module support for Widgets through an extension. + * + * @module widget-stdmod + */ + var L = Y.Lang, + Node = Y.Node, + UA = Y.UA, + Widget = Y.Widget, + + EMPTY = "", + HD = "hd", + BD = "bd", + FT = "ft", + HEADER = "header", + BODY = "body", + FOOTER = "footer", + FILL_HEIGHT = "fillHeight", + STDMOD = "stdmod", + + NODE_SUFFIX = "Node", + CONTENT_SUFFIX = "Content", + + FIRST_CHILD = "firstChild", + CHILD_NODES = "childNodes", + OWNER_DOCUMENT = "ownerDocument", + + CONTENT_BOX = "contentBox", + + HEIGHT = "height", + OFFSET_HEIGHT = "offsetHeight", + AUTO = "auto", + + HeaderChange = "headerContentChange", + BodyChange = "bodyContentChange", + FooterChange = "footerContentChange", + FillHeightChange = "fillHeightChange", + HeightChange = "heightChange", + ContentUpdate = "contentUpdate", + + RENDERUI = "renderUI", + BINDUI = "bindUI", + SYNCUI = "syncUI", + + APPLY_PARSED_CONFIG = "_applyParsedConfig", + + UI = Y.Widget.UI_SRC; + + /** + * Widget extension, which can be used to add Standard Module support to the + * base Widget class, through the Base.build + * method. + *

        + * The extension adds header, body and footer sections to the Widget's content box and + * provides the corresponding methods and attributes to modify the contents of these sections. + *

        + * @class WidgetStdMod + * @param {Object} The user configuration object + */ + function StdMod(config) { + + this._stdModNode = this.get(CONTENT_BOX); + + Y.before(this._renderUIStdMod, this, RENDERUI); + Y.before(this._bindUIStdMod, this, BINDUI); + Y.before(this._syncUIStdMod, this, SYNCUI); + } + + /** + * Constant used to refer the the standard module header, in methods which expect a section specifier + * + * @property HEADER + * @static + * @type String + */ + StdMod.HEADER = HEADER; + + /** + * Constant used to refer the the standard module body, in methods which expect a section specifier + * + * @property BODY + * @static + * @type String + */ + StdMod.BODY = BODY; + + /** + * Constant used to refer the the standard module footer, in methods which expect a section specifier + * + * @property FOOTER + * @static + * @type String + */ + StdMod.FOOTER = FOOTER; + + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Inserts new content before the sections existing content. + *

        + * @property AFTER + * @static + * @type String + */ + StdMod.AFTER = "after"; + + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Inserts new content before the sections existing content. + *

        + * @property BEFORE + * @static + * @type String + */ + StdMod.BEFORE = "before"; + /** + * Constant used to specify insertion position, when adding content to sections of the standard module in + * methods which expect a "where" argument. + *

        + * Replaces the sections existing content, with new content. + *

        + * @property REPLACE + * @static + * @type String + */ + StdMod.REPLACE = "replace"; + + var STD_HEADER = StdMod.HEADER, + STD_BODY = StdMod.BODY, + STD_FOOTER = StdMod.FOOTER, + + HEADER_CONTENT = STD_HEADER + CONTENT_SUFFIX, + FOOTER_CONTENT = STD_FOOTER + CONTENT_SUFFIX, + BODY_CONTENT = STD_BODY + CONTENT_SUFFIX; + + /** + * Static property used to define the default attribute + * configuration introduced by WidgetStdMod. + * + * @property ATTRS + * @type Object + * @static + */ + StdMod.ATTRS = { + + /** + * @attribute headerContent + * @type HTML + * @default undefined + * @description The content to be added to the header section. This will replace any existing content + * in the header. If you want to append, or insert new content, use the setStdModContent method. + */ + headerContent: { + value:null + }, + + /** + * @attribute footerContent + * @type HTML + * @default undefined + * @description The content to be added to the footer section. This will replace any existing content + * in the footer. If you want to append, or insert new content, use the setStdModContent method. + */ + footerContent: { + value:null + }, + + /** + * @attribute bodyContent + * @type HTML + * @default undefined + * @description The content to be added to the body section. This will replace any existing content + * in the body. If you want to append, or insert new content, use the setStdModContent method. + */ + bodyContent: { + value:null + }, + + /** + * @attribute fillHeight + * @type {String} + * @default WidgetStdMod.BODY + * @description The section (WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER) which should be resized to fill the height of the standard module, when a + * height is set on the Widget. If a height is not set on the widget, then all sections are sized based on + * their content. + */ + fillHeight: { + value: StdMod.BODY, + validator: function(val) { + return this._validateFillHeight(val); + } + } + }; + + /** + * The HTML parsing rules for the WidgetStdMod class. + * + * @property HTML_PARSER + * @static + * @type Object + */ + StdMod.HTML_PARSER = { + headerContent: function(contentBox) { + return this._parseStdModHTML(STD_HEADER); + }, + + bodyContent: function(contentBox) { + return this._parseStdModHTML(STD_BODY); + }, + + footerContent : function(contentBox) { + return this._parseStdModHTML(STD_FOOTER); + } + }; + + /** + * Static hash of default class names used for the header, + * body and footer sections of the standard module, keyed by + * the section identifier (WidgetStdMod.STD_HEADER, WidgetStdMod.STD_BODY, WidgetStdMod.STD_FOOTER) + * + * @property SECTION_CLASS_NAMES + * @static + * @type Object + */ + StdMod.SECTION_CLASS_NAMES = { + header: Widget.getClassName(HD), + body: Widget.getClassName(BD), + footer: Widget.getClassName(FT) + }; + + /** + * The template HTML strings for each of the standard module sections. Section entries are keyed by the section constants, + * WidgetStdMod.HEADER, WidgetStdMod.BODY, WidgetStdMod.FOOTER, and contain the HTML to be added for each section. + * e.g. + *
        +     *    {
        +     *       header : '<div class="yui-widget-hd"></div>',
        +     *       body : '<div class="yui-widget-bd"></div>',
        +     *       footer : '<div class="yui-widget-ft"></div>'
        +     *    }
        +     * 
        + * @property TEMPLATES + * @type Object + * @static + */ + StdMod.TEMPLATES = { + header : '
        ', + body : '
        ', + footer : '
        ' + }; + + StdMod.prototype = { + + /** + * Synchronizes the UI to match the Widgets standard module state. + *

        + * This method is invoked after syncUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _syncUIStdMod + * @protected + */ + _syncUIStdMod : function() { + var stdModParsed = this._stdModParsed; + + if (!stdModParsed || !stdModParsed[HEADER_CONTENT]) { + this._uiSetStdMod(STD_HEADER, this.get(HEADER_CONTENT)); + } + + if (!stdModParsed || !stdModParsed[BODY_CONTENT]) { + this._uiSetStdMod(STD_BODY, this.get(BODY_CONTENT)); + } + + if (!stdModParsed || !stdModParsed[FOOTER_CONTENT]) { + this._uiSetStdMod(STD_FOOTER, this.get(FOOTER_CONTENT)); + } + + this._uiSetFillHeight(this.get(FILL_HEIGHT)); + }, + + /** + * Creates/Initializes the DOM for standard module support. + *

        + * This method is invoked after renderUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _renderUIStdMod + * @protected + */ + _renderUIStdMod : function() { + this._stdModNode.addClass(Widget.getClassName(STDMOD)); + this._renderStdModSections(); + + //This normally goes in bindUI but in order to allow setStdModContent() to work before renderUI + //stage, these listeners should be set up at the earliest possible time. + this.after(HeaderChange, this._afterHeaderChange); + this.after(BodyChange, this._afterBodyChange); + this.after(FooterChange, this._afterFooterChange); + }, + + _renderStdModSections : function() { + if (L.isValue(this.get(HEADER_CONTENT))) { this._renderStdMod(STD_HEADER); } + if (L.isValue(this.get(BODY_CONTENT))) { this._renderStdMod(STD_BODY); } + if (L.isValue(this.get(FOOTER_CONTENT))) { this._renderStdMod(STD_FOOTER); } + }, + + /** + * Binds event listeners responsible for updating the UI state in response to + * Widget standard module related state changes. + *

        + * This method is invoked after bindUI is invoked for the Widget class + * using YUI's aop infrastructure. + *

        + * @method _bindUIStdMod + * @protected + */ + _bindUIStdMod : function() { + // this.after(HeaderChange, this._afterHeaderChange); + // this.after(BodyChange, this._afterBodyChange); + // this.after(FooterChange, this._afterFooterChange); + + this.after(FillHeightChange, this._afterFillHeightChange); + this.after(HeightChange, this._fillHeight); + this.after(ContentUpdate, this._fillHeight); + }, + + /** + * Default attribute change listener for the headerContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterHeaderChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterHeaderChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_HEADER, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the bodyContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterBodyChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterBodyChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_BODY, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the footerContent attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterFooterChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterFooterChange : function(e) { + if (e.src !== UI) { + this._uiSetStdMod(STD_FOOTER, e.newVal, e.stdModPosition); + } + }, + + /** + * Default attribute change listener for the fillHeight attribute, responsible + * for updating the UI, in response to attribute changes. + * + * @method _afterFillHeightChange + * @protected + * @param {EventFacade} e The event facade for the attribute change + */ + _afterFillHeightChange: function (e) { + this._uiSetFillHeight(e.newVal); + }, + + /** + * Default validator for the fillHeight attribute. Verifies that the + * value set is a valid section specifier - one of WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER, + * or a falsey value if fillHeight is to be disabled. + * + * @method _validateFillHeight + * @protected + * @param {String} val The section which should be setup to fill height, or false/null to disable fillHeight + * @return true if valid, false if not + */ + _validateFillHeight : function(val) { + return !val || val == StdMod.BODY || val == StdMod.HEADER || val == StdMod.FOOTER; + }, + + /** + * Updates the rendered UI, to resize the provided section so that the standard module fills out + * the specified widget height. Note: This method does not check whether or not a height is set + * on the Widget. + * + * @method _uiSetFillHeight + * @protected + * @param {String} fillSection A valid section specifier - one of WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER + */ + _uiSetFillHeight : function(fillSection) { + var fillNode = this.getStdModNode(fillSection); + var currNode = this._currFillNode; + + if (currNode && fillNode !== currNode){ + currNode.setStyle(HEIGHT, EMPTY); + } + + if (fillNode) { + this._currFillNode = fillNode; + } + + this._fillHeight(); + }, + + /** + * Updates the rendered UI, to resize the current section specified by the fillHeight attribute, so + * that the standard module fills out the Widget height. If a height has not been set on Widget, + * the section is not resized (height is set to "auto"). + * + * @method _fillHeight + * @private + */ + _fillHeight : function() { + if (this.get(FILL_HEIGHT)) { + var height = this.get(HEIGHT); + if (height != EMPTY && height != AUTO) { + this.fillHeight(this._currFillNode); + } + } + }, + + /** + * Updates the rendered UI, adding the provided content (either an HTML string, or node reference), + * to the specified section. The content is either added before, after or replaces existing content + * in the section, based on the value of the where argument. + * + * @method _uiSetStdMod + * @protected + * + * @param {String} section The section to be updated. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {String | Node} content The new content (either as an HTML string, or Node reference) to add to the section + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the section. + */ + _uiSetStdMod : function(section, content, where) { + // Using isValue, so that "" is valid content + if (L.isValue(content)) { + var node = this.getStdModNode(section, true); + + this._addStdModContent(node, content, where); + + this.set(section + CONTENT_SUFFIX, this._getStdModContent(section), {src:UI}); + } else { + this._eraseStdMod(section); + } + this.fire(ContentUpdate); + }, + + /** + * Creates the DOM node for the given section, and inserts it into the correct location in the contentBox. + * + * @method _renderStdMod + * @protected + * @param {String} section The section to create/render. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} A reference to the added section node + */ + _renderStdMod : function(section) { + + var contentBox = this.get(CONTENT_BOX), + sectionNode = this._findStdModSection(section); + + if (!sectionNode) { + sectionNode = this._getStdModTemplate(section); + } + + this._insertStdModSection(contentBox, section, sectionNode); + + this[section + NODE_SUFFIX] = sectionNode; + return this[section + NODE_SUFFIX]; + }, + + /** + * Removes the DOM node for the given section. + * + * @method _eraseStdMod + * @protected + * @param {String} section The section to remove. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + */ + _eraseStdMod : function(section) { + var sectionNode = this.getStdModNode(section); + if (sectionNode) { + sectionNode.remove(true); + delete this[section + NODE_SUFFIX]; + } + }, + + /** + * Helper method to insert the Node for the given section into the correct location in the contentBox. + * + * @method _insertStdModSection + * @private + * @param {Node} contentBox A reference to the Widgets content box. + * @param {String} section The section to create/render. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {Node} sectionNode The Node for the section. + */ + _insertStdModSection : function(contentBox, section, sectionNode) { + var fc = contentBox.get(FIRST_CHILD); + + if (section === STD_FOOTER || !fc) { + contentBox.appendChild(sectionNode); + } else { + if (section === STD_HEADER) { + contentBox.insertBefore(sectionNode, fc); + } else { + var footer = this[STD_FOOTER + NODE_SUFFIX]; + if (footer) { + contentBox.insertBefore(sectionNode, footer); + } else { + contentBox.appendChild(sectionNode); + } + } + } + }, + + /** + * Gets a new Node reference for the given standard module section, by cloning + * the stored template node. + * + * @method _getStdModTemplate + * @protected + * @param {String} section The section to create a new node for. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The new Node instance for the section + */ + _getStdModTemplate : function(section) { + return Node.create(StdMod.TEMPLATES[section], this._stdModNode.get(OWNER_DOCUMENT)); + }, + + /** + * Helper method to add content to a StdMod section node. + * The content is added either before, after or replaces the existing node content + * based on the value of the where argument. + * + * @method _addStdModContent + * @private + * + * @param {Node} node The section Node to be updated. + * @param {Node|NodeList|String} children The new content Node, NodeList or String to be added to section Node provided. + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the Node. + */ + _addStdModContent : function(node, children, where) { + + // StdMod where to Node where + switch (where) { + case StdMod.BEFORE: // 0 is before fistChild + where = 0; + break; + case StdMod.AFTER: // undefined is appendChild + where = undefined; + break; + default: // replace is replace, not specified is replace + where = StdMod.REPLACE; + } + + node.insert(children, where); + }, + + /** + * Helper method to obtain the precise height of the node provided, including padding and border. + * The height could be a sub-pixel value for certain browsers, such as Firefox 3. + * + * @method _getPreciseHeight + * @private + * @param {Node} node The node for which the precise height is required. + * @return {Number} The height of the Node including borders and padding, possibly a float. + */ + _getPreciseHeight : function(node) { + var height = (node) ? node.get(OFFSET_HEIGHT) : 0, + getBCR = "getBoundingClientRect"; + + if (node && node.hasMethod(getBCR)) { + var preciseRegion = node.invoke(getBCR); + if (preciseRegion) { + height = preciseRegion.bottom - preciseRegion.top; + } + } + + return height; + }, + + /** + * Helper method to to find the rendered node for the given section, + * if it exists. + * + * @method _findStdModSection + * @private + * @param {String} section The section for which the render Node is to be found. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The rendered node for the given section, or null if not found. + */ + _findStdModSection: function(section) { + return this.get(CONTENT_BOX).one("> ." + StdMod.SECTION_CLASS_NAMES[section]); + }, + + /** + * Utility method, used by WidgetStdMods HTML_PARSER implementation + * to extract data for each section from markup. + * + * @method _parseStdModHTML + * @private + * @param {String} section + * @return {String} Inner HTML string with the contents of the section + */ + _parseStdModHTML : function(section) { + + var node = this._findStdModSection(section); + + if (node) { + if (!this._stdModParsed) { + this._stdModParsed = {}; + Y.before(this._applyStdModParsedConfig, this, APPLY_PARSED_CONFIG); + } + this._stdModParsed[section + CONTENT_SUFFIX] = 1; + + return node.get("innerHTML"); + } + + return null; + }, + + /** + * This method is injected before the _applyParsedConfig step in + * the application of HTML_PARSER, and sets up the state to + * identify whether or not we should remove the current DOM content + * or not, based on whether or not the current content attribute value + * was extracted from the DOM, or provided by the user configuration + * + * @method _applyStdModParsedConfig + * @private + */ + _applyStdModParsedConfig : function(node, cfg, parsedCfg) { + var parsed = this._stdModParsed; + if (parsed) { + parsed[HEADER_CONTENT] = !(HEADER_CONTENT in cfg) && (HEADER_CONTENT in parsed); + parsed[BODY_CONTENT] = !(BODY_CONTENT in cfg) && (BODY_CONTENT in parsed); + parsed[FOOTER_CONTENT] = !(FOOTER_CONTENT in cfg) && (FOOTER_CONTENT in parsed); + } + }, + + /** + * Retrieves the child nodes (content) of a standard module section + * + * @method _getStdModContent + * @private + * @param {String} section The standard module section whose child nodes are to be retrieved. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @return {Node} The child node collection of the standard module section. + */ + _getStdModContent : function(section) { + return (this[section + NODE_SUFFIX]) ? this[section + NODE_SUFFIX].get(CHILD_NODES) : null; + }, + + /** + * Updates the body section of the standard module with the content provided (either an HTML string, or node reference). + *

        + * This method can be used instead of the corresponding section content attribute if you'd like to retain the current content of the section, + * and insert content before or after it, by specifying the where argument. + *

        + * @method setStdModContent + * @param {String} section The standard module section whose content is to be updated. Either WidgetStdMod.HEADER, WidgetStdMod.BODY or WidgetStdMod.FOOTER. + * @param {String | Node} content The content to be added, either an HTML string or a Node reference. + * @param {String} where Optional. Either WidgetStdMod.AFTER, WidgetStdMod.BEFORE or WidgetStdMod.REPLACE. + * If not provided, the content will replace existing content in the section. + */ + setStdModContent : function(section, content, where) { + //var node = this.getStdModNode(section) || this._renderStdMod(section); + this.set(section + CONTENT_SUFFIX, content, {stdModPosition:where}); + //this._addStdModContent(node, content, where); + }, + + /** + Returns the node reference for the specified `section`. + + **Note:** The DOM is not queried for the node reference. The reference + stored by the widget instance is returned if it was set. Passing a + truthy for `forceCreate` will create the section node if it does not + already exist. + + @method getStdModNode + @param {String} section The section whose node reference is required. + Either `WidgetStdMod.HEADER`, `WidgetStdMod.BODY`, or + `WidgetStdMod.FOOTER`. + @param {Boolean} forceCreate Whether the section node should be created + if it does not already exist. + @return {Node} The node reference for the `section`, or null if not set. + **/ + getStdModNode : function(section, forceCreate) { + var node = this[section + NODE_SUFFIX] || null; + + if (!node && forceCreate) { + node = this._renderStdMod(section); + } + + return node; + }, + + /** + * Sets the height on the provided header, body or footer element to + * fill out the height of the Widget. It determines the height of the + * widgets bounding box, based on it's configured height value, and + * sets the height of the provided section to fill out any + * space remaining after the other standard module section heights + * have been accounted for. + * + *

        NOTE: This method is not designed to work if an explicit + * height has not been set on the Widget, since for an "auto" height Widget, + * the heights of the header/body/footer will drive the height of the Widget.

        + * + * @method fillHeight + * @param {Node} node The node which should be resized to fill out the height + * of the Widget bounding box. Should be a standard module section node which belongs + * to the widget. + */ + fillHeight : function(node) { + if (node) { + var contentBox = this.get(CONTENT_BOX), + stdModNodes = [this.headerNode, this.bodyNode, this.footerNode], + stdModNode, + cbContentHeight, + filled = 0, + remaining = 0, + + validNode = false; + + for (var i = 0, l = stdModNodes.length; i < l; i++) { + stdModNode = stdModNodes[i]; + if (stdModNode) { + if (stdModNode !== node) { + filled += this._getPreciseHeight(stdModNode); + } else { + validNode = true; + } + } + } + + if (validNode) { + if (UA.ie || UA.opera) { + // Need to set height to 0, to allow height to be reduced + node.set(OFFSET_HEIGHT, 0); + } + + cbContentHeight = contentBox.get(OFFSET_HEIGHT) - + parseInt(contentBox.getComputedStyle("paddingTop"), 10) - + parseInt(contentBox.getComputedStyle("paddingBottom"), 10) - + parseInt(contentBox.getComputedStyle("borderBottomWidth"), 10) - + parseInt(contentBox.getComputedStyle("borderTopWidth"), 10); + + if (L.isNumber(cbContentHeight)) { + remaining = cbContentHeight - filled; + if (remaining >= 0) { + node.set(OFFSET_HEIGHT, remaining); + } + } + } + } + } + }; + + Y.WidgetStdMod = StdMod; + + +}, '3.6.0pr3' ,{requires:['base-build', 'widget']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/assets/widget-base-core.css b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/assets/widget-base-core.css new file mode 100644 index 000000000..4e70ae513 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/assets/widget-base-core.css @@ -0,0 +1,26 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +.yui3-widget-hidden { + display:none; +} + +.yui3-widget-content { + overflow:hidden; +} + +.yui3-widget-content-expanded { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing:border-box; + height:100%; +} + +/* Only used for IE6, to go from a bigger size to a smaller size when using cb.sizeTo(bb) */ +.yui3-widget-tmp-forcesize { + overflow:hidden !important; +} \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/debug.js new file mode 100644 index 000000000..9ab319218 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("widget-uievents"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/index.js new file mode 100644 index 000000000..d776fba71 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("widget-uievents"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-debug.js new file mode 100644 index 000000000..55728c9c9 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-debug.js @@ -0,0 +1,233 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('widget-uievents', function(Y) { + +/** + * Support for Widget UI Events (Custom Events fired by the widget, which wrap the underlying DOM events - e.g. widget:click, widget:mousedown) + * + * @module widget + * @submodule widget-uievents + */ + +var BOUNDING_BOX = "boundingBox", + Widget = Y.Widget, + RENDER = "render", + L = Y.Lang, + EVENT_PREFIX_DELIMITER = ":", + + // Map of Node instances serving as a delegation containers for a specific + // event type to Widget instances using that delegation container. + _uievts = Y.Widget._uievts = Y.Widget._uievts || {}; + +Y.mix(Widget.prototype, { + + /** + * Destructor logic for UI event infrastructure, + * invoked during Widget destruction. + * + * @method _destroyUIEvents + * @for Widget + * @private + */ + _destroyUIEvents: function() { + + var widgetGuid = Y.stamp(this, true); + + Y.each(_uievts, function (info, key) { + if (info.instances[widgetGuid]) { + // Unregister this Widget instance as needing this delegated + // event listener. + delete info.instances[widgetGuid]; + + // There are no more Widget instances using this delegated + // event listener, so detach it. + + if (Y.Object.isEmpty(info.instances)) { + info.handle.detach(); + + if (_uievts[key]) { + delete _uievts[key]; + } + } + } + }); + }, + + /** + * Map of DOM events that should be fired as Custom Events by the + * Widget instance. + * + * @property UI_EVENTS + * @for Widget + * @type Object + */ + UI_EVENTS: Y.Node.DOM_EVENTS, + + /** + * Returns the node on which to bind delegate listeners. + * + * @method _getUIEventNode + * @for Widget + * @protected + */ + _getUIEventNode: function () { + return this.get(BOUNDING_BOX); + }, + + /** + * Binds a delegated DOM event listener of the specified type to the + * Widget's outtermost DOM element to facilitate the firing of a Custom + * Event of the same type for the Widget instance. + * + * @method _createUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @private + */ + _createUIEvent: function (type) { + + var uiEvtNode = this._getUIEventNode(), + key = (Y.stamp(uiEvtNode) + type), + info = _uievts[key], + handle; + + // For each Node instance: Ensure that there is only one delegated + // event listener used to fire Widget UI events. + + if (!info) { + + handle = uiEvtNode.delegate(type, function (evt) { + + var widget = Widget.getByNode(this); + + // Widget could be null if node instance belongs to + // another Y instance. + + if (widget) { + if (widget._filterUIEvent(evt)) { + widget.fire(evt.type, { domEvent: evt }); + } + } + + }, "." + Y.Widget.getClassName()); + + _uievts[key] = info = { instances: {}, handle: handle }; + } + + // Register this Widget as using this Node as a delegation container. + info.instances[Y.stamp(this)] = 1; + }, + + /** + * This method is used to determine if we should fire + * the UI Event or not. The default implementation makes sure + * that for nested delegates (nested unrelated widgets), we don't + * fire the UI event listener more than once at each level. + * + *

        For example, without the additional filter, if you have nested + * widgets, each widget will have a delegate listener. If you + * click on the inner widget, the inner delegate listener's + * filter will match once, but the outer will match twice + * (based on delegate's design) - once for the inner widget, + * and once for the outer.

        + * + * @method _filterUIEvent + * @for Widget + * @param {DOMEventFacade} evt + * @return {boolean} true if it's OK to fire the custom UI event, false if not. + * @private + * + */ + _filterUIEvent: function(evt) { + // Either it's hitting this widget's delegate container (and not some other widget's), + // or the container it's hitting is handling this widget's ui events. + return (evt.currentTarget.compareTo(evt.container) || evt.container.compareTo(this._getUIEventNode())); + }, + + /** + * Determines if the specified event is a UI event. + * + * @private + * @method _isUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @return {String} Event Returns the name of the UI Event, otherwise + * undefined. + */ + _getUIEvent: function (type) { + + if (L.isString(type)) { + var sType = this.parseType(type)[1], + iDelim, + returnVal; + + if (sType) { + // TODO: Get delimiter from ET, or have ET support this. + iDelim = sType.indexOf(EVENT_PREFIX_DELIMITER); + if (iDelim > -1) { + sType = sType.substring(iDelim + EVENT_PREFIX_DELIMITER.length); + } + + if (this.UI_EVENTS[sType]) { + returnVal = sType; + } + } + + return returnVal; + } + }, + + /** + * Sets up infrastructure required to fire a UI event. + * + * @private + * @method _initUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @return {String} + */ + _initUIEvent: function (type) { + var sType = this._getUIEvent(type), + queue = this._uiEvtsInitQueue || {}; + + if (sType && !queue[sType]) { + Y.log("Deferring creation of " + type + " delegate until render.", "info", "widget"); + + this._uiEvtsInitQueue = queue[sType] = 1; + + this.after(RENDER, function() { + this._createUIEvent(sType); + delete this._uiEvtsInitQueue[sType]; + }); + } + }, + + // Override of "on" from Base to facilitate the firing of Widget events + // based on DOM events of the same name/type (e.g. "click", "mouseover"). + // Temporary solution until we have the ability to listen to when + // someone adds an event listener (bug 2528230) + on: function (type) { + this._initUIEvent(type); + return Widget.superclass.on.apply(this, arguments); + }, + + // Override of "publish" from Base to facilitate the firing of Widget events + // based on DOM events of the same name/type (e.g. "click", "mouseover"). + // Temporary solution until we have the ability to listen to when + // someone publishes an event (bug 2528230) + publish: function (type, config) { + var sType = this._getUIEvent(type); + if (sType && config && config.defaultFn) { + this._initUIEvent(sType); + } + return Widget.superclass.publish.apply(this, arguments); + } + +}, true); // overwrite existing EventTarget methods + + +}, '3.6.0pr3' ,{requires:['widget-base', 'node-event-delegate']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-min.js new file mode 100644 index 000000000..612434429 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("widget-uievents",function(g){var f="boundingBox",e=g.Widget,d="render",a=g.Lang,c=":",b=g.Widget._uievts=g.Widget._uievts||{};g.mix(e.prototype,{_destroyUIEvents:function(){var h=g.stamp(this,true);g.each(b,function(j,i){if(j.instances[h]){delete j.instances[h];if(g.Object.isEmpty(j.instances)){j.handle.detach();if(b[i]){delete b[i];}}}});},UI_EVENTS:g.Node.DOM_EVENTS,_getUIEventNode:function(){return this.get(f);},_createUIEvent:function(i){var l=this._getUIEventNode(),h=(g.stamp(l)+i),k=b[h],j;if(!k){j=l.delegate(i,function(m){var n=e.getByNode(this);if(n){if(n._filterUIEvent(m)){n.fire(m.type,{domEvent:m});}}},"."+g.Widget.getClassName());b[h]=k={instances:{},handle:j};}k.instances[g.stamp(this)]=1;},_filterUIEvent:function(h){return(h.currentTarget.compareTo(h.container)||h.container.compareTo(this._getUIEventNode()));},_getUIEvent:function(j){if(a.isString(j)){var k=this.parseType(j)[1],h,i;if(k){h=k.indexOf(c);if(h>-1){k=k.substring(h+c.length);}if(this.UI_EVENTS[k]){i=k;}}return i;}},_initUIEvent:function(i){var j=this._getUIEvent(i),h=this._uiEvtsInitQueue||{};if(j&&!h[j]){this._uiEvtsInitQueue=h[j]=1;this.after(d,function(){this._createUIEvent(j);delete this._uiEvtsInitQueue[j];});}},on:function(h){this._initUIEvent(h);return e.superclass.on.apply(this,arguments);},publish:function(i,h){var j=this._getUIEvent(i);if(j&&h&&h.defaultFn){this._initUIEvent(j);}return e.superclass.publish.apply(this,arguments);}},true);},"3.6.0pr3",{requires:["widget-base","node-event-delegate"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents.js new file mode 100644 index 000000000..2c7e1dd3b --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget-uievents/widget-uievents.js @@ -0,0 +1,232 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('widget-uievents', function(Y) { + +/** + * Support for Widget UI Events (Custom Events fired by the widget, which wrap the underlying DOM events - e.g. widget:click, widget:mousedown) + * + * @module widget + * @submodule widget-uievents + */ + +var BOUNDING_BOX = "boundingBox", + Widget = Y.Widget, + RENDER = "render", + L = Y.Lang, + EVENT_PREFIX_DELIMITER = ":", + + // Map of Node instances serving as a delegation containers for a specific + // event type to Widget instances using that delegation container. + _uievts = Y.Widget._uievts = Y.Widget._uievts || {}; + +Y.mix(Widget.prototype, { + + /** + * Destructor logic for UI event infrastructure, + * invoked during Widget destruction. + * + * @method _destroyUIEvents + * @for Widget + * @private + */ + _destroyUIEvents: function() { + + var widgetGuid = Y.stamp(this, true); + + Y.each(_uievts, function (info, key) { + if (info.instances[widgetGuid]) { + // Unregister this Widget instance as needing this delegated + // event listener. + delete info.instances[widgetGuid]; + + // There are no more Widget instances using this delegated + // event listener, so detach it. + + if (Y.Object.isEmpty(info.instances)) { + info.handle.detach(); + + if (_uievts[key]) { + delete _uievts[key]; + } + } + } + }); + }, + + /** + * Map of DOM events that should be fired as Custom Events by the + * Widget instance. + * + * @property UI_EVENTS + * @for Widget + * @type Object + */ + UI_EVENTS: Y.Node.DOM_EVENTS, + + /** + * Returns the node on which to bind delegate listeners. + * + * @method _getUIEventNode + * @for Widget + * @protected + */ + _getUIEventNode: function () { + return this.get(BOUNDING_BOX); + }, + + /** + * Binds a delegated DOM event listener of the specified type to the + * Widget's outtermost DOM element to facilitate the firing of a Custom + * Event of the same type for the Widget instance. + * + * @method _createUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @private + */ + _createUIEvent: function (type) { + + var uiEvtNode = this._getUIEventNode(), + key = (Y.stamp(uiEvtNode) + type), + info = _uievts[key], + handle; + + // For each Node instance: Ensure that there is only one delegated + // event listener used to fire Widget UI events. + + if (!info) { + + handle = uiEvtNode.delegate(type, function (evt) { + + var widget = Widget.getByNode(this); + + // Widget could be null if node instance belongs to + // another Y instance. + + if (widget) { + if (widget._filterUIEvent(evt)) { + widget.fire(evt.type, { domEvent: evt }); + } + } + + }, "." + Y.Widget.getClassName()); + + _uievts[key] = info = { instances: {}, handle: handle }; + } + + // Register this Widget as using this Node as a delegation container. + info.instances[Y.stamp(this)] = 1; + }, + + /** + * This method is used to determine if we should fire + * the UI Event or not. The default implementation makes sure + * that for nested delegates (nested unrelated widgets), we don't + * fire the UI event listener more than once at each level. + * + *

        For example, without the additional filter, if you have nested + * widgets, each widget will have a delegate listener. If you + * click on the inner widget, the inner delegate listener's + * filter will match once, but the outer will match twice + * (based on delegate's design) - once for the inner widget, + * and once for the outer.

        + * + * @method _filterUIEvent + * @for Widget + * @param {DOMEventFacade} evt + * @return {boolean} true if it's OK to fire the custom UI event, false if not. + * @private + * + */ + _filterUIEvent: function(evt) { + // Either it's hitting this widget's delegate container (and not some other widget's), + // or the container it's hitting is handling this widget's ui events. + return (evt.currentTarget.compareTo(evt.container) || evt.container.compareTo(this._getUIEventNode())); + }, + + /** + * Determines if the specified event is a UI event. + * + * @private + * @method _isUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @return {String} Event Returns the name of the UI Event, otherwise + * undefined. + */ + _getUIEvent: function (type) { + + if (L.isString(type)) { + var sType = this.parseType(type)[1], + iDelim, + returnVal; + + if (sType) { + // TODO: Get delimiter from ET, or have ET support this. + iDelim = sType.indexOf(EVENT_PREFIX_DELIMITER); + if (iDelim > -1) { + sType = sType.substring(iDelim + EVENT_PREFIX_DELIMITER.length); + } + + if (this.UI_EVENTS[sType]) { + returnVal = sType; + } + } + + return returnVal; + } + }, + + /** + * Sets up infrastructure required to fire a UI event. + * + * @private + * @method _initUIEvent + * @for Widget + * @param type {String} String representing the name of the event + * @return {String} + */ + _initUIEvent: function (type) { + var sType = this._getUIEvent(type), + queue = this._uiEvtsInitQueue || {}; + + if (sType && !queue[sType]) { + + this._uiEvtsInitQueue = queue[sType] = 1; + + this.after(RENDER, function() { + this._createUIEvent(sType); + delete this._uiEvtsInitQueue[sType]; + }); + } + }, + + // Override of "on" from Base to facilitate the firing of Widget events + // based on DOM events of the same name/type (e.g. "click", "mouseover"). + // Temporary solution until we have the ability to listen to when + // someone adds an event listener (bug 2528230) + on: function (type) { + this._initUIEvent(type); + return Widget.superclass.on.apply(this, arguments); + }, + + // Override of "publish" from Base to facilitate the firing of Widget events + // based on DOM events of the same name/type (e.g. "click", "mouseover"). + // Temporary solution until we have the ability to listen to when + // someone publishes an event (bug 2528230) + publish: function (type, config) { + var sType = this._getUIEvent(type); + if (sType && config && config.defaultFn) { + this._initUIEvent(sType); + } + return Widget.superclass.publish.apply(this, arguments); + } + +}, true); // overwrite existing EventTarget methods + + +}, '3.6.0pr3' ,{requires:['widget-base', 'node-event-delegate']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget.js new file mode 100644 index 000000000..d5961bfd0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/widget.js @@ -0,0 +1,2 @@ +var inst = require("./index").getInstance(); +module.exports = inst.use("widget"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/debug.js new file mode 100644 index 000000000..1d54f0022 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("yql"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/index.js new file mode 100644 index 000000000..7734d83d4 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("yql"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-debug.js new file mode 100644 index 000000000..d14455fff --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-debug.js @@ -0,0 +1,204 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('yql', function(Y) { + + /** + * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/). + * @module yql + */ + /** + * Utility Class used under the hood my the YQL class + * @class YQLRequest + * @constructor + * @param {String} sql The SQL statement to execute + * @param {Function/Object} callback The callback to execute after the query (Falls through to JSONP). + * @param {Object} params An object literal of extra parameters to pass along (optional). + * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url) + */ + var YQLRequest = function (sql, callback, params, opts) { + + if (!params) { + params = {}; + } + params.q = sql; + //Allow format override.. JSON-P-X + if (!params.format) { + params.format = Y.YQLRequest.FORMAT; + } + if (!params.env) { + params.env = Y.YQLRequest.ENV; + } + + this._context = this; + + if (opts && opts.context) { + this._context = opts.context; + delete opts.context; + } + + if (params && params.context) { + this._context = params.context; + delete params.context; + } + + this._params = params; + this._opts = opts; + this._callback = callback; + + }; + + YQLRequest.prototype = { + /** + * @private + * @property _jsonp + * @description Reference to the JSONP instance used to make the queries + */ + _jsonp: null, + /** + * @private + * @property _opts + * @description Holder for the opts argument + */ + _opts: null, + /** + * @private + * @property _callback + * @description Holder for the callback argument + */ + _callback: null, + /** + * @private + * @property _success + * @description Holder for the success callback argument + */ + _success: null, + /** + * @private + * @property _failure + * @description Holder for the failure callback argument + */ + _failure: null, + /** + * @private + * @property _params + * @description Holder for the params argument + */ + _params: null, + /** + * @private + * @property _context + * @description The context to execute the callback in + */ + _context: null, + /** + * @private + * @method _internal + * @description Internal Callback Handler + */ + _internal: function(r) { + if (this._failure) { + if (r.error) { + this._failure.call(this._context, r.error); + } else { + this._success.apply(this._context, arguments); + } + } else { + this._success.apply(this._context, arguments); + } + }, + /** + * @method send + * @description The method that executes the YQL Request. + * @chainable + * @return {YQLRequest} + */ + send: function() { + var qs = [], url = ((this._opts && this._opts.proto) ? this._opts.proto : Y.YQLRequest.PROTO); + + Y.each(this._params, function(v, k) { + qs.push(k + '=' + encodeURIComponent(v)); + }); + + qs = qs.join('&'); + + url += ((this._opts && this._opts.base) ? this._opts.base : Y.YQLRequest.BASE_URL) + qs; + + var o = (!Y.Lang.isFunction(this._callback)) ? this._callback : { on: { success: this._callback } }; + + o.on = o.on || {}; + + if (o.on.failure) { + this._failure = o.on.failure; + } + + if (o.on.success) { + this._success = o.on.success; + } + + o.on.success = Y.bind(this._internal, this); + + if (o.allowCache !== false) { + o.allowCache = true; + } + Y.log('URL: ' + url, 'info', 'yql'); + + if (!this._jsonp) { + this._jsonp = Y.jsonp(url, o); + } else { + this._jsonp.url = url; + if (o.on && o.on.success) { + this._jsonp._config.on.success = o.on.success; + } + this._jsonp.send(); + } + return this; + } + }; + + /** + * @static + * @property FORMAT + * @description Default format to use: json + */ + YQLRequest.FORMAT = 'json'; + /** + * @static + * @property PROTO + * @description Default protocol to use: http + */ + YQLRequest.PROTO = 'http'; + /** + * @static + * @property BASE_URL + * @description The base URL to query: query.yahooapis.com/v1/public/yql? + */ + YQLRequest.BASE_URL = ':/'+'/query.yahooapis.com/v1/public/yql?'; + /** + * @static + * @property ENV + * @description The environment file to load: http://datatables.org/alltables.env + */ + YQLRequest.ENV = 'http:/'+'/datatables.org/alltables.env'; + + Y.YQLRequest = YQLRequest; + + /** + * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/). + * @class YQL + * @constructor + * @param {String} sql The SQL statement to execute + * @param {Function} callback The callback to execute after the query (optional). + * @param {Object} params An object literal of extra parameters to pass along (optional). + * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url) + */ + Y.YQL = function(sql, callback, params, opts) { + return new Y.YQLRequest(sql, callback, params, opts).send(); + }; + + + +}, '3.6.0pr3' ,{requires:['jsonp', 'jsonp-url']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-min.js new file mode 100644 index 000000000..f4cb71bc9 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql-min.js @@ -0,0 +1,7 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add("yql",function(b){var a=function(e,f,d,c){if(!d){d={};}d.q=e;if(!d.format){d.format=b.YQLRequest.FORMAT;}if(!d.env){d.env=b.YQLRequest.ENV;}this._context=this;if(c&&c.context){this._context=c.context;delete c.context;}if(d&&d.context){this._context=d.context;delete d.context;}this._params=d;this._opts=c;this._callback=f;};a.prototype={_jsonp:null,_opts:null,_callback:null,_success:null,_failure:null,_params:null,_context:null,_internal:function(c){if(this._failure){if(c.error){this._failure.call(this._context,c.error);}else{this._success.apply(this._context,arguments);}}else{this._success.apply(this._context,arguments);}},send:function(){var c=[],d=((this._opts&&this._opts.proto)?this._opts.proto:b.YQLRequest.PROTO);b.each(this._params,function(g,f){c.push(f+"="+encodeURIComponent(g));});c=c.join("&");d+=((this._opts&&this._opts.base)?this._opts.base:b.YQLRequest.BASE_URL)+c;var e=(!b.Lang.isFunction(this._callback))?this._callback:{on:{success:this._callback}};e.on=e.on||{};if(e.on.failure){this._failure=e.on.failure;}if(e.on.success){this._success=e.on.success;}e.on.success=b.bind(this._internal,this);if(e.allowCache!==false){e.allowCache=true;}if(!this._jsonp){this._jsonp=b.jsonp(d,e);}else{this._jsonp.url=d;if(e.on&&e.on.success){this._jsonp._config.on.success=e.on.success;}this._jsonp.send();}return this;}};a.FORMAT="json";a.PROTO="http";a.BASE_URL=":/"+"/query.yahooapis.com/v1/public/yql?";a.ENV="http:/"+"/datatables.org/alltables.env";b.YQLRequest=a;b.YQL=function(e,f,d,c){return new b.YQLRequest(e,f,d,c).send();};},"3.6.0pr3",{requires:["jsonp","jsonp-url"]}); \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql.js new file mode 100644 index 000000000..d5ade8314 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yql/yql.js @@ -0,0 +1,203 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +YUI.add('yql', function(Y) { + + /** + * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/). + * @module yql + */ + /** + * Utility Class used under the hood my the YQL class + * @class YQLRequest + * @constructor + * @param {String} sql The SQL statement to execute + * @param {Function/Object} callback The callback to execute after the query (Falls through to JSONP). + * @param {Object} params An object literal of extra parameters to pass along (optional). + * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url) + */ + var YQLRequest = function (sql, callback, params, opts) { + + if (!params) { + params = {}; + } + params.q = sql; + //Allow format override.. JSON-P-X + if (!params.format) { + params.format = Y.YQLRequest.FORMAT; + } + if (!params.env) { + params.env = Y.YQLRequest.ENV; + } + + this._context = this; + + if (opts && opts.context) { + this._context = opts.context; + delete opts.context; + } + + if (params && params.context) { + this._context = params.context; + delete params.context; + } + + this._params = params; + this._opts = opts; + this._callback = callback; + + }; + + YQLRequest.prototype = { + /** + * @private + * @property _jsonp + * @description Reference to the JSONP instance used to make the queries + */ + _jsonp: null, + /** + * @private + * @property _opts + * @description Holder for the opts argument + */ + _opts: null, + /** + * @private + * @property _callback + * @description Holder for the callback argument + */ + _callback: null, + /** + * @private + * @property _success + * @description Holder for the success callback argument + */ + _success: null, + /** + * @private + * @property _failure + * @description Holder for the failure callback argument + */ + _failure: null, + /** + * @private + * @property _params + * @description Holder for the params argument + */ + _params: null, + /** + * @private + * @property _context + * @description The context to execute the callback in + */ + _context: null, + /** + * @private + * @method _internal + * @description Internal Callback Handler + */ + _internal: function(r) { + if (this._failure) { + if (r.error) { + this._failure.call(this._context, r.error); + } else { + this._success.apply(this._context, arguments); + } + } else { + this._success.apply(this._context, arguments); + } + }, + /** + * @method send + * @description The method that executes the YQL Request. + * @chainable + * @return {YQLRequest} + */ + send: function() { + var qs = [], url = ((this._opts && this._opts.proto) ? this._opts.proto : Y.YQLRequest.PROTO); + + Y.each(this._params, function(v, k) { + qs.push(k + '=' + encodeURIComponent(v)); + }); + + qs = qs.join('&'); + + url += ((this._opts && this._opts.base) ? this._opts.base : Y.YQLRequest.BASE_URL) + qs; + + var o = (!Y.Lang.isFunction(this._callback)) ? this._callback : { on: { success: this._callback } }; + + o.on = o.on || {}; + + if (o.on.failure) { + this._failure = o.on.failure; + } + + if (o.on.success) { + this._success = o.on.success; + } + + o.on.success = Y.bind(this._internal, this); + + if (o.allowCache !== false) { + o.allowCache = true; + } + + if (!this._jsonp) { + this._jsonp = Y.jsonp(url, o); + } else { + this._jsonp.url = url; + if (o.on && o.on.success) { + this._jsonp._config.on.success = o.on.success; + } + this._jsonp.send(); + } + return this; + } + }; + + /** + * @static + * @property FORMAT + * @description Default format to use: json + */ + YQLRequest.FORMAT = 'json'; + /** + * @static + * @property PROTO + * @description Default protocol to use: http + */ + YQLRequest.PROTO = 'http'; + /** + * @static + * @property BASE_URL + * @description The base URL to query: query.yahooapis.com/v1/public/yql? + */ + YQLRequest.BASE_URL = ':/'+'/query.yahooapis.com/v1/public/yql?'; + /** + * @static + * @property ENV + * @description The environment file to load: http://datatables.org/alltables.env + */ + YQLRequest.ENV = 'http:/'+'/datatables.org/alltables.env'; + + Y.YQLRequest = YQLRequest; + + /** + * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/). + * @class YQL + * @constructor + * @param {String} sql The SQL statement to execute + * @param {Function} callback The callback to execute after the query (optional). + * @param {Object} params An object literal of extra parameters to pass along (optional). + * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url) + */ + Y.YQL = function(sql, callback, params, opts) { + return new Y.YQLRequest(sql, callback, params, opts).send(); + }; + + + +}, '3.6.0pr3' ,{requires:['jsonp', 'jsonp-url']}); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/debug.js new file mode 100644 index 000000000..d6e49f1ac --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/debug.js @@ -0,0 +1,3 @@ +var inst = require("../index").getInstance(); +inst.applyConfig({ debug: true, filter: "debug" }); +module.exports = inst.use("yui-base"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/index.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/index.js new file mode 100644 index 000000000..8a4ac5ca4 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/index.js @@ -0,0 +1,2 @@ +var inst = require("../index").getInstance(); +module.exports = inst.use("yui-base"); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/yui-base-debug.js b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/yui-base-debug.js new file mode 100644 index 000000000..b17f96ba0 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/node_modules/yui/yui-base/yui-base-debug.js @@ -0,0 +1,5708 @@ +/* +YUI 3.6.0pr3 (build 1) +Copyright 2012 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ +/** + * The YUI module contains the components required for building the YUI seed + * file. This includes the script loading mechanism, a simple queue, and + * the core utilities for the library. + * @module yui + * @main yui + * @submodule yui-base + */ + +if (typeof YUI != 'undefined') { + YUI._YUI = YUI; +} + +/** +The YUI global namespace object. If YUI is already defined, the +existing YUI object will not be overwritten so that defined +namespaces are preserved. It is the constructor for the object +the end user interacts with. As indicated below, each instance +has full custom event support, but only if the event system +is available. This is a self-instantiable factory function. You +can invoke it directly like this: + + YUI().use('*', function(Y) { + // ready + }); + +But it also works like this: + + var Y = YUI(); + +Configuring the YUI object: + + YUI({ + debug: true, + combine: false + }).use('node', function(Y) { + //Node is ready to use + }); + +See the API docs for the Config class +for the complete list of supported configuration properties accepted +by the YUI constuctor. + +@class YUI +@constructor +@global +@uses EventTarget +@param [o]* {Object} 0..n optional configuration objects. these values +are store in Y.config. See Config for the list of supported +properties. +*/ + /*global YUI*/ + /*global YUI_config*/ + var YUI = function() { + var i = 0, + Y = this, + args = arguments, + l = args.length, + instanceOf = function(o, type) { + return (o && o.hasOwnProperty && (o instanceof type)); + }, + gconf = (typeof YUI_config !== 'undefined') && YUI_config; + + if (!(instanceOf(Y, YUI))) { + Y = new YUI(); + } else { + // set up the core environment + Y._init(); + + /** + YUI.GlobalConfig is a master configuration that might span + multiple contexts in a non-browser environment. It is applied + first to all instances in all contexts. + @property GlobalConfig + @type {Object} + @global + @static + @example + + + YUI.GlobalConfig = { + filter: 'debug' + }; + + YUI().use('node', function(Y) { + //debug files used here + }); + + YUI({ + filter: 'min' + }).use('node', function(Y) { + //min files used here + }); + + */ + if (YUI.GlobalConfig) { + Y.applyConfig(YUI.GlobalConfig); + } + + /** + YUI_config is a page-level config. It is applied to all + instances created on the page. This is applied after + YUI.GlobalConfig, and before the instance level configuration + objects. + @global + @property YUI_config + @type {Object} + @example + + + //Single global var to include before YUI seed file + YUI_config = { + filter: 'debug' + }; + + YUI().use('node', function(Y) { + //debug files used here + }); + + YUI({ + filter: 'min' + }).use('node', function(Y) { + //min files used here + }); + */ + if (gconf) { + Y.applyConfig(gconf); + } + + // bind the specified additional modules for this instance + if (!l) { + Y._setup(); + } + } + + if (l) { + // Each instance can accept one or more configuration objects. + // These are applied after YUI.GlobalConfig and YUI_Config, + // overriding values set in those config files if there is a ' + // matching property. + for (; i < l; i++) { + Y.applyConfig(args[i]); + } + + Y._setup(); + } + + Y.instanceOf = instanceOf; + + return Y; + }; + +(function() { + + var proto, prop, + VERSION = '3.6.0pr3', + PERIOD = '.', + BASE = 'http://yui.yahooapis.com/', + /* + These CSS class names can't be generated by + getClassName since it is not available at the + time they are being used. + */ + DOC_LABEL = 'yui3-js-enabled', + CSS_STAMP_EL = 'yui3-css-stamp', + NOOP = function() {}, + SLICE = Array.prototype.slice, + APPLY_TO_AUTH = { 'io.xdrReady': 1, // the functions applyTo + 'io.xdrResponse': 1, // can call. this should + 'SWF.eventHandler': 1 }, // be done at build time + hasWin = (typeof window != 'undefined'), + win = (hasWin) ? window : null, + doc = (hasWin) ? win.document : null, + docEl = doc && doc.documentElement, + docClass = docEl && docEl.className, + instances = {}, + time = new Date().getTime(), + add = function(el, type, fn, capture) { + if (el && el.addEventListener) { + el.addEventListener(type, fn, capture); + } else if (el && el.attachEvent) { + el.attachEvent('on' + type, fn); + } + }, + remove = function(el, type, fn, capture) { + if (el && el.removeEventListener) { + // this can throw an uncaught exception in FF + try { + el.removeEventListener(type, fn, capture); + } catch (ex) {} + } else if (el && el.detachEvent) { + el.detachEvent('on' + type, fn); + } + }, + handleLoad = function() { + YUI.Env.windowLoaded = true; + YUI.Env.DOMReady = true; + if (hasWin) { + remove(window, 'load', handleLoad); + } + }, + getLoader = function(Y, o) { + var loader = Y.Env._loader; + if (loader) { + //loader._config(Y.config); + loader.ignoreRegistered = false; + loader.onEnd = null; + loader.data = null; + loader.required = []; + loader.loadType = null; + } else { + loader = new Y.Loader(Y.config); + Y.Env._loader = loader; + } + YUI.Env.core = Y.Array.dedupe([].concat(YUI.Env.core, [ 'loader-base', 'loader-rollup', 'loader-yui3' ])); + + return loader; + }, + + clobber = function(r, s) { + for (var i in s) { + if (s.hasOwnProperty(i)) { + r[i] = s[i]; + } + } + }, + + ALREADY_DONE = { success: true }; + +// Stamp the documentElement (HTML) with a class of "yui-loaded" to +// enable styles that need to key off of JS being enabled. +if (docEl && docClass.indexOf(DOC_LABEL) == -1) { + if (docClass) { + docClass += ' '; + } + docClass += DOC_LABEL; + docEl.className = docClass; +} + +if (VERSION.indexOf('@') > -1) { + VERSION = '3.5.0'; // dev time hack for cdn test +} + +proto = { + /** + * Applies a new configuration object to the YUI instance config. + * This will merge new group/module definitions, and will also + * update the loader cache if necessary. Updating Y.config directly + * will not update the cache. + * @method applyConfig + * @param {Object} o the configuration object. + * @since 3.2.0 + */ + applyConfig: function(o) { + + o = o || NOOP; + + var attr, + name, + // detail, + config = this.config, + mods = config.modules, + groups = config.groups, + aliases = config.aliases, + loader = this.Env._loader; + + for (name in o) { + if (o.hasOwnProperty(name)) { + attr = o[name]; + if (mods && name == 'modules') { + clobber(mods, attr); + } else if (aliases && name == 'aliases') { + clobber(aliases, attr); + } else if (groups && name == 'groups') { + clobber(groups, attr); + } else if (name == 'win') { + config[name] = (attr && attr.contentWindow) || attr; + config.doc = config[name] ? config[name].document : null; + } else if (name == '_yuid') { + // preserve the guid + } else { + config[name] = attr; + } + } + } + + if (loader) { + loader._config(o); + } + + }, + /** + * Old way to apply a config to the instance (calls `applyConfig` under the hood) + * @private + * @method _config + * @param {Object} o The config to apply + */ + _config: function(o) { + this.applyConfig(o); + }, + + /** + * Initialize this YUI instance + * @private + * @method _init + */ + _init: function() { + var filter, el, + Y = this, + G_ENV = YUI.Env, + Env = Y.Env, + prop; + + /** + * The version number of the YUI instance. + * @property version + * @type string + */ + Y.version = VERSION; + + if (!Env) { + Y.Env = { + core: ['get','features','intl-base','yui-log','yui-later'], + mods: {}, // flat module map + versions: {}, // version module map + base: BASE, + cdn: BASE + VERSION + '/build/', + // bootstrapped: false, + _idx: 0, + _used: {}, + _attached: {}, + _missed: [], + _yidx: 0, + _uidx: 0, + _guidp: 'y', + _loaded: {}, + // serviced: {}, + // Regex in English: + // I'll start at the \b(simpleyui). + // 1. Look in the test string for "simpleyui" or "yui" or + // "yui-base" or "yui-davglass" or "yui-foobar" that comes after a word break. That is, it + // can't match "foyui" or "i_heart_simpleyui". This can be anywhere in the string. + // 2. After #1 must come a forward slash followed by the string matched in #1, so + // "yui-base/yui-base" or "simpleyui/simpleyui" or "yui-pants/yui-pants". + // 3. The second occurence of the #1 token can optionally be followed by "-debug" or "-min", + // so "yui/yui-min", "yui/yui-debug", "yui-base/yui-base-debug". NOT "yui/yui-tshirt". + // 4. This is followed by ".js", so "yui/yui.js", "simpleyui/simpleyui-min.js" + // 0. Going back to the beginning, now. If all that stuff in 1-4 comes after a "?" in the string, + // then capture the junk between the LAST "&" and the string in 1-4. So + // "blah?foo/yui/yui.js" will capture "foo/" and "blah?some/thing.js&3.3.0/build/yui-davglass/yui-davglass.js" + // will capture "3.3.0/build/" + // + // Regex Exploded: + // (?:\? Find a ? + // (?:[^&]*&) followed by 0..n characters followed by an & + // * in fact, find as many sets of characters followed by a & as you can + // ([^&]*) capture the stuff after the last & in \1 + // )? but it's ok if all this ?junk&more_junk stuff isn't even there + // \b(simpleyui| after a word break find either the string "simpleyui" or + // yui(?:-\w+)? the string "yui" optionally followed by a -, then more characters + // ) and store the simpleyui or yui-* string in \2 + // \/\2 then comes a / followed by the simpleyui or yui-* string in \2 + // (?:-(min|debug))? optionally followed by "-min" or "-debug" + // .js and ending in ".js" + _BASE_RE: /(?:\?(?:[^&]*&)*([^&]*))?\b(simpleyui|yui(?:-\w+)?)\/\2(?:-(min|debug))?\.js/, + parseBasePath: function(src, pattern) { + var match = src.match(pattern), + path, filter; + + if (match) { + path = RegExp.leftContext || src.slice(0, src.indexOf(match[0])); + + // this is to set up the path to the loader. The file + // filter for loader should match the yui include. + filter = match[3]; + + // extract correct path for mixed combo urls + // http://yuilibrary.com/projects/yui3/ticket/2528423 + if (match[1]) { + path += '?' + match[1]; + } + path = { + filter: filter, + path: path + } + } + return path; + }, + getBase: G_ENV && G_ENV.getBase || + function(pattern) { + var nodes = (doc && doc.getElementsByTagName('script')) || [], + path = Env.cdn, parsed, + i, len, src; + + for (i = 0, len = nodes.length; i < len; ++i) { + src = nodes[i].src; + if (src) { + parsed = Y.Env.parseBasePath(src, pattern); + if (parsed) { + filter = parsed.filter; + path = parsed.path; + break; + } + } + } + + // use CDN default + return path; + } + + }; + + Env = Y.Env; + + Env._loaded[VERSION] = {}; + + if (G_ENV && Y !== YUI) { + Env._yidx = ++G_ENV._yidx; + Env._guidp = ('yui_' + VERSION + '_' + + Env._yidx + '_' + time).replace(/\./g, '_'); + } else if (YUI._YUI) { + + G_ENV = YUI._YUI.Env; + Env._yidx += G_ENV._yidx; + Env._uidx += G_ENV._uidx; + + for (prop in G_ENV) { + if (!(prop in Env)) { + Env[prop] = G_ENV[prop]; + } + } + + delete YUI._YUI; + } + + Y.id = Y.stamp(Y); + instances[Y.id] = Y; + + } + + Y.constructor = YUI; + + // configuration defaults + Y.config = Y.config || { + bootstrap: true, + cacheUse: true, + debug: true, + doc: doc, + fetchCSS: true, + throwFail: true, + useBrowserConsole: true, + useNativeES5: true, + win: win + }; + + //Register the CSS stamp element + if (doc && !doc.getElementById(CSS_STAMP_EL)) { + el = doc.createElement('div'); + el.innerHTML = '
        '; + YUI.Env.cssStampEl = el.firstChild; + if (doc.body) { + doc.body.appendChild(YUI.Env.cssStampEl); + } else { + docEl.insertBefore(YUI.Env.cssStampEl, docEl.firstChild); + } + } + + Y.config.lang = Y.config.lang || 'en-US'; + + Y.config.base = YUI.config.base || Y.Env.getBase(Y.Env._BASE_RE); + + if (!filter || (!('mindebug').indexOf(filter))) { + filter = 'min'; + } + filter = (filter) ? '-' + filter : filter; + Y.config.loaderPath = YUI.config.loaderPath || 'loader/loader' + filter + '.js'; + + }, + + /** + * Finishes the instance setup. Attaches whatever modules were defined + * when the yui modules was registered. + * @method _setup + * @private + */ + _setup: function(o) { + var i, Y = this, + core = [], + mods = YUI.Env.mods, + //extras = Y.config.core || ['get','features','intl-base','yui-log','yui-later']; + extras = Y.config.core || [].concat(YUI.Env.core); //Clone it.. + + for (i = 0; i < extras.length; i++) { + if (mods[extras[i]]) { + core.push(extras[i]); + } + } + + Y._attach(['yui-base']); + Y._attach(core); + + if (Y.Loader) { + getLoader(Y); + } + + // Y.log(Y.id + ' initialized', 'info', 'yui'); + }, + + /** + * Executes a method on a YUI instance with + * the specified id if the specified method is whitelisted. + * @method applyTo + * @param id {String} the YUI instance id. + * @param method {String} the name of the method to exectute. + * Ex: 'Object.keys'. + * @param args {Array} the arguments to apply to the method. + * @return {Object} the return value from the applied method or null. + */ + applyTo: function(id, method, args) { + if (!(method in APPLY_TO_AUTH)) { + this.log(method + ': applyTo not allowed', 'warn', 'yui'); + return null; + } + + var instance = instances[id], nest, m, i; + if (instance) { + nest = method.split('.'); + m = instance; + for (i = 0; i < nest.length; i = i + 1) { + m = m[nest[i]]; + if (!m) { + this.log('applyTo not found: ' + method, 'warn', 'yui'); + } + } + return m && m.apply(instance, args); + } + + return null; + }, + +/** +Registers a module with the YUI global. The easiest way to create a +first-class YUI module is to use the YUI component build tool. + +http://yuilibrary.com/projects/builder + +The build system will produce the `YUI.add` wrapper for you module, along +with any configuration info required for the module. +@method add +@param name {String} module name. +@param fn {Function} entry point into the module that is used to bind module to the YUI instance. +@param {YUI} fn.Y The YUI instance this module is executed in. +@param {String} fn.name The name of the module +@param version {String} version string. +@param details {Object} optional config data: +@param details.requires {Array} features that must be present before this module can be attached. +@param details.optional {Array} optional features that should be present if loadOptional + is defined. Note: modules are not often loaded this way in YUI 3, + but this field is still useful to inform the user that certain + features in the component will require additional dependencies. +@param details.use {Array} features that are included within this module which need to + be attached automatically when this module is attached. This + supports the YUI 3 rollup system -- a module with submodules + defined will need to have the submodules listed in the 'use' + config. The YUI component build tool does this for you. +@return {YUI} the YUI instance. +@example + + YUI.add('davglass', function(Y, name) { + Y.davglass = function() { + alert('Dav was here!'); + }; + }, '3.4.0', { requires: ['yui-base', 'harley-davidson', 'mt-dew'] }); + +*/ + add: function(name, fn, version, details) { + details = details || {}; + var env = YUI.Env, + mod = { + name: name, + fn: fn, + version: version, + details: details + }, + loader, + i, versions = env.versions; + + env.mods[name] = mod; + versions[version] = versions[version] || {}; + versions[version][name] = mod; + + for (i in instances) { + if (instances.hasOwnProperty(i)) { + loader = instances[i].Env._loader; + if (loader) { + if (!loader.moduleInfo[name] || loader.moduleInfo[name].temp) { + loader.addModule(details, name); + } + } + } + } + + return this; + }, + + /** + * Executes the function associated with each required + * module, binding the module to the YUI instance. + * @param {Array} r The array of modules to attach + * @param {Boolean} [moot=false] Don't throw a warning if the module is not attached + * @method _attach + * @private + */ + _attach: function(r, moot) { + var i, name, mod, details, req, use, after, + mods = YUI.Env.mods, + aliases = YUI.Env.aliases, + Y = this, j, + cache = YUI.Env._renderedMods, + loader = Y.Env._loader, + done = Y.Env._attached, + len = r.length, loader, def, go, + c = []; + + //Check for conditional modules (in a second+ instance) and add their requirements + //TODO I hate this entire method, it needs to be fixed ASAP (3.5.0) ^davglass + for (i = 0; i < len; i++) { + name = r[i]; + mod = mods[name]; + c.push(name); + if (loader && loader.conditions[name]) { + for (j in loader.conditions[name]) { + if (loader.conditions[name].hasOwnProperty(j)) { + def = loader.conditions[name][j]; + go = def && ((def.ua && Y.UA[def.ua]) || (def.test && def.test(Y))); + if (go) { + c.push(def.name); + } + } + } + } + } + r = c; + len = r.length; + + for (i = 0; i < len; i++) { + if (!done[r[i]]) { + name = r[i]; + mod = mods[name]; + + if (aliases && aliases[name] && !mod) { + Y._attach(aliases[name]); + continue; + } + if (!mod) { + if (loader && loader.moduleInfo[name]) { + mod = loader.moduleInfo[name]; + moot = true; + } + + // Y.log('no js def for: ' + name, 'info', 'yui'); + + //if (!loader || !loader.moduleInfo[name]) { + //if ((!loader || !loader.moduleInfo[name]) && !moot) { + if (!moot && name) { + if ((name.indexOf('skin-') === -1) && (name.indexOf('css') === -1)) { + Y.Env._missed.push(name); + Y.Env._missed = Y.Array.dedupe(Y.Env._missed); + Y.message('NOT loaded: ' + name, 'warn', 'yui'); + } + } + } else { + done[name] = true; + //Don't like this, but in case a mod was asked for once, then we fetch it + //We need to remove it from the missed list ^davglass + for (j = 0; j < Y.Env._missed.length; j++) { + if (Y.Env._missed[j] === name) { + Y.message('Found: ' + name + ' (was reported as missing earlier)', 'warn', 'yui'); + Y.Env._missed.splice(j, 1); + } + } + /* + If it's a temp module, we need to redo it's requirements if it's already loaded + since it may have been loaded by another instance and it's dependencies might + have been redefined inside the fetched file. + */ + if (loader && cache && cache[name] && cache[name].temp) { + loader.getRequires(cache[name]); + req = []; + for (j in loader.moduleInfo[name].expanded_map) { + if (loader.moduleInfo[name].expanded_map.hasOwnProperty(j)) { + req.push(j); + } + } + Y._attach(req); + } + + details = mod.details; + req = details.requires; + use = details.use; + after = details.after; + //Force Intl load if there is a language (Loader logic) @todo fix this shit + if (details.lang) { + req = req || []; + req.unshift('intl'); + } + + if (req) { + for (j = 0; j < req.length; j++) { + if (!done[req[j]]) { + if (!Y._attach(req)) { + return false; + } + break; + } + } + } + + if (after) { + for (j = 0; j < after.length; j++) { + if (!done[after[j]]) { + if (!Y._attach(after, true)) { + return false; + } + break; + } + } + } + + if (mod.fn) { + if (Y.config.throwFail) { + mod.fn(Y, name); + } else { + try { + mod.fn(Y, name); + } catch (e) { + Y.error('Attach error: ' + name, e, name); + return false; + } + } + } + + if (use) { + for (j = 0; j < use.length; j++) { + if (!done[use[j]]) { + if (!Y._attach(use)) { + return false; + } + break; + } + } + } + + + + } + } + } + + return true; + }, + /** + * Delays the `use` callback until another event has taken place. Like: window.onload, domready, contentready, available. + * @private + * @method _delayCallback + * @param {Callback} cb The original `use` callback + * @param {String|Object} until Either an event (load, domready) or an Object containing event/args keys for contentready/available + */ + _delayCallback: function(cb, until) { + + var Y = this, + mod = ['event-base']; + + until = (Y.Lang.isObject(until) ? until : { event: until }); + + if (until.event === 'load') { + mod.push('event-synthetic'); + } + + Y.log('Delaying use callback until: ' + until.event, 'info', 'yui'); + return function() { + Y.log('Use callback fired, waiting on delay', 'info', 'yui'); + var args = arguments; + Y._use(mod, function() { + Y.log('Delayed use wrapper callback after dependencies', 'info', 'yui'); + Y.on(until.event, function() { + args[1].delayUntil = until.event; + Y.log('Delayed use callback done after ' + until.event, 'info', 'yui'); + cb.apply(Y, args); + }, until.args); + }); + }; + }, + + /** + * Attaches one or more modules to the YUI instance. When this + * is executed, the requirements are analyzed, and one of + * several things can happen: + * + * * All requirements are available on the page -- The modules + * are attached to the instance. If supplied, the use callback + * is executed synchronously. + * + * * Modules are missing, the Get utility is not available OR + * the 'bootstrap' config is false -- A warning is issued about + * the missing modules and all available modules are attached. + * + * * Modules are missing, the Loader is not available but the Get + * utility is and boostrap is not false -- The loader is bootstrapped + * before doing the following.... + * + * * Modules are missing and the Loader is available -- The loader + * expands the dependency tree and fetches missing modules. When + * the loader is finshed the callback supplied to use is executed + * asynchronously. + * + * @method use + * @param modules* {String|Array} 1-n modules to bind (uses arguments array). + * @param [callback] {Function} callback function executed when + * the instance has the required functionality. If included, it + * must be the last parameter. + * @param callback.Y {YUI} The `YUI` instance created for this sandbox + * @param callback.status {Object} Object containing `success`, `msg` and `data` properties + * + * @example + * // loads and attaches dd and its dependencies + * YUI().use('dd', function(Y) {}); + * + * // loads and attaches dd and node as well as all of their dependencies (since 3.4.0) + * YUI().use(['dd', 'node'], function(Y) {}); + * + * // attaches all modules that are available on the page + * YUI().use('*', function(Y) {}); + * + * // intrinsic YUI gallery support (since 3.1.0) + * YUI().use('gallery-yql', function(Y) {}); + * + * // intrinsic YUI 2in3 support (since 3.1.0) + * YUI().use('yui2-datatable', function(Y) {}); + * + * @return {YUI} the YUI instance. + */ + use: function() { + var args = SLICE.call(arguments, 0), + callback = args[args.length - 1], + Y = this, + i = 0, + a = [], + name, + Env = Y.Env, + provisioned = true; + + // The last argument supplied to use can be a load complete callback + if (Y.Lang.isFunction(callback)) { + args.pop(); + if (Y.config.delayUntil) { + callback = Y._delayCallback(callback, Y.config.delayUntil); + } + } else { + callback = null; + } + if (Y.Lang.isArray(args[0])) { + args = args[0]; + } + + if (Y.config.cacheUse) { + while ((name = args[i++])) { + if (!Env._attached[name]) { + provisioned = false; + break; + } + } + + if (provisioned) { + if (args.length) { + Y.log('already provisioned: ' + args, 'info', 'yui'); + } + Y._notify(callback, ALREADY_DONE, args); + return Y; + } + } + + if (Y._loading) { + Y._useQueue = Y._useQueue || new Y.Queue(); + Y._useQueue.add([args, callback]); + } else { + Y._use(args, function(Y, response) { + Y._notify(callback, response, args); + }); + } + + return Y; + }, + /** + * Notify handler from Loader for attachment/load errors + * @method _notify + * @param callback {Function} The callback to pass to the `Y.config.loadErrorFn` + * @param response {Object} The response returned from Loader + * @param args {Array} The aruments passed from Loader + * @private + */ + _notify: function(callback, response, args) { + if (!response.success && this.config.loadErrorFn) { + this.config.loadErrorFn.call(this, this, callback, response, args); + } else if (callback) { + if (this.Env._missed && this.Env._missed.length) { + response.msg = 'Missing modules: ' + this.Env._missed.join(); + response.success = false; + } + if (this.config.throwFail) { + callback(this, response); + } else { + try { + callback(this, response); + } catch (e) { + this.error('use callback error', e, args); + } + } + } + }, + + /** + * This private method is called from the `use` method queue. To ensure that only one set of loading + * logic is performed at a time. + * @method _use + * @private + * @param args* {String} 1-n modules to bind (uses arguments array). + * @param *callback {Function} callback function executed when + * the instance has the required functionality. If included, it + * must be the last parameter. + */ + _use: function(args, callback) { + + if (!this.Array) { + this._attach(['yui-base']); + } + + var len, loader, handleBoot, handleRLS, + Y = this, + G_ENV = YUI.Env, + mods = G_ENV.mods, + Env = Y.Env, + used = Env._used, + aliases = G_ENV.aliases, + queue = G_ENV._loaderQueue, + firstArg = args[0], + YArray = Y.Array, + config = Y.config, + boot = config.bootstrap, + missing = [], + i, + r = [], + ret = true, + fetchCSS = config.fetchCSS, + process = function(names, skip) { + + var i = 0, a = [], name, len, m, req, use; + + if (!names.length) { + return; + } + + if (aliases) { + len = names.length; + for (i = 0; i < len; i++) { + if (aliases[names[i]] && !mods[names[i]]) { + a = [].concat(a, aliases[names[i]]); + } else { + a.push(names[i]); + } + } + names = a; + } + + len = names.length; + + for (i = 0; i < len; i++) { + name = names[i]; + if (!skip) { + r.push(name); + } + + // only attach a module once + if (used[name]) { + continue; + } + + m = mods[name]; + req = null; + use = null; + + if (m) { + used[name] = true; + req = m.details.requires; + use = m.details.use; + } else { + // CSS files don't register themselves, see if it has + // been loaded + if (!G_ENV._loaded[VERSION][name]) { + missing.push(name); + } else { + used[name] = true; // probably css + } + } + + // make sure requirements are attached + if (req && req.length) { + process(req); + } + + // make sure we grab the submodule dependencies too + if (use && use.length) { + process(use, 1); + } + } + + }, + + handleLoader = function(fromLoader) { + var response = fromLoader || { + success: true, + msg: 'not dynamic' + }, + redo, origMissing, + ret = true, + data = response.data; + + Y._loading = false; + + if (data) { + origMissing = missing; + missing = []; + r = []; + process(data); + redo = missing.length; + if (redo) { + if ([].concat(missing).sort().join() == + origMissing.sort().join()) { + redo = false; + } + } + } + + if (redo && data) { + Y._loading = true; + Y._use(missing, function() { + Y.log('Nested use callback: ' + data, 'info', 'yui'); + if (Y._attach(data)) { + Y._notify(callback, response, data); + } + }); + } else { + if (data) { + // Y.log('attaching from loader: ' + data, 'info', 'yui'); + ret = Y._attach(data); + } + if (ret) { + Y._notify(callback, response, args); + } + } + + if (Y._useQueue && Y._useQueue.size() && !Y._loading) { + Y._use.apply(Y, Y._useQueue.next()); + } + + }; + +// Y.log(Y.id + ': use called: ' + a + ' :: ' + callback, 'info', 'yui'); + + // YUI().use('*'); // bind everything available + if (firstArg === '*') { + args = []; + for (i in mods) { + if (mods.hasOwnProperty(i)) { + args.push(i); + } + } + ret = Y._attach(args); + if (ret) { + handleLoader(); + } + return Y; + } + + if (mods['loader'] && !Y.Loader) { + Y.log('Loader was found in meta, but it is not attached. Attaching..', 'info', 'yui'); + Y._attach(['loader']); + } + + // Y.log('before loader requirements: ' + args, 'info', 'yui'); + + // use loader to expand dependencies and sort the + // requirements if it is available. + if (boot && Y.Loader && args.length) { + Y.log('Using loader to expand dependencies', 'info', 'yui'); + loader = getLoader(Y); + loader.require(args); + loader.ignoreRegistered = true; + loader._boot = true; + loader.calculate(null, (fetchCSS) ? null : 'js'); + args = loader.sorted; + loader._boot = false; + } + + process(args); + + len = missing.length; + + + if (len) { + missing = YArray.dedupe(missing); + len = missing.length; +Y.log('Modules missing: ' + missing + ', ' + missing.length, 'info', 'yui'); + } + + + // dynamic load + if (boot && len && Y.Loader) { +// Y.log('Using loader to fetch missing deps: ' + missing, 'info', 'yui'); + Y.log('Using Loader', 'info', 'yui'); + Y._loading = true; + loader = getLoader(Y); + loader.onEnd = handleLoader; + loader.context = Y; + loader.data = args; + loader.ignoreRegistered = false; + loader.require(args); + loader.insert(null, (fetchCSS) ? null : 'js'); + + } else if (boot && len && Y.Get && !Env.bootstrapped) { + + Y._loading = true; + + handleBoot = function() { + Y._loading = false; + queue.running = false; + Env.bootstrapped = true; + G_ENV._bootstrapping = false; + if (Y._attach(['loader'])) { + Y._use(args, callback); + } + }; + + if (G_ENV._bootstrapping) { +Y.log('Waiting for loader', 'info', 'yui'); + queue.add(handleBoot); + } else { + G_ENV._bootstrapping = true; +Y.log('Fetching loader: ' + config.base + config.loaderPath, 'info', 'yui'); + Y.Get.script(config.base + config.loaderPath, { + onEnd: handleBoot + }); + } + + } else { + Y.log('Attaching available dependencies: ' + args, 'info', 'yui'); + ret = Y._attach(args); + if (ret) { + handleLoader(); + } + } + + return Y; + }, + + + /** + Adds a namespace object onto the YUI global if called statically. + + // creates YUI.your.namespace.here as nested objects + YUI.namespace("your.namespace.here"); + + If called as a method on a YUI instance, it creates the + namespace on the instance. + + // creates Y.property.package + Y.namespace("property.package"); + + Dots in the input string cause `namespace` to create nested objects for + each token. If any part of the requested namespace already exists, the + current object will be left in place. This allows multiple calls to + `namespace` to preserve existing namespaced properties. + + If the first token in the namespace string is "YAHOO", the token is + discarded. + + Be careful with namespace tokens. Reserved words may work in some browsers + and not others. For instance, the following will fail in some browsers + because the supported version of JavaScript reserves the word "long": + + Y.namespace("really.long.nested.namespace"); + + Note: If you pass multiple arguments to create multiple namespaces, only + the last one created is returned from this function. + + @method namespace + @param {String} namespace* namespaces to create. + @return {Object} A reference to the last namespace object created. + **/ + namespace: function() { + var a = arguments, o, i = 0, j, d, arg; + + for (; i < a.length; i++) { + o = this; //Reset base object per argument or it will get reused from the last + arg = a[i]; + if (arg.indexOf(PERIOD) > -1) { //Skip this if no "." is present + d = arg.split(PERIOD); + for (j = (d[0] == 'YAHOO') ? 1 : 0; j < d.length; j++) { + o[d[j]] = o[d[j]] || {}; + o = o[d[j]]; + } + } else { + o[arg] = o[arg] || {}; + o = o[arg]; //Reset base object to the new object so it's returned + } + } + return o; + }, + + // this is replaced if the log module is included + log: NOOP, + message: NOOP, + // this is replaced if the dump module is included + dump: function (o) { return ''+o; }, + + /** + * Report an error. The reporting mechanism is controlled by + * the `throwFail` configuration attribute. If throwFail is + * not specified, the message is written to the Logger, otherwise + * a JS error is thrown. If an `errorFn` is specified in the config + * it must return `true` to keep the error from being thrown. + * @method error + * @param msg {String} the error message. + * @param e {Error|String} Optional JS error that was caught, or an error string. + * @param src Optional additional info (passed to `Y.config.errorFn` and `Y.message`) + * and `throwFail` is specified, this error will be re-thrown. + * @return {YUI} this YUI instance. + */ + error: function(msg, e, src) { + //TODO Add check for window.onerror here + + var Y = this, ret; + + if (Y.config.errorFn) { + ret = Y.config.errorFn.apply(Y, arguments); + } + + if (!ret) { + throw (e || new Error(msg)); + } else { + Y.message(msg, 'error', ''+src); // don't scrub this one + } + + return Y; + }, + + /** + * Generate an id that is unique among all YUI instances + * @method guid + * @param pre {String} optional guid prefix. + * @return {String} the guid. + */ + guid: function(pre) { + var id = this.Env._guidp + '_' + (++this.Env._uidx); + return (pre) ? (pre + id) : id; + }, + + /** + * Returns a `guid` associated with an object. If the object + * does not have one, a new one is created unless `readOnly` + * is specified. + * @method stamp + * @param o {Object} The object to stamp. + * @param readOnly {Boolean} if `true`, a valid guid will only + * be returned if the object has one assigned to it. + * @return {String} The object's guid or null. + */ + stamp: function(o, readOnly) { + var uid; + if (!o) { + return o; + } + + // IE generates its own unique ID for dom nodes + // The uniqueID property of a document node returns a new ID + if (o.uniqueID && o.nodeType && o.nodeType !== 9) { + uid = o.uniqueID; + } else { + uid = (typeof o === 'string') ? o : o._yuid; + } + + if (!uid) { + uid = this.guid(); + if (!readOnly) { + try { + o._yuid = uid; + } catch (e) { + uid = null; + } + } + } + return uid; + }, + + /** + * Destroys the YUI instance + * @method destroy + * @since 3.3.0 + */ + destroy: function() { + var Y = this; + if (Y.Event) { + Y.Event._unload(); + } + delete instances[Y.id]; + delete Y.Env; + delete Y.config; + } + + /** + * instanceof check for objects that works around + * memory leak in IE when the item tested is + * window/document + * @method instanceOf + * @param o {Object} The object to check. + * @param type {Object} The class to check against. + * @since 3.3.0 + */ +}; + + YUI.prototype = proto; + + // inheritance utilities are not available yet + for (prop in proto) { + if (proto.hasOwnProperty(prop)) { + YUI[prop] = proto[prop]; + } + } + + /** +Static method on the Global YUI object to apply a config to all YUI instances. +It's main use case is "mashups" where several third party scripts are trying to write to +a global YUI config at the same time. This way they can all call `YUI.applyConfig({})` instead of +overwriting other scripts configs. +@static +@since 3.5.0 +@method applyConfig +@param {Object} o the configuration object. +@example + + YUI.applyConfig({ + modules: { + davglass: { + fullpath: './davglass.js' + } + } + }); + + YUI.applyConfig({ + modules: { + foo: { + fullpath: './foo.js' + } + } + }); + + YUI().use('davglass', function(Y) { + //Module davglass will be available here.. + }); + + */ + YUI.applyConfig = function(o) { + if (!o) { + return; + } + //If there is a GlobalConfig, apply it first to set the defaults + if (YUI.GlobalConfig) { + this.prototype.applyConfig.call(this, YUI.GlobalConfig); + } + //Apply this config to it + this.prototype.applyConfig.call(this, o); + //Reset GlobalConfig to the combined config + YUI.GlobalConfig = this.config; + }; + + // set up the environment + YUI._init(); + + if (hasWin) { + // add a window load event at load time so we can capture + // the case where it fires before dynamic loading is + // complete. + add(window, 'load', handleLoad); + } else { + handleLoad(); + } + + YUI.Env.add = add; + YUI.Env.remove = remove; + + /*global exports*/ + // Support the CommonJS method for exporting our single global + if (typeof exports == 'object') { + exports.YUI = YUI; + } + +}()); + + +/** + * The config object contains all of the configuration options for + * the `YUI` instance. This object is supplied by the implementer + * when instantiating a `YUI` instance. Some properties have default + * values if they are not supplied by the implementer. This should + * not be updated directly because some values are cached. Use + * `applyConfig()` to update the config object on a YUI instance that + * has already been configured. + * + * @class config + * @static + */ + +/** + * Allows the YUI seed file to fetch the loader component and library + * metadata to dynamically load additional dependencies. + * + * @property bootstrap + * @type boolean + * @default true + */ + +/** + * Turns on writing Ylog messages to the browser console. + * + * @property debug + * @type boolean + * @default true + */ + +/** + * Log to the browser console if debug is on and the browser has a + * supported console. + * + * @property useBrowserConsole + * @type boolean + * @default true + */ + +/** + * A hash of log sources that should be logged. If specified, only + * log messages from these sources will be logged. + * + * @property logInclude + * @type object + */ + +/** + * A hash of log sources that should be not be logged. If specified, + * all sources are logged if not on this list. + * + * @property logExclude + * @type object + */ + +/** + * Set to true if the yui seed file was dynamically loaded in + * order to bootstrap components relying on the window load event + * and the `domready` custom event. + * + * @property injected + * @type boolean + * @default false + */ + +/** + * If `throwFail` is set, `Y.error` will generate or re-throw a JS Error. + * Otherwise the failure is logged. + * + * @property throwFail + * @type boolean + * @default true + */ + +/** + * The window/frame that this instance should operate in. + * + * @property win + * @type Window + * @default the window hosting YUI + */ + +/** + * The document associated with the 'win' configuration. + * + * @property doc + * @type Document + * @default the document hosting YUI + */ + +/** + * A list of modules that defines the YUI core (overrides the default list). + * + * @property core + * @type Array + * @default [ get,features,intl-base,yui-log,yui-later,loader-base, loader-rollup, loader-yui3 ] + */ + +/** + * A list of languages in order of preference. This list is matched against + * the list of available languages in modules that the YUI instance uses to + * determine the best possible localization of language sensitive modules. + * Languages are represented using BCP 47 language tags, such as "en-GB" for + * English as used in the United Kingdom, or "zh-Hans-CN" for simplified + * Chinese as used in China. The list can be provided as a comma-separated + * list or as an array. + * + * @property lang + * @type string|string[] + */ + +/** + * The default date format + * @property dateFormat + * @type string + * @deprecated use configuration in `DataType.Date.format()` instead. + */ + +/** + * The default locale + * @property locale + * @type string + * @deprecated use `config.lang` instead. + */ + +/** + * The default interval when polling in milliseconds. + * @property pollInterval + * @type int + * @default 20 + */ + +/** + * The number of dynamic nodes to insert by default before + * automatically removing them. This applies to script nodes + * because removing the node will not make the evaluated script + * unavailable. Dynamic CSS is not auto purged, because removing + * a linked style sheet will also remove the style definitions. + * @property purgethreshold + * @type int + * @default 20 + */ + +/** + * The default interval when polling in milliseconds. + * @property windowResizeDelay + * @type int + * @default 40 + */ + +/** + * Base directory for dynamic loading + * @property base + * @type string + */ + +/* + * The secure base dir (not implemented) + * For dynamic loading. + * @property secureBase + * @type string + */ + +/** + * The YUI combo service base dir. Ex: `http://yui.yahooapis.com/combo?` + * For dynamic loading. + * @property comboBase + * @type string + */ + +/** + * The root path to prepend to module path for the combo service. + * Ex: 3.0.0b1/build/ + * For dynamic loading. + * @property root + * @type string + */ + +/** + * A filter to apply to result urls. This filter will modify the default + * path for all modules. The default path for the YUI library is the + * minified version of the files (e.g., event-min.js). The filter property + * can be a predefined filter or a custom filter. The valid predefined + * filters are: + *
        + *
        DEBUG
        + *
        Selects the debug versions of the library (e.g., event-debug.js). + * This option will automatically include the Logger widget
        + *
        RAW
        + *
        Selects the non-minified version of the library (e.g., event.js).
        + *
        + * You can also define a custom filter, which must be an object literal + * containing a search expression and a replace string: + * + * myFilter: { + * 'searchExp': "-min\\.js", + * 'replaceStr': "-debug.js" + * } + * + * For dynamic loading. + * + * @property filter + * @type string|object + */ + +/** + * The `skin` config let's you configure application level skin + * customizations. It contains the following attributes which + * can be specified to override the defaults: + * + * // The default skin, which is automatically applied if not + * // overriden by a component-specific skin definition. + * // Change this in to apply a different skin globally + * defaultSkin: 'sam', + * + * // This is combined with the loader base property to get + * // the default root directory for a skin. + * base: 'assets/skins/', + * + * // Any component-specific overrides can be specified here, + * // making it possible to load different skins for different + * // components. It is possible to load more than one skin + * // for a given component as well. + * overrides: { + * slider: ['capsule', 'round'] + * } + * + * For dynamic loading. + * + * @property skin + */ + +/** + * Hash of per-component filter specification. If specified for a given + * component, this overrides the filter config. + * + * For dynamic loading. + * + * @property filters + */ + +/** + * Use the YUI combo service to reduce the number of http connections + * required to load your dependencies. Turning this off will + * disable combo handling for YUI and all module groups configured + * with a combo service. + * + * For dynamic loading. + * + * @property combine + * @type boolean + * @default true if 'base' is not supplied, false if it is. + */ + +/** + * A list of modules that should never be dynamically loaded + * + * @property ignore + * @type string[] + */ + +/** + * A list of modules that should always be loaded when required, even if already + * present on the page. + * + * @property force + * @type string[] + */ + +/** + * Node or id for a node that should be used as the insertion point for new + * nodes. For dynamic loading. + * + * @property insertBefore + * @type string + */ + +/** + * Object literal containing attributes to add to dynamically loaded script + * nodes. + * @property jsAttributes + * @type string + */ + +/** + * Object literal containing attributes to add to dynamically loaded link + * nodes. + * @property cssAttributes + * @type string + */ + +/** + * Number of milliseconds before a timeout occurs when dynamically + * loading nodes. If not set, there is no timeout. + * @property timeout + * @type int + */ + +/** + * Callback for the 'CSSComplete' event. When dynamically loading YUI + * components with CSS, this property fires when the CSS is finished + * loading but script loading is still ongoing. This provides an + * opportunity to enhance the presentation of a loading page a little + * bit before the entire loading process is done. + * + * @property onCSS + * @type function + */ + +/** + * A hash of module definitions to add to the list of YUI components. + * These components can then be dynamically loaded side by side with + * YUI via the `use()` method. This is a hash, the key is the module + * name, and the value is an object literal specifying the metdata + * for the module. See `Loader.addModule` for the supported module + * metadata fields. Also see groups, which provides a way to + * configure the base and combo spec for a set of modules. + * + * modules: { + * mymod1: { + * requires: ['node'], + * fullpath: '/mymod1/mymod1.js' + * }, + * mymod2: { + * requires: ['mymod1'], + * fullpath: '/mymod2/mymod2.js' + * }, + * mymod3: '/js/mymod3.js', + * mycssmod: '/css/mycssmod.css' + * } + * + * + * @property modules + * @type object + */ + +/** + * Aliases are dynamic groups of modules that can be used as + * shortcuts. + * + * YUI({ + * aliases: { + * davglass: [ 'node', 'yql', 'dd' ], + * mine: [ 'davglass', 'autocomplete'] + * } + * }).use('mine', function(Y) { + * //Node, YQL, DD & AutoComplete available here.. + * }); + * + * @property aliases + * @type object + */ + +/** + * A hash of module group definitions. It for each group you + * can specify a list of modules and the base path and + * combo spec to use when dynamically loading the modules. + * + * groups: { + * yui2: { + * // specify whether or not this group has a combo service + * combine: true, + * + * // The comboSeperator to use with this group's combo handler + * comboSep: ';', + * + * // The maxURLLength for this server + * maxURLLength: 500, + * + * // the base path for non-combo paths + * base: 'http://yui.yahooapis.com/2.8.0r4/build/', + * + * // the path to the combo service + * comboBase: 'http://yui.yahooapis.com/combo?', + * + * // a fragment to prepend to the path attribute when + * // when building combo urls + * root: '2.8.0r4/build/', + * + * // the module definitions + * modules: { + * yui2_yde: { + * path: "yahoo-dom-event/yahoo-dom-event.js" + * }, + * yui2_anim: { + * path: "animation/animation.js", + * requires: ['yui2_yde'] + * } + * } + * } + * } + * + * @property groups + * @type object + */ + +/** + * The loader 'path' attribute to the loader itself. This is combined + * with the 'base' attribute to dynamically load the loader component + * when boostrapping with the get utility alone. + * + * @property loaderPath + * @type string + * @default loader/loader-min.js + */ + +/** + * Specifies whether or not YUI().use(...) will attempt to load CSS + * resources at all. Any truthy value will cause CSS dependencies + * to load when fetching script. The special value 'force' will + * cause CSS dependencies to be loaded even if no script is needed. + * + * @property fetchCSS + * @type boolean|string + * @default true + */ + +/** + * The default gallery version to build gallery module urls + * @property gallery + * @type string + * @since 3.1.0 + */ + +/** + * The default YUI 2 version to build yui2 module urls. This is for + * intrinsic YUI 2 support via the 2in3 project. Also see the '2in3' + * config for pulling different revisions of the wrapped YUI 2 + * modules. + * @since 3.1.0 + * @property yui2 + * @type string + * @default 2.9.0 + */ + +/** + * The 2in3 project is a deployment of the various versions of YUI 2 + * deployed as first-class YUI 3 modules. Eventually, the wrapper + * for the modules will change (but the underlying YUI 2 code will + * be the same), and you can select a particular version of + * the wrapper modules via this config. + * @since 3.1.0 + * @property 2in3 + * @type string + * @default 4 + */ + +/** + * Alternative console log function for use in environments without + * a supported native console. The function is executed in the + * YUI instance context. + * @since 3.1.0 + * @property logFn + * @type Function + */ + +/** + * A callback to execute when Y.error is called. It receives the + * error message and an javascript error object if Y.error was + * executed because a javascript error was caught. The function + * is executed in the YUI instance context. Returning `true` from this + * function will stop the Error from being thrown. + * + * @since 3.2.0 + * @property errorFn + * @type Function + */ + +/** + * A callback to execute when the loader fails to load one or + * more resource. This could be because of a script load + * failure. It can also fail if a javascript module fails + * to register itself, but only when the 'requireRegistration' + * is true. If this function is defined, the use() callback will + * only be called when the loader succeeds, otherwise it always + * executes unless there was a javascript error when attaching + * a module. + * + * @since 3.3.0 + * @property loadErrorFn + * @type Function + */ + +/** + * When set to true, the YUI loader will expect that all modules + * it is responsible for loading will be first-class YUI modules + * that register themselves with the YUI global. If this is + * set to true, loader will fail if the module registration fails + * to happen after the script is loaded. + * + * @since 3.3.0 + * @property requireRegistration + * @type boolean + * @default false + */ + +/** + * Cache serviced use() requests. + * @since 3.3.0 + * @property cacheUse + * @type boolean + * @default true + * @deprecated no longer used + */ + +/** + * Whether or not YUI should use native ES5 functionality when available for + * features like `Y.Array.each()`, `Y.Object()`, etc. When `false`, YUI will + * always use its own fallback implementations instead of relying on ES5 + * functionality, even when it's available. + * + * @property useNativeES5 + * @type Boolean + * @default true + * @since 3.5.0 + */ + +/** +Delay the `use` callback until a specific event has passed (`load`, `domready`, `contentready` or `available`) +@property delayUntil +@type String|Object +@since 3.6.0 +@example + +You can use `load` or `domready` strings by default: + + YUI({ + delayUntil: 'domready' + }, function(Y) { + //This will not fire until 'domeready' + }); + +Or you can delay until a node is available (with `available` or `contentready`): + + YUI({ + delayUntil: { + event: 'available', + args: '#foo' + } + }, function(Y) { + //This will not fire until '#foo' is + // available in the DOM + }); + + +*/ +YUI.add('yui-base', function(Y) { + +/* + * YUI stub + * @module yui + * @submodule yui-base + */ +/** + * The YUI module contains the components required for building the YUI + * seed file. This includes the script loading mechanism, a simple queue, + * and the core utilities for the library. + * @module yui + * @submodule yui-base + */ + +/** + * Provides core language utilites and extensions used throughout YUI. + * + * @class Lang + * @static + */ + +var L = Y.Lang || (Y.Lang = {}), + +STRING_PROTO = String.prototype, +TOSTRING = Object.prototype.toString, + +TYPES = { + 'undefined' : 'undefined', + 'number' : 'number', + 'boolean' : 'boolean', + 'string' : 'string', + '[object Function]': 'function', + '[object RegExp]' : 'regexp', + '[object Array]' : 'array', + '[object Date]' : 'date', + '[object Error]' : 'error' +}, + +SUBREGEX = /\{\s*([^|}]+?)\s*(?:\|([^}]*))?\s*\}/g, +TRIMREGEX = /^\s+|\s+$/g, +NATIVE_FN_REGEX = /\{\s*\[(?:native code|function)\]\s*\}/i; + +// -- Protected Methods -------------------------------------------------------- + +/** +Returns `true` if the given function appears to be implemented in native code, +`false` otherwise. Will always return `false` -- even in ES5-capable browsers -- +if the `useNativeES5` YUI config option is set to `false`. + +This isn't guaranteed to be 100% accurate and won't work for anything other than +functions, but it can be useful for determining whether a function like +`Array.prototype.forEach` is native or a JS shim provided by another library. + +There's a great article by @kangax discussing certain flaws with this technique: + + +While his points are valid, it's still possible to benefit from this function +as long as it's used carefully and sparingly, and in such a way that false +negatives have minimal consequences. It's used internally to avoid using +potentially broken non-native ES5 shims that have been added to the page by +other libraries. + +@method _isNative +@param {Function} fn Function to test. +@return {Boolean} `true` if _fn_ appears to be native, `false` otherwise. +@static +@protected +@since 3.5.0 +**/ +L._isNative = function (fn) { + return !!(Y.config.useNativeES5 && fn && NATIVE_FN_REGEX.test(fn)); +}; + +// -- Public Methods ----------------------------------------------------------- + +/** + * Determines whether or not the provided item is an array. + * + * Returns `false` for array-like collections such as the function `arguments` + * collection or `HTMLElement` collections. Use `Y.Array.test()` if you want to + * test for an array-like collection. + * + * @method isArray + * @param o The object to test. + * @return {boolean} true if o is an array. + * @static + */ +L.isArray = L._isNative(Array.isArray) ? Array.isArray : function (o) { + return L.type(o) === 'array'; +}; + +/** + * Determines whether or not the provided item is a boolean. + * @method isBoolean + * @static + * @param o The object to test. + * @return {boolean} true if o is a boolean. + */ +L.isBoolean = function(o) { + return typeof o === 'boolean'; +}; + +/** + * Determines whether or not the supplied item is a date instance. + * @method isDate + * @static + * @param o The object to test. + * @return {boolean} true if o is a date. + */ +L.isDate = function(o) { + return L.type(o) === 'date' && o.toString() !== 'Invalid Date' && !isNaN(o); +}; + +/** + *

        + * Determines whether or not the provided item is a function. + * Note: Internet Explorer thinks certain functions are objects: + *

        + * + *
        + * var obj = document.createElement("object");
        + * Y.Lang.isFunction(obj.getAttribute) // reports false in IE
        + *  
        + * var input = document.createElement("input"); // append to body
        + * Y.Lang.isFunction(input.focus) // reports false in IE
        + * 
        + * + *

        + * You will have to implement additional tests if these functions + * matter to you. + *

        + * + * @method isFunction + * @static + * @param o The object to test. + * @return {boolean} true if o is a function. + */ +L.isFunction = function(o) { + return L.type(o) === 'function'; +}; + +/** + * Determines whether or not the provided item is null. + * @method isNull + * @static + * @param o The object to test. + * @return {boolean} true if o is null. + */ +L.isNull = function(o) { + return o === null; +}; + +/** + * Determines whether or not the provided item is a legal number. + * @method isNumber + * @static + * @param o The object to test. + * @return {boolean} true if o is a number. + */ +L.isNumber = function(o) { + return typeof o === 'number' && isFinite(o); +}; + +/** + * Determines whether or not the provided item is of type object + * or function. Note that arrays are also objects, so + * Y.Lang.isObject([]) === true. + * @method isObject + * @static + * @param o The object to test. + * @param failfn {boolean} fail if the input is a function. + * @return {boolean} true if o is an object. + * @see isPlainObject + */ +L.isObject = function(o, failfn) { + var t = typeof o; + return (o && (t === 'object' || + (!failfn && (t === 'function' || L.isFunction(o))))) || false; +}; + +/** + * Determines whether or not the provided item is a string. + * @method isString + * @static + * @param o The object to test. + * @return {boolean} true if o is a string. + */ +L.isString = function(o) { + return typeof o === 'string'; +}; + +/** + * Determines whether or not the provided item is undefined. + * @method isUndefined + * @static + * @param o The object to test. + * @return {boolean} true if o is undefined. + */ +L.isUndefined = function(o) { + return typeof o === 'undefined'; +}; + +/** + * A convenience method for detecting a legitimate non-null value. + * Returns false for null/undefined/NaN, true for other values, + * including 0/false/'' + * @method isValue + * @static + * @param o The item to test. + * @return {boolean} true if it is not null/undefined/NaN || false. + */ +L.isValue = function(o) { + var t = L.type(o); + + switch (t) { + case 'number': + return isFinite(o); + + case 'null': // fallthru + case 'undefined': + return false; + + default: + return !!t; + } +}; + +/** + * Returns the current time in milliseconds. + * + * @method now + * @return {Number} Current time in milliseconds. + * @static + * @since 3.3.0 + */ +L.now = Date.now || function () { + return new Date().getTime(); +}; + +/** + * Lightweight version of Y.substitute. Uses the same template + * structure as Y.substitute, but doesn't support recursion, + * auto-object coersion, or formats. + * @method sub + * @param {string} s String to be modified. + * @param {object} o Object containing replacement values. + * @return {string} the substitute result. + * @static + * @since 3.2.0 + */ +L.sub = function(s, o) { + return s.replace ? s.replace(SUBREGEX, function (match, key) { + return L.isUndefined(o[key]) ? match : o[key]; + }) : s; +}; + +/** + * Returns a string without any leading or trailing whitespace. If + * the input is not a string, the input will be returned untouched. + * @method trim + * @static + * @param s {string} the string to trim. + * @return {string} the trimmed string. + */ +L.trim = STRING_PROTO.trim ? function(s) { + return s && s.trim ? s.trim() : s; +} : function (s) { + try { + return s.replace(TRIMREGEX, ''); + } catch (e) { + return s; + } +}; + +/** + * Returns a string without any leading whitespace. + * @method trimLeft + * @static + * @param s {string} the string to trim. + * @return {string} the trimmed string. + */ +L.trimLeft = STRING_PROTO.trimLeft ? function (s) { + return s.trimLeft(); +} : function (s) { + return s.replace(/^\s+/, ''); +}; + +/** + * Returns a string without any trailing whitespace. + * @method trimRight + * @static + * @param s {string} the string to trim. + * @return {string} the trimmed string. + */ +L.trimRight = STRING_PROTO.trimRight ? function (s) { + return s.trimRight(); +} : function (s) { + return s.replace(/\s+$/, ''); +}; + +/** +Returns one of the following strings, representing the type of the item passed +in: + + * "array" + * "boolean" + * "date" + * "error" + * "function" + * "null" + * "number" + * "object" + * "regexp" + * "string" + * "undefined" + +Known issues: + + * `typeof HTMLElementCollection` returns function in Safari, but + `Y.Lang.type()` reports "object", which could be a good thing -- + but it actually caused the logic in Y.Lang.isObject to fail. + +@method type +@param o the item to test. +@return {string} the detected type. +@static +**/ +L.type = function(o) { + return TYPES[typeof o] || TYPES[TOSTRING.call(o)] || (o ? 'object' : 'null'); +}; +/** +@module yui +@submodule yui-base +*/ + +var Lang = Y.Lang, + Native = Array.prototype, + + hasOwn = Object.prototype.hasOwnProperty; + +/** +Provides utility methods for working with arrays. Additional array helpers can +be found in the `collection` and `array-extras` modules. + +`Y.Array(thing)` returns a native array created from _thing_. Depending on +_thing_'s type, one of the following will happen: + + * Arrays are returned unmodified unless a non-zero _startIndex_ is + specified. + * Array-like collections (see `Array.test()`) are converted to arrays. + * For everything else, a new array is created with _thing_ as the sole + item. + +Note: elements that are also collections, such as `` and ``, to be array-like. + +@method test +@param {Object} obj Object to test. +@return {Number} A number indicating the results of the test: + + * 0: Neither an array nor an array-like collection. + * 1: Real array. + * 2: Array-like collection. + +@static +**/ +YArray.test = function (obj) { + var result = 0; + + if (Lang.isArray(obj)) { + result = 1; + } else if (Lang.isObject(obj)) { + try { + // indexed, but no tagName (element) or alert (window), + // or functions without apply/call (Safari + // HTMLElementCollection bug). + if ('length' in obj && !obj.tagName && !obj.alert && !obj.apply) { + result = 2; + } + } catch (ex) {} + } + + return result; +}; +/** + * The YUI module contains the components required for building the YUI + * seed file. This includes the script loading mechanism, a simple queue, + * and the core utilities for the library. + * @module yui + * @submodule yui-base + */ + +/** + * A simple FIFO queue. Items are added to the Queue with add(1..n items) and + * removed using next(). + * + * @class Queue + * @constructor + * @param {MIXED} item* 0..n items to seed the queue. + */ +function Queue() { + this._init(); + this.add.apply(this, arguments); +} + +Queue.prototype = { + /** + * Initialize the queue + * + * @method _init + * @protected + */ + _init: function() { + /** + * The collection of enqueued items + * + * @property _q + * @type Array + * @protected + */ + this._q = []; + }, + + /** + * Get the next item in the queue. FIFO support + * + * @method next + * @return {MIXED} the next item in the queue. + */ + next: function() { + return this._q.shift(); + }, + + /** + * Get the last in the queue. LIFO support. + * + * @method last + * @return {MIXED} the last item in the queue. + */ + last: function() { + return this._q.pop(); + }, + + /** + * Add 0..n items to the end of the queue. + * + * @method add + * @param {MIXED} item* 0..n items. + * @return {object} this queue. + */ + add: function() { + this._q.push.apply(this._q, arguments); + + return this; + }, + + /** + * Returns the current number of queued items. + * + * @method size + * @return {Number} The size. + */ + size: function() { + return this._q.length; + } +}; + +Y.Queue = Queue; + +YUI.Env._loaderQueue = YUI.Env._loaderQueue || new Queue(); + +/** +The YUI module contains the components required for building the YUI seed file. +This includes the script loading mechanism, a simple queue, and the core +utilities for the library. + +@module yui +@submodule yui-base +**/ + +var CACHED_DELIMITER = '__', + + hasOwn = Object.prototype.hasOwnProperty, + isObject = Y.Lang.isObject; + +/** +Returns a wrapper for a function which caches the return value of that function, +keyed off of the combined string representation of the argument values provided +when the wrapper is called. + +Calling this function again with the same arguments will return the cached value +rather than executing the wrapped function. + +Note that since the cache is keyed off of the string representation of arguments +passed to the wrapper function, arguments that aren't strings and don't provide +a meaningful `toString()` method may result in unexpected caching behavior. For +example, the objects `{}` and `{foo: 'bar'}` would both be converted to the +string `[object Object]` when used as a cache key. + +@method cached +@param {Function} source The function to memoize. +@param {Object} [cache={}] Object in which to store cached values. You may seed + this object with pre-existing cached values if desired. +@param {any} [refetch] If supplied, this value is compared with the cached value + using a `==` comparison. If the values are equal, the wrapped function is + executed again even though a cached value exists. +@return {Function} Wrapped function. +@for YUI +**/ +Y.cached = function (source, cache, refetch) { + cache || (cache = {}); + + return function (arg) { + var key = arguments.length > 1 ? + Array.prototype.join.call(arguments, CACHED_DELIMITER) : + String(arg); + + if (!(key in cache) || (refetch && cache[key] == refetch)) { + cache[key] = source.apply(source, arguments); + } + + return cache[key]; + }; +}; + +/** +Returns the `location` object from the window/frame in which this YUI instance +operates, or `undefined` when executing in a non-browser environment +(e.g. Node.js). + +It is _not_ recommended to hold references to the `window.location` object +outside of the scope of a function in which its properties are being accessed or +its methods are being called. This is because of a nasty bug/issue that exists +in both Safari and MobileSafari browsers: +[WebKit Bug 34679](https://bugs.webkit.org/show_bug.cgi?id=34679). + +@method getLocation +@return {location} The `location` object from the window/frame in which this YUI + instance operates. +@since 3.5.0 +**/ +Y.getLocation = function () { + // It is safer to look this up every time because yui-base is attached to a + // YUI instance before a user's config is applied; i.e. `Y.config.win` does + // not point the correct window object when this file is loaded. + var win = Y.config.win; + + // It is not safe to hold a reference to the `location` object outside the + // scope in which it is being used. The WebKit engine used in Safari and + // MobileSafari will "disconnect" the `location` object from the `window` + // when a page is restored from back/forward history cache. + return win && win.location; +}; + +/** +Returns a new object containing all of the properties of all the supplied +objects. The properties from later objects will overwrite those in earlier +objects. + +Passing in a single object will create a shallow copy of it. For a deep copy, +use `clone()`. + +@method merge +@param {Object} objects* One or more objects to merge. +@return {Object} A new merged object. +**/ +Y.merge = function () { + var args = arguments, + i = 0, + len = args.length, + result = {}; + + for (; i < len; ++i) { + Y.mix(result, args[i], true); + } + + return result; +}; + +/** +Mixes _supplier_'s properties into _receiver_. + +Properties on _receiver_ or _receiver_'s prototype will not be overwritten or +shadowed unless the _overwrite_ parameter is `true`, and will not be merged +unless the _merge_ parameter is `true`. + +In the default mode (0), only properties the supplier owns are copied (prototype +properties are not copied). The following copying modes are available: + + * `0`: _Default_. Object to object. + * `1`: Prototype to prototype. + * `2`: Prototype to prototype and object to object. + * `3`: Prototype to object. + * `4`: Object to prototype. + +@method mix +@param {Function|Object} receiver The object or function to receive the mixed + properties. +@param {Function|Object} supplier The object or function supplying the + properties to be mixed. +@param {Boolean} [overwrite=false] If `true`, properties that already exist + on the receiver will be overwritten with properties from the supplier. +@param {String[]} [whitelist] An array of property names to copy. If + specified, only the whitelisted properties will be copied, and all others + will be ignored. +@param {Number} [mode=0] Mix mode to use. See above for available modes. +@param {Boolean} [merge=false] If `true`, objects and arrays that already + exist on the receiver will have the corresponding object/array from the + supplier merged into them, rather than being skipped or overwritten. When + both _overwrite_ and _merge_ are `true`, _merge_ takes precedence. +@return {Function|Object|YUI} The receiver, or the YUI instance if the + specified receiver is falsy. +**/ +Y.mix = function(receiver, supplier, overwrite, whitelist, mode, merge) { + var alwaysOverwrite, exists, from, i, key, len, to; + + // If no supplier is given, we return the receiver. If no receiver is given, + // we return Y. Returning Y doesn't make much sense to me, but it's + // grandfathered in for backcompat reasons. + if (!receiver || !supplier) { + return receiver || Y; + } + + if (mode) { + // In mode 2 (prototype to prototype and object to object), we recurse + // once to do the proto to proto mix. The object to object mix will be + // handled later on. + if (mode === 2) { + Y.mix(receiver.prototype, supplier.prototype, overwrite, + whitelist, 0, merge); + } + + // Depending on which mode is specified, we may be copying from or to + // the prototypes of the supplier and receiver. + from = mode === 1 || mode === 3 ? supplier.prototype : supplier; + to = mode === 1 || mode === 4 ? receiver.prototype : receiver; + + // If either the supplier or receiver doesn't actually have a + // prototype property, then we could end up with an undefined `from` + // or `to`. If that happens, we abort and return the receiver. + if (!from || !to) { + return receiver; + } + } else { + from = supplier; + to = receiver; + } + + // If `overwrite` is truthy and `merge` is falsy, then we can skip a + // property existence check on each iteration and save some time. + alwaysOverwrite = overwrite && !merge; + + if (whitelist) { + for (i = 0, len = whitelist.length; i < len; ++i) { + key = whitelist[i]; + + // We call `Object.prototype.hasOwnProperty` instead of calling + // `hasOwnProperty` on the object itself, since the object's + // `hasOwnProperty` method may have been overridden or removed. + // Also, some native objects don't implement a `hasOwnProperty` + // method. + if (!hasOwn.call(from, key)) { + continue; + } + + // The `key in to` check here is (sadly) intentional for backwards + // compatibility reasons. It prevents undesired shadowing of + // prototype members on `to`. + exists = alwaysOverwrite ? false : key in to; + + if (merge && exists && isObject(to[key], true) + && isObject(from[key], true)) { + // If we're in merge mode, and the key is present on both + // objects, and the value on both objects is either an object or + // an array (but not a function), then we recurse to merge the + // `from` value into the `to` value instead of overwriting it. + // + // Note: It's intentional that the whitelist isn't passed to the + // recursive call here. This is legacy behavior that lots of + // code still depends on. + Y.mix(to[key], from[key], overwrite, null, 0, merge); + } else if (overwrite || !exists) { + // We're not in merge mode, so we'll only copy the `from` value + // to the `to` value if we're in overwrite mode or if the + // current key doesn't exist on the `to` object. + to[key] = from[key]; + } + } + } else { + for (key in from) { + // The code duplication here is for runtime performance reasons. + // Combining whitelist and non-whitelist operations into a single + // loop or breaking the shared logic out into a function both result + // in worse performance, and Y.mix is critical enough that the byte + // tradeoff is worth it. + if (!hasOwn.call(from, key)) { + continue; + } + + // The `key in to` check here is (sadly) intentional for backwards + // compatibility reasons. It prevents undesired shadowing of + // prototype members on `to`. + exists = alwaysOverwrite ? false : key in to; + + if (merge && exists && isObject(to[key], true) + && isObject(from[key], true)) { + Y.mix(to[key], from[key], overwrite, null, 0, merge); + } else if (overwrite || !exists) { + to[key] = from[key]; + } + } + + // If this is an IE browser with the JScript enumeration bug, force + // enumeration of the buggy properties by making a recursive call with + // the buggy properties as the whitelist. + if (Y.Object._hasEnumBug) { + Y.mix(to, from, overwrite, Y.Object._forceEnum, mode, merge); + } + } + + return receiver; +}; +/** + * The YUI module contains the components required for building the YUI + * seed file. This includes the script loading mechanism, a simple queue, + * and the core utilities for the library. + * @module yui + * @submodule yui-base + */ + +/** + * Adds utilities to the YUI instance for working with objects. + * + * @class Object + */ + +var Lang = Y.Lang, + hasOwn = Object.prototype.hasOwnProperty, + + UNDEFINED, // <-- Note the comma. We're still declaring vars. + +/** + * Returns a new object that uses _obj_ as its prototype. This method wraps the + * native ES5 `Object.create()` method if available, but doesn't currently + * pass through `Object.create()`'s second argument (properties) in order to + * ensure compatibility with older browsers. + * + * @method () + * @param {Object} obj Prototype object. + * @return {Object} New object using _obj_ as its prototype. + * @static + */ +O = Y.Object = Lang._isNative(Object.create) ? function (obj) { + // We currently wrap the native Object.create instead of simply aliasing it + // to ensure consistency with our fallback shim, which currently doesn't + // support Object.create()'s second argument (properties). Once we have a + // safe fallback for the properties arg, we can stop wrapping + // Object.create(). + return Object.create(obj); +} : (function () { + // Reusable constructor function for the Object.create() shim. + function F() {} + + // The actual shim. + return function (obj) { + F.prototype = obj; + return new F(); + }; +}()), + +/** + * Property names that IE doesn't enumerate in for..in loops, even when they + * should be enumerable. When `_hasEnumBug` is `true`, it's necessary to + * manually enumerate these properties. + * + * @property _forceEnum + * @type String[] + * @protected + * @static + */ +forceEnum = O._forceEnum = [ + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toString', + 'toLocaleString', + 'valueOf' +], + +/** + * `true` if this browser has the JScript enumeration bug that prevents + * enumeration of the properties named in the `_forceEnum` array, `false` + * otherwise. + * + * See: + * - + * - + * + * @property _hasEnumBug + * @type Boolean + * @protected + * @static + */ +hasEnumBug = O._hasEnumBug = !{valueOf: 0}.propertyIsEnumerable('valueOf'), + +/** + * `true` if this browser incorrectly considers the `prototype` property of + * functions to be enumerable. Currently known to affect Opera 11.50. + * + * @property _hasProtoEnumBug + * @type Boolean + * @protected + * @static + */ +hasProtoEnumBug = O._hasProtoEnumBug = (function () {}).propertyIsEnumerable('prototype'), + +/** + * Returns `true` if _key_ exists on _obj_, `false` if _key_ doesn't exist or + * exists only on _obj_'s prototype. This is essentially a safer version of + * `obj.hasOwnProperty()`. + * + * @method owns + * @param {Object} obj Object to test. + * @param {String} key Property name to look for. + * @return {Boolean} `true` if _key_ exists on _obj_, `false` otherwise. + * @static + */ +owns = O.owns = function (obj, key) { + return !!obj && hasOwn.call(obj, key); +}; // <-- End of var declarations. + +/** + * Alias for `owns()`. + * + * @method hasKey + * @param {Object} obj Object to test. + * @param {String} key Property name to look for. + * @return {Boolean} `true` if _key_ exists on _obj_, `false` otherwise. + * @static + */ +O.hasKey = owns; + +/** + * Returns an array containing the object's enumerable keys. Does not include + * prototype keys or non-enumerable keys. + * + * Note that keys are returned in enumeration order (that is, in the same order + * that they would be enumerated by a `for-in` loop), which may not be the same + * as the order in which they were defined. + * + * This method is an alias for the native ES5 `Object.keys()` method if + * available. + * + * @example + * + * Y.Object.keys({a: 'foo', b: 'bar', c: 'baz'}); + * // => ['a', 'b', 'c'] + * + * @method keys + * @param {Object} obj An object. + * @return {String[]} Array of keys. + * @static + */ +O.keys = Lang._isNative(Object.keys) ? Object.keys : function (obj) { + if (!Lang.isObject(obj)) { + throw new TypeError('Object.keys called on a non-object'); + } + + var keys = [], + i, key, len; + + if (hasProtoEnumBug && typeof obj === 'function') { + for (key in obj) { + if (owns(obj, key) && key !== 'prototype') { + keys.push(key); + } + } + } else { + for (key in obj) { + if (owns(obj, key)) { + keys.push(key); + } + } + } + + if (hasEnumBug) { + for (i = 0, len = forceEnum.length; i < len; ++i) { + key = forceEnum[i]; + + if (owns(obj, key)) { + keys.push(key); + } + } + } + + return keys; +}; + +/** + * Returns an array containing the values of the object's enumerable keys. + * + * Note that values are returned in enumeration order (that is, in the same + * order that they would be enumerated by a `for-in` loop), which may not be the + * same as the order in which they were defined. + * + * @example + * + * Y.Object.values({a: 'foo', b: 'bar', c: 'baz'}); + * // => ['foo', 'bar', 'baz'] + * + * @method values + * @param {Object} obj An object. + * @return {Array} Array of values. + * @static + */ +O.values = function (obj) { + var keys = O.keys(obj), + i = 0, + len = keys.length, + values = []; + + for (; i < len; ++i) { + values.push(obj[keys[i]]); + } + + return values; +}; + +/** + * Returns the number of enumerable keys owned by an object. + * + * @method size + * @param {Object} obj An object. + * @return {Number} The object's size. + * @static + */ +O.size = function (obj) { + try { + return O.keys(obj).length; + } catch (ex) { + return 0; // Legacy behavior for non-objects. + } +}; + +/** + * Returns `true` if the object owns an enumerable property with the specified + * value. + * + * @method hasValue + * @param {Object} obj An object. + * @param {any} value The value to search for. + * @return {Boolean} `true` if _obj_ contains _value_, `false` otherwise. + * @static + */ +O.hasValue = function (obj, value) { + return Y.Array.indexOf(O.values(obj), value) > -1; +}; + +/** + * Executes a function on each enumerable property in _obj_. The function + * receives the value, the key, and the object itself as parameters (in that + * order). + * + * By default, only properties owned by _obj_ are enumerated. To include + * prototype properties, set the _proto_ parameter to `true`. + * + * @method each + * @param {Object} obj Object to enumerate. + * @param {Function} fn Function to execute on each enumerable property. + * @param {mixed} fn.value Value of the current property. + * @param {String} fn.key Key of the current property. + * @param {Object} fn.obj Object being enumerated. + * @param {Object} [thisObj] `this` object to use when calling _fn_. + * @param {Boolean} [proto=false] Include prototype properties. + * @return {YUI} the YUI instance. + * @chainable + * @static + */ +O.each = function (obj, fn, thisObj, proto) { + var key; + + for (key in obj) { + if (proto || owns(obj, key)) { + fn.call(thisObj || Y, obj[key], key, obj); + } + } + + return Y; +}; + +/** + * Executes a function on each enumerable property in _obj_, but halts if the + * function returns a truthy value. The function receives the value, the key, + * and the object itself as paramters (in that order). + * + * By default, only properties owned by _obj_ are enumerated. To include + * prototype properties, set the _proto_ parameter to `true`. + * + * @method some + * @param {Object} obj Object to enumerate. + * @param {Function} fn Function to execute on each enumerable property. + * @param {mixed} fn.value Value of the current property. + * @param {String} fn.key Key of the current property. + * @param {Object} fn.obj Object being enumerated. + * @param {Object} [thisObj] `this` object to use when calling _fn_. + * @param {Boolean} [proto=false] Include prototype properties. + * @return {Boolean} `true` if any execution of _fn_ returns a truthy value, + * `false` otherwise. + * @static + */ +O.some = function (obj, fn, thisObj, proto) { + var key; + + for (key in obj) { + if (proto || owns(obj, key)) { + if (fn.call(thisObj || Y, obj[key], key, obj)) { + return true; + } + } + } + + return false; +}; + +/** + * Retrieves the sub value at the provided path, + * from the value object provided. + * + * @method getValue + * @static + * @param o The object from which to extract the property value. + * @param path {Array} A path array, specifying the object traversal path + * from which to obtain the sub value. + * @return {Any} The value stored in the path, undefined if not found, + * undefined if the source is not an object. Returns the source object + * if an empty path is provided. + */ +O.getValue = function(o, path) { + if (!Lang.isObject(o)) { + return UNDEFINED; + } + + var i, + p = Y.Array(path), + l = p.length; + + for (i = 0; o !== UNDEFINED && i < l; i++) { + o = o[p[i]]; + } + + return o; +}; + +/** + * Sets the sub-attribute value at the provided path on the + * value object. Returns the modified value object, or + * undefined if the path is invalid. + * + * @method setValue + * @static + * @param o The object on which to set the sub value. + * @param path {Array} A path array, specifying the object traversal path + * at which to set the sub value. + * @param val {Any} The new value for the sub-attribute. + * @return {Object} The modified object, with the new sub value set, or + * undefined, if the path was invalid. + */ +O.setValue = function(o, path, val) { + var i, + p = Y.Array(path), + leafIdx = p.length - 1, + ref = o; + + if (leafIdx >= 0) { + for (i = 0; ref !== UNDEFINED && i < leafIdx; i++) { + ref = ref[p[i]]; + } + + if (ref !== UNDEFINED) { + ref[p[i]] = val; + } else { + return UNDEFINED; + } + } + + return o; +}; + +/** + * Returns `true` if the object has no enumerable properties of its own. + * + * @method isEmpty + * @param {Object} obj An object. + * @return {Boolean} `true` if the object is empty. + * @static + * @since 3.2.0 + */ +O.isEmpty = function (obj) { + return !O.keys(Object(obj)).length; +}; +/** + * The YUI module contains the components required for building the YUI seed + * file. This includes the script loading mechanism, a simple queue, and the + * core utilities for the library. + * @module yui + * @submodule yui-base + */ + +/** + * YUI user agent detection. + * Do not fork for a browser if it can be avoided. Use feature detection when + * you can. Use the user agent as a last resort. For all fields listed + * as @type float, UA stores a version number for the browser engine, + * 0 otherwise. This value may or may not map to the version number of + * the browser using the engine. The value is presented as a float so + * that it can easily be used for boolean evaluation as well as for + * looking for a particular range of versions. Because of this, + * some of the granularity of the version info may be lost. The fields that + * are @type string default to null. The API docs list the values that + * these fields can have. + * @class UA + * @static + */ + +/** +* Static method on `YUI.Env` for parsing a UA string. Called at instantiation +* to populate `Y.UA`. +* +* @static +* @method parseUA +* @param {String} [subUA=navigator.userAgent] UA string to parse +* @return {Object} The Y.UA object +*/ +YUI.Env.parseUA = function(subUA) { + + var numberify = function(s) { + var c = 0; + return parseFloat(s.replace(/\./g, function() { + return (c++ == 1) ? '' : '.'; + })); + }, + + win = Y.config.win, + + nav = win && win.navigator, + + o = { + + /** + * Internet Explorer version number or 0. Example: 6 + * @property ie + * @type float + * @static + */ + ie: 0, + + /** + * Opera version number or 0. Example: 9.2 + * @property opera + * @type float + * @static + */ + opera: 0, + + /** + * Gecko engine revision number. Will evaluate to 1 if Gecko + * is detected but the revision could not be found. Other browsers + * will be 0. Example: 1.8 + *
        +         * Firefox 1.0.0.4: 1.7.8   <-- Reports 1.7
        +         * Firefox 1.5.0.9: 1.8.0.9 <-- 1.8
        +         * Firefox 2.0.0.3: 1.8.1.3 <-- 1.81
        +         * Firefox 3.0   <-- 1.9
        +         * Firefox 3.5   <-- 1.91
        +         * 
        + * @property gecko + * @type float + * @static + */ + gecko: 0, + + /** + * AppleWebKit version. KHTML browsers that are not WebKit browsers + * will evaluate to 1, other browsers 0. Example: 418.9 + *
        +         * Safari 1.3.2 (312.6): 312.8.1 <-- Reports 312.8 -- currently the
        +         *                                   latest available for Mac OSX 10.3.
        +         * Safari 2.0.2:         416     <-- hasOwnProperty introduced
        +         * Safari 2.0.4:         418     <-- preventDefault fixed
        +         * Safari 2.0.4 (419.3): 418.9.1 <-- One version of Safari may run
        +         *                                   different versions of webkit
        +         * Safari 2.0.4 (419.3): 419     <-- Tiger installations that have been
        +         *                                   updated, but not updated
        +         *                                   to the latest patch.
        +         * Webkit 212 nightly:   522+    <-- Safari 3.0 precursor (with native
        +         * SVG and many major issues fixed).
        +         * Safari 3.0.4 (523.12) 523.12  <-- First Tiger release - automatic
        +         * update from 2.x via the 10.4.11 OS patch.
        +         * Webkit nightly 1/2008:525+    <-- Supports DOMContentLoaded event.
        +         *                                   yahoo.com user agent hack removed.
        +         * 
        + * http://en.wikipedia.org/wiki/Safari_version_history + * @property webkit + * @type float + * @static + */ + webkit: 0, + + /** + * Safari will be detected as webkit, but this property will also + * be populated with the Safari version number + * @property safari + * @type float + * @static + */ + safari: 0, + + /** + * Chrome will be detected as webkit, but this property will also + * be populated with the Chrome version number + * @property chrome + * @type float + * @static + */ + chrome: 0, + + /** + * The mobile property will be set to a string containing any relevant + * user agent information when a modern mobile browser is detected. + * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series + * devices with the WebKit-based browser, and Opera Mini. + * @property mobile + * @type string + * @default null + * @static + */ + mobile: null, + + /** + * Adobe AIR version number or 0. Only populated if webkit is detected. + * Example: 1.0 + * @property air + * @type float + */ + air: 0, + /** + * PhantomJS version number or 0. Only populated if webkit is detected. + * Example: 1.0 + * @property phantomjs + * @type float + */ + phantomjs: 0, + /** + * Adobe AIR version number or 0. Only populated if webkit is detected. + * Example: 1.0 + * @property air + * @type float + */ + air: 0, + /** + * Detects Apple iPad's OS version + * @property ipad + * @type float + * @static + */ + ipad: 0, + /** + * Detects Apple iPhone's OS version + * @property iphone + * @type float + * @static + */ + iphone: 0, + /** + * Detects Apples iPod's OS version + * @property ipod + * @type float + * @static + */ + ipod: 0, + /** + * General truthy check for iPad, iPhone or iPod + * @property ios + * @type Boolean + * @default null + * @static + */ + ios: null, + /** + * Detects Googles Android OS version + * @property android + * @type float + * @static + */ + android: 0, + /** + * Detects Kindle Silk + * @property silk + * @type float + * @static + */ + silk: 0, + /** + * Detects Kindle Silk Acceleration + * @property accel + * @type Boolean + * @static + */ + accel: false, + /** + * Detects Palms WebOS version + * @property webos + * @type float + * @static + */ + webos: 0, + + /** + * Google Caja version number or 0. + * @property caja + * @type float + */ + caja: nav && nav.cajaVersion, + + /** + * Set to true if the page appears to be in SSL + * @property secure + * @type boolean + * @static + */ + secure: false, + + /** + * The operating system. Currently only detecting windows or macintosh + * @property os + * @type string + * @default null + * @static + */ + os: null, + + /** + * The Nodejs Version + * @property nodejs + * @type float + * @default 0 + * @static + */ + nodejs: 0 + }, + + ua = subUA || nav && nav.userAgent, + + loc = win && win.location, + + href = loc && loc.href, + + m; + + /** + * The User Agent string that was parsed + * @property userAgent + * @type String + * @static + */ + o.userAgent = ua; + + + o.secure = href && (href.toLowerCase().indexOf('https') === 0); + + if (ua) { + + if ((/windows|win32/i).test(ua)) { + o.os = 'windows'; + } else if ((/macintosh|mac_powerpc/i).test(ua)) { + o.os = 'macintosh'; + } else if ((/android/i).test(ua)) { + o.os = 'android'; + } else if ((/symbos/i).test(ua)) { + o.os = 'symbos'; + } else if ((/linux/i).test(ua)) { + o.os = 'linux'; + } else if ((/rhino/i).test(ua)) { + o.os = 'rhino'; + } + + // Modern KHTML browsers should qualify as Safari X-Grade + if ((/KHTML/).test(ua)) { + o.webkit = 1; + } + if ((/IEMobile|XBLWP7/).test(ua)) { + o.mobile = 'windows'; + } + if ((/Fennec/).test(ua)) { + o.mobile = 'gecko'; + } + // Modern WebKit browsers are at least X-Grade + m = ua.match(/AppleWebKit\/([^\s]*)/); + if (m && m[1]) { + o.webkit = numberify(m[1]); + o.safari = o.webkit; + + if (/PhantomJS/.test(ua)) { + m = ua.match(/PhantomJS\/([^\s]*)/); + if (m && m[1]) { + o.phantomjs = numberify(m[1]); + } + } + + // Mobile browser check + if (/ Mobile\//.test(ua) || (/iPad|iPod|iPhone/).test(ua)) { + o.mobile = 'Apple'; // iPhone or iPod Touch + + m = ua.match(/OS ([^\s]*)/); + if (m && m[1]) { + m = numberify(m[1].replace('_', '.')); + } + o.ios = m; + o.os = 'ios'; + o.ipad = o.ipod = o.iphone = 0; + + m = ua.match(/iPad|iPod|iPhone/); + if (m && m[0]) { + o[m[0].toLowerCase()] = o.ios; + } + } else { + m = ua.match(/NokiaN[^\/]*|webOS\/\d\.\d/); + if (m) { + // Nokia N-series, webOS, ex: NokiaN95 + o.mobile = m[0]; + } + if (/webOS/.test(ua)) { + o.mobile = 'WebOS'; + m = ua.match(/webOS\/([^\s]*);/); + if (m && m[1]) { + o.webos = numberify(m[1]); + } + } + if (/ Android/.test(ua)) { + if (/Mobile/.test(ua)) { + o.mobile = 'Android'; + } + m = ua.match(/Android ([^\s]*);/); + if (m && m[1]) { + o.android = numberify(m[1]); + } + + } + if (/Silk/.test(ua)) { + m = ua.match(/Silk\/([^\s]*)\)/); + if (m && m[1]) { + o.silk = numberify(m[1]); + } + if (!o.android) { + o.android = 2.34; //Hack for desktop mode in Kindle + o.os = 'Android'; + } + if (/Accelerated=true/.test(ua)) { + o.accel = true; + } + } + } + + m = ua.match(/(Chrome|CrMo)\/([^\s]*)/); + if (m && m[1] && m[2]) { + o.chrome = numberify(m[2]); // Chrome + o.safari = 0; //Reset safari back to 0 + if (m[1] === 'CrMo') { + o.mobile = 'chrome'; + } + } else { + m = ua.match(/AdobeAIR\/([^\s]*)/); + if (m) { + o.air = m[0]; // Adobe AIR 1.0 or better + } + } + } + + if (!o.webkit) { // not webkit +// @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr) + if (/Opera/.test(ua)) { + m = ua.match(/Opera[\s\/]([^\s]*)/); + if (m && m[1]) { + o.opera = numberify(m[1]); + } + m = ua.match(/Version\/([^\s]*)/); + if (m && m[1]) { + o.opera = numberify(m[1]); // opera 10+ + } + + if (/Opera Mobi/.test(ua)) { + o.mobile = 'opera'; + m = ua.replace('Opera Mobi', '').match(/Opera ([^\s]*)/); + if (m && m[1]) { + o.opera = numberify(m[1]); + } + } + m = ua.match(/Opera Mini[^;]*/); + + if (m) { + o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316 + } + } else { // not opera or webkit + m = ua.match(/MSIE\s([^;]*)/); + if (m && m[1]) { + o.ie = numberify(m[1]); + } else { // not opera, webkit, or ie + m = ua.match(/Gecko\/([^\s]*)/); + if (m) { + o.gecko = 1; // Gecko detected, look for revision + m = ua.match(/rv:([^\s\)]*)/); + if (m && m[1]) { + o.gecko = numberify(m[1]); + } + } + } + } + } + } + + //It was a parsed UA, do not assign the global value. + if (!subUA) { + + if (typeof process == 'object') { + + if (process.versions && process.versions.node) { + //NodeJS + o.os = process.platform; + o.nodejs = numberify(process.versions.node); + } + } + + YUI.Env.UA = o; + + } + + return o; +}; + + +Y.UA = YUI.Env.UA || YUI.Env.parseUA(); + +/** +Performs a simple comparison between two version numbers, accounting for +standard versioning logic such as the fact that "535.8" is a lower version than +"535.24", even though a simple numerical comparison would indicate that it's +greater. Also accounts for cases such as "1.1" vs. "1.1.0", which are +considered equivalent. + +Returns -1 if version _a_ is lower than version _b_, 0 if they're equivalent, +1 if _a_ is higher than _b_. + +Versions may be numbers or strings containing numbers and dots. For example, +both `535` and `"535.8.10"` are acceptable. A version string containing +non-numeric characters, like `"535.8.beta"`, may produce unexpected results. + +@method compareVersions +@param {Number|String} a First version number to compare. +@param {Number|String} b Second version number to compare. +@return -1 if _a_ is lower than _b_, 0 if they're equivalent, 1 if _a_ is + higher than _b_. +**/ +Y.UA.compareVersions = function (a, b) { + var aPart, aParts, bPart, bParts, i, len; + + if (a === b) { + return 0; + } + + aParts = (a + '').split('.'); + bParts = (b + '').split('.'); + + for (i = 0, len = Math.max(aParts.length, bParts.length); i < len; ++i) { + aPart = parseInt(aParts[i], 10); + bPart = parseInt(bParts[i], 10); + + isNaN(aPart) && (aPart = 0); + isNaN(bPart) && (bPart = 0); + + if (aPart < bPart) { + return -1; + } + + if (aPart > bPart) { + return 1; + } + } + + return 0; +}; +YUI.Env.aliases = { + "anim": ["anim-base","anim-color","anim-curve","anim-easing","anim-node-plugin","anim-scroll","anim-xy"], + "app": ["app-base","app-transitions","model","model-list","router","view"], + "attribute": ["attribute-base","attribute-complex"], + "autocomplete": ["autocomplete-base","autocomplete-sources","autocomplete-list","autocomplete-plugin"], + "base": ["base-base","base-pluginhost","base-build"], + "cache": ["cache-base","cache-offline","cache-plugin"], + "collection": ["array-extras","arraylist","arraylist-add","arraylist-filter","array-invoke"], + "controller": ["router"], + "dataschema": ["dataschema-base","dataschema-json","dataschema-xml","dataschema-array","dataschema-text"], + "datasource": ["datasource-local","datasource-io","datasource-get","datasource-function","datasource-cache","datasource-jsonschema","datasource-xmlschema","datasource-arrayschema","datasource-textschema","datasource-polling"], + "datatable": ["datatable-core","datatable-table","datatable-head","datatable-body","datatable-base","datatable-column-widths","datatable-message","datatable-mutable","datatable-sort","datatable-datasource"], + "datatable-deprecated": ["datatable-base-deprecated","datatable-datasource-deprecated","datatable-sort-deprecated","datatable-scroll-deprecated"], + "datatype": ["datatype-number","datatype-date","datatype-xml"], + "datatype-date": ["datatype-date-parse","datatype-date-format"], + "datatype-number": ["datatype-number-parse","datatype-number-format"], + "datatype-xml": ["datatype-xml-parse","datatype-xml-format"], + "dd": ["dd-ddm-base","dd-ddm","dd-ddm-drop","dd-drag","dd-proxy","dd-constrain","dd-drop","dd-scroll","dd-delegate"], + "dom": ["dom-base","dom-screen","dom-style","selector-native","selector"], + "editor": ["frame","editor-selection","exec-command","editor-base","editor-para","editor-br","editor-bidi","editor-tab","createlink-base"], + "event": ["event-base","event-delegate","event-synthetic","event-mousewheel","event-mouseenter","event-key","event-focus","event-resize","event-hover","event-outside","event-touch","event-move","event-flick","event-valuechange"], + "event-custom": ["event-custom-base","event-custom-complex"], + "event-gestures": ["event-flick","event-move"], + "handlebars": ["handlebars-compiler"], + "highlight": ["highlight-base","highlight-accentfold"], + "history": ["history-base","history-hash","history-hash-ie","history-html5"], + "io": ["io-base","io-xdr","io-form","io-upload-iframe","io-queue"], + "json": ["json-parse","json-stringify"], + "loader": ["loader-base","loader-rollup","loader-yui3"], + "node": ["node-base","node-event-delegate","node-pluginhost","node-screen","node-style"], + "pluginhost": ["pluginhost-base","pluginhost-config"], + "querystring": ["querystring-parse","querystring-stringify"], + "recordset": ["recordset-base","recordset-sort","recordset-filter","recordset-indexer"], + "resize": ["resize-base","resize-proxy","resize-constrain"], + "slider": ["slider-base","slider-value-range","clickable-rail","range-slider"], + "text": ["text-accentfold","text-wordbreak"], + "widget": ["widget-base","widget-htmlparser","widget-skin","widget-uievents"] +}; + + +}, '3.6.0pr3' ); +YUI.add('get', function(Y) { + +/*jslint boss:true, expr:true, laxbreak: true */ + +/** +Provides dynamic loading of remote JavaScript and CSS resources. + +@module get +@class Get +@static +**/ + +var Lang = Y.Lang, + + CUSTOM_ATTRS, // defined lazily in Y.Get.Transaction._createNode() + + Get, Transaction; + +Y.Get = Get = { + // -- Public Properties ---------------------------------------------------- + + /** + Default options for CSS requests. Options specified here will override + global defaults for CSS requests. + + See the `options` property for all available options. + + @property cssOptions + @type Object + @static + @since 3.5.0 + **/ + cssOptions: { + attributes: { + rel: 'stylesheet' + }, + + doc : Y.config.linkDoc || Y.config.doc, + pollInterval: 50 + }, + + /** + Default options for JS requests. Options specified here will override global + defaults for JS requests. + + See the `options` property for all available options. + + @property jsOptions + @type Object + @static + @since 3.5.0 + **/ + jsOptions: { + autopurge: true, + doc : Y.config.scriptDoc || Y.config.doc + }, + + /** + Default options to use for all requests. + + Note that while all available options are documented here for ease of + discovery, some options (like callback functions) only make sense at the + transaction level. + + Callback functions specified via the options object or the `options` + parameter of the `css()`, `js()`, or `load()` methods will receive the + transaction object as a parameter. See `Y.Get.Transaction` for details on + the properties and methods available on transactions. + + @static + @since 3.5.0 + @property {Object} options + + @property {Boolean} [options.async=false] Whether or not to load scripts + asynchronously, meaning they're requested in parallel and execution + order is not guaranteed. Has no effect on CSS, since CSS is always + loaded asynchronously. + + @property {Object} [options.attributes] HTML attribute name/value pairs that + should be added to inserted nodes. By default, the `charset` attribute + will be set to "utf-8" and nodes will be given an auto-generated `id` + attribute, but you can override these with your own values if desired. + + @property {Boolean} [options.autopurge] Whether or not to automatically + purge inserted nodes after the purge threshold is reached. This is + `true` by default for JavaScript, but `false` for CSS since purging a + CSS node will also remove any styling applied by the referenced file. + + @property {Object} [options.context] `this` object to use when calling + callback functions. Defaults to the transaction object. + + @property {Mixed} [options.data] Arbitrary data object to pass to "on*" + callbacks. + + @property {Document} [options.doc] Document into which nodes should be + inserted. By default, the current document is used. + + @property {HTMLElement|String} [options.insertBefore] HTML element or id + string of an element before which all generated nodes should be + inserted. If not specified, Get will automatically determine the best + place to insert nodes for maximum compatibility. + + @property {Function} [options.onEnd] Callback to execute after a transaction + is complete, regardless of whether it succeeded or failed. + + @property {Function} [options.onFailure] Callback to execute after a + transaction fails, times out, or is aborted. + + @property {Function} [options.onProgress] Callback to execute after each + individual request in a transaction either succeeds or fails. + + @property {Function} [options.onSuccess] Callback to execute after a + transaction completes successfully with no errors. Note that in browsers + that don't support the `error` event on CSS `` nodes, a failed CSS + request may still be reported as a success because in these browsers + it can be difficult or impossible to distinguish between success and + failure for CSS resources. + + @property {Function} [options.onTimeout] Callback to execute after a + transaction times out. + + @property {Number} [options.pollInterval=50] Polling interval (in + milliseconds) for detecting CSS load completion in browsers that don't + support the `load` event on `` nodes. This isn't used for + JavaScript. + + @property {Number} [options.purgethreshold=20] Number of nodes to insert + before triggering an automatic purge when `autopurge` is `true`. + + @property {Number} [options.timeout] Number of milliseconds to wait before + aborting a transaction. When a timeout occurs, the `onTimeout` callback + is called, followed by `onFailure` and finally `onEnd`. By default, + there is no timeout. + + @property {String} [options.type] Resource type ("css" or "js"). This option + is set automatically by the `css()` and `js()` functions and will be + ignored there, but may be useful when using the `load()` function. If + not specified, the type will be inferred from the URL, defaulting to + "js" if the URL doesn't contain a recognizable file extension. + **/ + options: { + attributes: { + charset: 'utf-8' + }, + + purgethreshold: 20 + }, + + // -- Protected Properties ------------------------------------------------- + + /** + Regex that matches a CSS URL. Used to guess the file type when it's not + specified. + + @property REGEX_CSS + @type RegExp + @final + @protected + @static + @since 3.5.0 + **/ + REGEX_CSS: /\.css(?:[?;].*)?$/i, + + /** + Regex that matches a JS URL. Used to guess the file type when it's not + specified. + + @property REGEX_JS + @type RegExp + @final + @protected + @static + @since 3.5.0 + **/ + REGEX_JS : /\.js(?:[?;].*)?$/i, + + /** + Contains information about the current environment, such as what script and + link injection features it supports. + + This object is created and populated the first time the `_getEnv()` method + is called. + + @property _env + @type Object + @protected + @static + @since 3.5.0 + **/ + + /** + Mapping of document _yuid strings to or node references so we + don't have to look the node up each time we want to insert a request node. + + @property _insertCache + @type Object + @protected + @static + @since 3.5.0 + **/ + _insertCache: {}, + + /** + Information about the currently pending transaction, if any. + + This is actually an object with two properties: `callback`, containing the + optional callback passed to `css()`, `load()`, or `js()`; and `transaction`, + containing the actual transaction instance. + + @property _pending + @type Object + @protected + @static + @since 3.5.0 + **/ + _pending: null, + + /** + HTML nodes eligible to be purged next time autopurge is triggered. + + @property _purgeNodes + @type HTMLElement[] + @protected + @static + @since 3.5.0 + **/ + _purgeNodes: [], + + /** + Queued transactions and associated callbacks. + + @property _queue + @type Object[] + @protected + @static + @since 3.5.0 + **/ + _queue: [], + + // -- Public Methods ------------------------------------------------------- + + /** + Aborts the specified transaction. + + This will cause the transaction's `onFailure` callback to be called and + will prevent any new script and link nodes from being added to the document, + but any resources that have already been requested will continue loading + (there's no safe way to prevent this, unfortunately). + + *Note:* This method is deprecated as of 3.5.0, and will be removed in a + future version of YUI. Use the transaction-level `abort()` method instead. + + @method abort + @param {Get.Transaction} transaction Transaction to abort. + @deprecated Use the `abort()` method on the transaction instead. + @static + **/ + abort: function (transaction) { + var i, id, item, len, pending; + + Y.log('`Y.Get.abort()` is deprecated as of 3.5.0. Use the `abort()` method on the transaction instead.', 'warn', 'get'); + + if (!transaction.abort) { + id = transaction; + pending = this._pending; + transaction = null; + + if (pending && pending.transaction.id === id) { + transaction = pending.transaction; + this._pending = null; + } else { + for (i = 0, len = this._queue.length; i < len; ++i) { + item = this._queue[i].transaction; + + if (item.id === id) { + transaction = item; + this._queue.splice(i, 1); + break; + } + } + } + } + + transaction && transaction.abort(); + }, + + /** + Loads one or more CSS files. + + The _urls_ parameter may be provided as a URL string, a request object, + or an array of URL strings and/or request objects. + + A request object is just an object that contains a `url` property and zero + or more options that should apply specifically to that request. + Request-specific options take priority over transaction-level options and + default options. + + URLs may be relative or absolute, and do not have to have the same origin + as the current page. + + The `options` parameter may be omitted completely and a callback passed in + its place, if desired. + + @example + + // Load a single CSS file and log a message on completion. + Y.Get.css('foo.css', function (err) { + if (err) { + Y.log('foo.css failed to load!'); + } else { + Y.log('foo.css was loaded successfully'); + } + }); + + // Load multiple CSS files and log a message when all have finished + // loading. + var urls = ['foo.css', 'http://example.com/bar.css', 'baz/quux.css']; + + Y.Get.css(urls, function (err) { + if (err) { + Y.log('one or more files failed to load!'); + } else { + Y.log('all files loaded successfully'); + } + }); + + // Specify transaction-level options, which will apply to all requests + // within the transaction. + Y.Get.css(urls, { + attributes: {'class': 'my-css'}, + timeout : 5000 + }); + + // Specify per-request options, which override transaction-level and + // default options. + Y.Get.css([ + {url: 'foo.css', attributes: {id: 'foo'}}, + {url: 'bar.css', attributes: {id: 'bar', charset: 'iso-8859-1'}} + ]); + + @method css + @param {String|Object|Array} urls URL string, request object, or array + of URLs and/or request objects to load. + @param {Object} [options] Options for this transaction. See the + `Y.Get.options` property for a complete list of available options. + @param {Function} [callback] Callback function to be called on completion. + This is a general callback and will be called before any more granular + callbacks (`onSuccess`, `onFailure`, etc.) specified in the `options` + object. + + @param {Array|null} callback.err Array of errors that occurred during + the transaction, or `null` on success. + @param {Get.Transaction} callback.transaction Transaction object. + + @return {Get.Transaction} Transaction object. + @static + **/ + css: function (urls, options, callback) { + return this._load('css', urls, options, callback); + }, + + /** + Loads one or more JavaScript resources. + + The _urls_ parameter may be provided as a URL string, a request object, + or an array of URL strings and/or request objects. + + A request object is just an object that contains a `url` property and zero + or more options that should apply specifically to that request. + Request-specific options take priority over transaction-level options and + default options. + + URLs may be relative or absolute, and do not have to have the same origin + as the current page. + + The `options` parameter may be omitted completely and a callback passed in + its place, if desired. + + Scripts will be executed in the order they're specified unless the `async` + option is `true`, in which case they'll be loaded in parallel and executed + in whatever order they finish loading. + + @example + + // Load a single JS file and log a message on completion. + Y.Get.js('foo.js', function (err) { + if (err) { + Y.log('foo.js failed to load!'); + } else { + Y.log('foo.js was loaded successfully'); + } + }); + + // Load multiple JS files, execute them in order, and log a message when + // all have finished loading. + var urls = ['foo.js', 'http://example.com/bar.js', 'baz/quux.js']; + + Y.Get.js(urls, function (err) { + if (err) { + Y.log('one or more files failed to load!'); + } else { + Y.log('all files loaded successfully'); + } + }); + + // Specify transaction-level options, which will apply to all requests + // within the transaction. + Y.Get.js(urls, { + attributes: {'class': 'my-js'}, + timeout : 5000 + }); + + // Specify per-request options, which override transaction-level and + // default options. + Y.Get.js([ + {url: 'foo.js', attributes: {id: 'foo'}}, + {url: 'bar.js', attributes: {id: 'bar', charset: 'iso-8859-1'}} + ]); + + @method js + @param {String|Object|Array} urls URL string, request object, or array + of URLs and/or request objects to load. + @param {Object} [options] Options for this transaction. See the + `Y.Get.options` property for a complete list of available options. + @param {Function} [callback] Callback function to be called on completion. + This is a general callback and will be called before any more granular + callbacks (`onSuccess`, `onFailure`, etc.) specified in the `options` + object. + + @param {Array|null} callback.err Array of errors that occurred during + the transaction, or `null` on success. + @param {Get.Transaction} callback.transaction Transaction object. + + @return {Get.Transaction} Transaction object. + @since 3.5.0 + @static + **/ + js: function (urls, options, callback) { + return this._load('js', urls, options, callback); + }, + + /** + Loads one or more CSS and/or JavaScript resources in the same transaction. + + Use this method when you want to load both CSS and JavaScript in a single + transaction and be notified when all requested URLs have finished loading, + regardless of type. + + Behavior and options are the same as for the `css()` and `js()` methods. If + a resource type isn't specified in per-request options or transaction-level + options, Get will guess the file type based on the URL's extension (`.css` + or `.js`, with or without a following query string). If the file type can't + be guessed from the URL, a warning will be logged and Get will assume the + URL is a JavaScript resource. + + @example + + // Load both CSS and JS files in a single transaction, and log a message + // when all files have finished loading. + Y.Get.load(['foo.css', 'bar.js', 'baz.css'], function (err) { + if (err) { + Y.log('one or more files failed to load!'); + } else { + Y.log('all files loaded successfully'); + } + }); + + @method load + @param {String|Object|Array} urls URL string, request object, or array + of URLs and/or request objects to load. + @param {Object} [options] Options for this transaction. See the + `Y.Get.options` property for a complete list of available options. + @param {Function} [callback] Callback function to be called on completion. + This is a general callback and will be called before any more granular + callbacks (`onSuccess`, `onFailure`, etc.) specified in the `options` + object. + + @param {Array|null} err Array of errors that occurred during the + transaction, or `null` on success. + @param {Get.Transaction} Transaction object. + + @return {Get.Transaction} Transaction object. + @since 3.5.0 + @static + **/ + load: function (urls, options, callback) { + return this._load(null, urls, options, callback); + }, + + // -- Protected Methods ---------------------------------------------------- + + /** + Triggers an automatic purge if the purge threshold has been reached. + + @method _autoPurge + @param {Number} threshold Purge threshold to use, in milliseconds. + @protected + @since 3.5.0 + @static + **/ + _autoPurge: function (threshold) { + if (threshold && this._purgeNodes.length >= threshold) { + Y.log('autopurge triggered after ' + this._purgeNodes.length + ' nodes', 'info', 'get'); + this._purge(this._purgeNodes); + } + }, + + /** + Populates the `_env` property with information about the current + environment. + + @method _getEnv + @return {Object} Environment information. + @protected + @since 3.5.0 + @static + **/ + _getEnv: function () { + var doc = Y.config.doc, + ua = Y.UA; + + // Note: some of these checks require browser sniffs since it's not + // feasible to load test files on every pageview just to perform a + // feature test. I'm sorry if this makes you sad. + return (this._env = { + // True if this is a browser that supports disabling async mode on + // dynamically created script nodes. See + // https://developer.mozilla.org/En/HTML/Element/Script#Attributes + async: doc && doc.createElement('script').async === true, + + // True if this browser fires an event when a dynamically injected + // link node fails to load. This is currently true for Firefox 9+ + // and WebKit 535.24+. + cssFail: ua.gecko >= 9 || ua.compareVersions(ua.webkit, 535.24) >= 0, + + // True if this browser fires an event when a dynamically injected + // link node finishes loading. This is currently true for IE, Opera, + // Firefox 9+, and WebKit 535.24+. Note that IE versions <9 fire the + // DOM 0 "onload" event, but not "load". All versions of IE fire + // "onload". + // davglass: Seems that Chrome on Android needs this to be false. + cssLoad: ( + (!ua.gecko && !ua.webkit) || ua.gecko >= 9 || + ua.compareVersions(ua.webkit, 535.24) >= 0 + ) && !(ua.chrome && ua.chrome <= 18), + + // True if this browser preserves script execution order while + // loading scripts in parallel as long as the script node's `async` + // attribute is set to false to explicitly disable async execution. + preservesScriptOrder: !!(ua.gecko || ua.opera) + }); + }, + + _getTransaction: function (urls, options) { + var requests = [], + i, len, req, url; + + if (!Lang.isArray(urls)) { + urls = [urls]; + } + + options = Y.merge(this.options, options); + + // Clone the attributes object so we don't end up modifying it by ref. + options.attributes = Y.merge(this.options.attributes, + options.attributes); + + for (i = 0, len = urls.length; i < len; ++i) { + url = urls[i]; + req = {attributes: {}}; + + // If `url` is a string, we create a URL object for it, then mix in + // global options and request-specific options. If it's an object + // with a "url" property, we assume it's a request object containing + // URL-specific options. + if (typeof url === 'string') { + req.url = url; + } else if (url.url) { + // URL-specific options override both global defaults and + // request-specific options. + Y.mix(req, url, false, null, 0, true); + url = url.url; // Make url a string so we can use it later. + } else { + Y.log('URL must be a string or an object with a `url` property.', 'error', 'get'); + continue; + } + + Y.mix(req, options, false, null, 0, true); + + // If we didn't get an explicit type for this URL either in the + // request options or the URL-specific options, try to determine + // one from the file extension. + if (!req.type) { + if (this.REGEX_CSS.test(url)) { + req.type = 'css'; + } else { + if (!this.REGEX_JS.test(url)) { + Y.log("Can't guess file type from URL. Assuming JS: " + url, 'warn', 'get'); + } + + req.type = 'js'; + } + } + + // Mix in type-specific default options, but don't overwrite any + // options that have already been set. + Y.mix(req, req.type === 'js' ? this.jsOptions : this.cssOptions, + false, null, 0, true); + + // Give the node an id attribute if it doesn't already have one. + req.attributes.id || (req.attributes.id = Y.guid()); + + // Backcompat for <3.5.0 behavior. + if (req.win) { + Y.log('The `win` option is deprecated as of 3.5.0. Use `doc` instead.', 'warn', 'get'); + req.doc = req.win.document; + } else { + req.win = req.doc.defaultView || req.doc.parentWindow; + } + + if (req.charset) { + Y.log('The `charset` option is deprecated as of 3.5.0. Set `attributes.charset` instead.', 'warn', 'get'); + req.attributes.charset = req.charset; + } + + requests.push(req); + } + + return new Transaction(requests, options); + }, + + _load: function (type, urls, options, callback) { + var transaction; + + // Allow callback as third param. + if (typeof options === 'function') { + callback = options; + options = {}; + } + + options || (options = {}); + options.type = type; + + if (!this._env) { + this._getEnv(); + } + + transaction = this._getTransaction(urls, options); + + this._queue.push({ + callback : callback, + transaction: transaction + }); + + this._next(); + + return transaction; + }, + + _next: function () { + var item; + + if (this._pending) { + return; + } + + item = this._queue.shift(); + + if (item) { + this._pending = item; + + item.transaction.execute(function () { + item.callback && item.callback.apply(this, arguments); + + Get._pending = null; + Get._next(); + }); + } + }, + + _purge: function (nodes) { + var purgeNodes = this._purgeNodes, + isTransaction = nodes !== purgeNodes, + index, node; + + while (node = nodes.pop()) { // assignment + // Don't purge nodes that haven't finished loading (or errored out), + // since this can hang the transaction. + if (!node._yuiget_finished) { + continue; + } + + node.parentNode && node.parentNode.removeChild(node); + + // If this is a transaction-level purge and this node also exists in + // the Get-level _purgeNodes array, we need to remove it from + // _purgeNodes to avoid creating a memory leak. The indexOf lookup + // sucks, but until we get WeakMaps, this is the least troublesome + // way to do this (we can't just hold onto node ids because they may + // not be in the same document). + if (isTransaction) { + index = Y.Array.indexOf(purgeNodes, node); + + if (index > -1) { + purgeNodes.splice(index, 1); + } + } + } + } +}; + +/** +Alias for `js()`. + +@method script +@static +**/ +Get.script = Get.js; + +/** +Represents a Get transaction, which may contain requests for one or more JS or +CSS files. + +This class should not be instantiated manually. Instances will be created and +returned as needed by Y.Get's `css()`, `js()`, and `load()` methods. + +@class Get.Transaction +@constructor +@since 3.5.0 +**/ +Get.Transaction = Transaction = function (requests, options) { + var self = this; + + self.id = Transaction._lastId += 1; + self.data = options.data; + self.errors = []; + self.nodes = []; + self.options = options; + self.requests = requests; + + self._callbacks = []; // callbacks to call after execution finishes + self._queue = []; + self._waiting = 0; + + // Deprecated pre-3.5.0 properties. + self.tId = self.id; // Use `id` instead. + self.win = options.win || Y.config.win; +}; + +/** +Arbitrary data object associated with this transaction. + +This object comes from the options passed to `Get.css()`, `Get.js()`, or +`Get.load()`, and will be `undefined` if no data object was specified. + +@property {Object} data +**/ + +/** +Array of errors that have occurred during this transaction, if any. + +@since 3.5.0 +@property {Object[]} errors +@property {String} errors.error Error message. +@property {Object} errors.request Request object related to the error. +**/ + +/** +Numeric id for this transaction, unique among all transactions within the same +YUI sandbox in the current pageview. + +@property {Number} id +@since 3.5.0 +**/ + +/** +HTMLElement nodes (native ones, not YUI Node instances) that have been inserted +during the current transaction. + +@property {HTMLElement[]} nodes +**/ + +/** +Options associated with this transaction. + +See `Get.options` for the full list of available options. + +@property {Object} options +@since 3.5.0 +**/ + +/** +Request objects contained in this transaction. Each request object represents +one CSS or JS URL that will be (or has been) requested and loaded into the page. + +@property {Object} requests +@since 3.5.0 +**/ + +/** +Id of the most recent transaction. + +@property _lastId +@type Number +@protected +@static +**/ +Transaction._lastId = 0; + +Transaction.prototype = { + // -- Public Properties ---------------------------------------------------- + + /** + Current state of this transaction. One of "new", "executing", or "done". + + @property _state + @type String + @protected + **/ + _state: 'new', // "new", "executing", or "done" + + // -- Public Methods ------------------------------------------------------- + + /** + Aborts this transaction. + + This will cause the transaction's `onFailure` callback to be called and + will prevent any new script and link nodes from being added to the document, + but any resources that have already been requested will continue loading + (there's no safe way to prevent this, unfortunately). + + @method abort + @param {String} [msg="Aborted."] Optional message to use in the `errors` + array describing why the transaction was aborted. + **/ + abort: function (msg) { + this._pending = null; + this._pendingCSS = null; + this._pollTimer = clearTimeout(this._pollTimer); + this._queue = []; + this._waiting = 0; + + this.errors.push({error: msg || 'Aborted'}); + this._finish(); + }, + + /** + Begins execting the transaction. + + There's usually no reason to call this manually, since Get will call it + automatically when other pending transactions have finished. If you really + want to execute your transaction before Get does, you can, but be aware that + this transaction's scripts may end up executing before the scripts in other + pending transactions. + + If the transaction is already executing, the specified callback (if any) + will be queued and called after execution finishes. If the transaction has + already finished, the callback will be called immediately (the transaction + will not be executed again). + + @method execute + @param {Function} callback Callback function to execute after all requests + in the transaction are complete, or after the transaction is aborted. + **/ + execute: function (callback) { + var self = this, + requests = self.requests, + state = self._state, + i, len, queue, req; + + if (state === 'done') { + callback && callback(self.errors.length ? self.errors : null, self); + return; + } else { + callback && self._callbacks.push(callback); + + if (state === 'executing') { + return; + } + } + + self._state = 'executing'; + self._queue = queue = []; + + if (self.options.timeout) { + self._timeout = setTimeout(function () { + self.abort('Timeout'); + }, self.options.timeout); + } + + for (i = 0, len = requests.length; i < len; ++i) { + req = self.requests[i]; + + if (req.async || req.type === 'css') { + // No need to queue CSS or fully async JS. + self._insert(req); + } else { + queue.push(req); + } + } + + self._next(); + }, + + /** + Manually purges any ` + + + + + + Languages : CH +

        Javascript code prettifier

        + +

        Setup

        +
          +
        1. Download a distribution +
        2. Include the script and stylesheets in your document + (you will need to make sure the css and js file are on your server, and + adjust the paths in the script and link tag) +
          +<link href="prettify.css" type="text/css" rel="stylesheet" />
          +<script type="text/javascript" src="prettify.js"></script>
          +
        3. Add onload="prettyPrint()" to your + document's body tag. +
        4. Modify the stylesheet to get the coloring you prefer
        5. +
        + +

        Usage

        +

        Put code snippets in + <pre class="prettyprint">...</pre> + or <code class="prettyprint">...</code> + and it will automatically be pretty printed. + + + + +
        The original + Prettier +
        class Voila {
        +public:
        +  // Voila
        +  static const string VOILA = "Voila";
        +
        +  // will not interfere with embedded tags.
        +}
        + +
        class Voila {
        +public:
        +  // Voila
        +  static const string VOILA = "Voila";
        +
        +  // will not interfere with embedded tags.
        +}
        +
        + +

        FAQ

        +

        Which languages does it work for?

        +

        The comments in prettify.js are authoritative but the lexer + should work on a number of languages including C and friends, + Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles. + It works passably on Ruby, PHP, VB, and Awk and a decent subset of Perl + and Ruby, but, because of commenting conventions, doesn't work on + Smalltalk, or CAML-like languages.

        + +

        LISPy languages are supported via an extension: + lang-lisp.js.

        +

        And similarly for + CSS, + Haskell, + Lua, + OCAML, SML, F#, + Visual Basic, + SQL, + Protocol Buffers, and + WikiText.. + +

        If you'd like to add an extension for your favorite language, please + look at src/lang-lisp.js and file an + issue including your language extension, and a testcase.

        + +

        How do I specify which language my code is in?

        +

        You don't need to specify the language since prettyprint() + will guess. You can specify a language by specifying the language extension + along with the prettyprint class like so:

        +
        <pre class="prettyprint lang-html">
        +  The lang-* class specifies the language file extensions.
        +  File extensions supported by default include
        +    "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
        +    "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
        +    "xhtml", "xml", "xsl".
        +</pre>
        + +

        It doesn't work on <obfuscated code sample>?

        +

        Yes. Prettifying obfuscated code is like putting lipstick on a pig + — i.e. outside the scope of this tool.

        + +

        Which browsers does it work with?

        +

        It's been tested with IE 6, Firefox 1.5 & 2, and Safari 2.0.4. + Look at the test page to see if it + works in your browser.

        + +

        What's changed?

        +

        See the change log

        + +

        Why doesn't Prettyprinting of strings work on WordPress?

        +

        Apparently wordpress does "smart quoting" which changes close quotes. + This causes end quotes to not match up with open quotes. +

        This breaks prettifying as well as copying and pasting of code samples. + See + WordPress's help center for info on how to stop smart quoting of code + snippets.

        + +

        How do I put line numbers in my code?

        +

        You can use the linenums class to turn on line + numbering. If your code doesn't start at line number 1, you can + add a colon and a line number to the end of that class as in + linenums:52. + +

        For example +

        <pre class="prettyprint linenums:4"
        +>// This is line 4.
        +foo();
        +bar();
        +baz();
        +boo();
        +far();
        +faz();
        +<pre>
        + produces +
        // This is line 4.
        +foo();
        +bar();
        +baz();
        +boo();
        +far();
        +faz();
        +
        + +

        How do I prevent a portion of markup from being marked as code?

        +

        You can use the nocode class to identify a span of markup + that is not code. +

        <pre class=prettyprint>
        +int x = foo();  /* This is a comment  <span class="nocode">This is not code</span>
        +  Continuation of comment */
        +int y = bar();
        +</pre>
        +produces +
        +int x = foo();  /* This is a comment  This is not code
        +  Continuation of comment */
        +int y = bar();
        +
        + +

        For a more complete example see the issue22 + testcase.

        + +

        I get an error message "a is not a function" or "opt_whenDone is not a function"

        +

        If you are calling prettyPrint via an event handler, wrap it in a function. + Instead of doing +

        + addEventListener('load', prettyPrint, false); +
        + wrap it in a closure like +
        + addEventListener('load', function (event) { prettyPrint() }, false); +
        + so that the browser does not pass an event object to prettyPrint which + will confuse it. + +


        + + + + diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.css b/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.css new file mode 100644 index 000000000..9b554aac5 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.css @@ -0,0 +1 @@ +.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}} \ No newline at end of file diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.js new file mode 100644 index 000000000..3dec9931c --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/api/assets/vendor/prettify/prettify-min.js @@ -0,0 +1,35 @@ +window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var y=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);y=y?+y[1]:false;window._pr_isIE6=function(){return y};return y}; +(function(){function y(b){return b.replace(L,"&").replace(M,"<").replace(N,">")}function H(b,f,i){switch(b.nodeType){case 1:var o=b.tagName.toLowerCase();f.push("<",o);var l=b.attributes,n=l.length;if(n){if(i){for(var r=[],j=n;--j>=0;)r[j]=l[j];r.sort(function(q,m){return q.name"); +for(l=b.firstChild;l;l=l.nextSibling)H(l,f,i);if(b.firstChild||!/^(?:br|link|img)$/.test(o))f.push("");break;case 3:case 4:f.push(y(b.nodeValue));break}}function O(b){function f(c){if(c.charAt(0)!=="\\")return c.charCodeAt(0);switch(c.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(c.substring(2),16)||c.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(c.substring(1), +8);default:return c.charCodeAt(1)}}function i(c){if(c<32)return(c<16?"\\x0":"\\x")+c.toString(16);c=String.fromCharCode(c);if(c==="\\"||c==="-"||c==="["||c==="]")c="\\"+c;return c}function o(c){var d=c.substring(1,c.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));c=[];for(var a=[],k=d[0]==="^",e=k?1:0,h=d.length;e122)){s<65||g>90||a.push([Math.max(65,g)|32,Math.min(s,90)|32]);s<97||g>122||a.push([Math.max(97,g)&-33,Math.min(s,122)&-33])}}a.sort(function(v,w){return v[0]-w[0]||w[1]-v[1]});d=[];g=[NaN,NaN];for(e=0;eh[0]){h[1]+1>h[0]&&a.push("-"); +a.push(i(h[1]))}}a.push("]");return a.join("")}function l(c){for(var d=c.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=d.length,k=[],e=0,h=0;e=2&&c==="[")d[e]=o(g);else if(c!=="\\")d[e]=g.replace(/[a-zA-Z]/g,function(s){s=s.charCodeAt(0);return"["+String.fromCharCode(s&-33,s|32)+"]"})}return d.join("")}for(var n=0,r=false,j=false,q=0,m=b.length;q=0;l-=16)o.push(" ".substring(0,l));l=n+1;break;case "\n":f=0;break;default:++f}if(!o)return i;o.push(i.substring(l));return o.join("")}}function I(b, +f,i,o){if(f){b={source:f,c:b};i(b);o.push.apply(o,b.d)}}function B(b,f){var i={},o;(function(){for(var r=b.concat(f),j=[],q={},m=0,t=r.length;m=0;)i[c.charAt(d)]=p;p=p[1];c=""+p;if(!q.hasOwnProperty(c)){j.push(p);q[c]=null}}j.push(/[\0-\uffff]/);o=O(j)})();var l=f.length;function n(r){for(var j=r.c,q=[j,z],m=0,t=r.source.match(o)||[],p={},c=0,d=t.length;c=5&&"lang-"===k.substring(0,5))&&!(e&&typeof e[1]==="string")){h=false;k=P}h||(p[a]=k)}g=m;m+=a.length;if(h){h=e[1];var s=a.indexOf(h),v=s+h.length;if(e[2]){v=a.length-e[2].length;s=v-h.length}k=k.substring(5);I(j+g,a.substring(0,s),n,q);I(j+g+s,h,Q(k,h),q);I(j+g+v,a.substring(v),n,q)}else q.push(j+g,k)}r.d=q}return n}function x(b){var f=[],i=[];if(b.tripleQuotedStrings)f.push([A,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, +null,"'\""]);else b.multiLineStrings?f.push([A,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):f.push([A,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);b.verbatimStrings&&i.push([A,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);if(b.hashComments)if(b.cStyleComments){f.push([C,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]);i.push([A,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, +null])}else f.push([C,/^#[^\r\n]*/,null,"#"]);if(b.cStyleComments){i.push([C,/^\/\/[^\r\n]*/,null]);i.push([C,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}b.regexLiterals&&i.push(["lang-regex",RegExp("^"+Z+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);b=b.keywords.replace(/^\s+|\s+$/g,"");b.length&&i.push([R,RegExp("^(?:"+b.replace(/\s+/g,"|")+")\\b"),null]);f.push([z,/^\s+/,null," \r\n\t\u00a0"]);i.push([J,/^@[a-z_$][a-z_$@0-9]*/i,null],[S,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, +null],[z,/^[a-z_$][a-z_$@0-9]*/i,null],[J,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],[E,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return B(f,i)}function $(b){function f(D){if(D>r){if(j&&j!==q){n.push("
        ");j=null}if(!j&&q){j=q;n.push('')}var T=y(p(i.substring(r,D))).replace(e?d:c,"$1 ");e=k.test(T);n.push(T.replace(a,s));r=D}}var i=b.source,o=b.g,l=b.d,n=[],r=0,j=null,q=null,m=0,t=0,p=Y(window.PR_TAB_WIDTH),c=/([\r\n ]) /g, +d=/(^| ) /gm,a=/\r\n?|\n/g,k=/[ \r\n]$/,e=true,h=window._pr_isIE6();h=h?b.b.tagName==="PRE"?h===6?" \r\n":h===7?" 
        \r":" \r":" 
        ":"
        ";var g=b.b.className.match(/\blinenums\b(?::(\d+))?/),s;if(g){for(var v=[],w=0;w<10;++w)v[w]=h+'
      • ';var F=g[1]&&g[1].length?g[1]-1:0;n.push('
        1. ");s=function(){var D=v[++F%10];return j?""+D+'':D}}else s=h; +for(;;)if(m");j=null}n.push(o[m+1]);m+=2}else if(t");g&&n.push("
        ");b.a=n.join("")}function u(b,f){for(var i=f.length;--i>=0;){var o=f[i];if(G.hasOwnProperty(o))"console"in window&&console.warn("cannot override language handler %s",o);else G[o]=b}}function Q(b,f){b&&G.hasOwnProperty(b)||(b=/^\s*1&&m.charAt(0)==="<"){if(!ba.test(m))if(ca.test(m)){f.push(m.substring(9,m.length-3));n+=m.length-12}else if(da.test(m)){f.push("\n");++n}else if(m.indexOf(V)>=0&&m.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)){var t=m.match(W)[2],p=1,c;c=j+1;a:for(;c=0;){var e=p.indexOf(";",k);if(e>=0){var h=p.substring(k+3,e),g=10;if(h&&h.charAt(0)==="x"){h=h.substring(1);g=16}var s=parseInt(h,g);isNaN(s)||(p=p.substring(0,k)+String.fromCharCode(s)+p.substring(e+1))}}a=p.replace(ea,"<").replace(fa,">").replace(ga,"'").replace(ha,'"').replace(ia," ").replace(ja, +"&")}f.push(a);n+=a.length}}o={source:f.join(""),h:r};var v=o.source;b.source=v;b.c=0;b.g=o.h;Q(i,v)(b);$(b)}catch(w){if("console"in window)console.log(w&&w.stack?w.stack:w)}}var A="str",R="kwd",C="com",S="typ",J="lit",E="pun",z="pln",P="src",V="nocode",Z=function(){for(var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=", +"~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],f="(?:^^|[+-]",i=0;i:&a-z])/g,"\\$1");f+=")\\s*";return f}(),L=/&/g,M=//g,X=/\"/g,ea=/</g,fa=/>/g,ga=/'/g,ha=/"/g,ja=/&/g,ia=/ /g,ka=/[\r\n]/g,K=null,aa=RegExp("[^<]+| +Last modified: Fri May 27 20:23:23 PDT 2011 + + + diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.css b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.js new file mode 100644 index 000000000..ef51e0386 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify-min.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify.js b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify.js new file mode 100644 index 000000000..6f70c8fc4 --- /dev/null +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/assets/vendor/prettify/prettify.js @@ -0,0 +1,1607 @@ +// NOTE: This is a customized version of Prettify for Selleck, with Handlebars +// and CSS syntax highlighting added at the end. + +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + *

        + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

        + * Usage:

          + *
        1. include this source file in an html page via + * {@code } + *
        2. define style rules. See the example page for examples. + *
        3. mark the {@code
          } and {@code } tags in your source with
          + *    {@code class=prettyprint.}
          + *    You can also use the (html deprecated) {@code } tag, but the pretty
          + *    printer needs to do more substantial DOM manipulations to support that, so
          + *    some css styles may not be preserved.
          + * </ol>
          + * That's it.  I wanted to keep the API as simple as possible, so there's no
          + * need to specify which language the code is in, but if you wish, you can add
          + * another class to the {@code <pre>} or {@code <code>} element to specify the
          + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
          + * starts with "lang-" followed by a file extension, specifies the file type.
          + * See the "lang-*.js" files in this directory for code that implements
          + * per-language file handlers.
          + * <p>
          + * Change log:<br>
          + * cbeust, 2006/08/22
          + * <blockquote>
          + *   Java annotations (start with "@") are now captured as literals ("lit")
          + * </blockquote>
          + * @requires console
          + */
          +
          +// JSLint declarations
          +/*global console, document, navigator, setTimeout, window */
          +
          +/**
          + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
          + * UI events.
          + * If set to {@code false}, {@code prettyPrint()} is synchronous.
          + */
          +window['PR_SHOULD_USE_CONTINUATION'] = true;
          +
          +(function () {
          +  // Keyword lists for various languages.
          +  // We use things that coerce to strings to make them compact when minified
          +  // and to defeat aggressive optimizers that fold large string constants.
          +  var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
          +  var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," +
          +      "double,enum,extern,float,goto,int,long,register,short,signed,sizeof," +
          +      "static,struct,switch,typedef,union,unsigned,void,volatile"];
          +  var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
          +      "new,operator,private,protected,public,this,throw,true,try,typeof"];
          +  var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
          +      "concept,concept_map,const_cast,constexpr,decltype," +
          +      "dynamic_cast,explicit,export,friend,inline,late_check," +
          +      "mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast," +
          +      "template,typeid,typename,using,virtual,where"];
          +  var JAVA_KEYWORDS = [COMMON_KEYWORDS,
          +      "abstract,boolean,byte,extends,final,finally,implements,import," +
          +      "instanceof,null,native,package,strictfp,super,synchronized,throws," +
          +      "transient"];
          +  var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
          +      "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
          +      "fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock," +
          +      "object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed," +
          +      "stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];
          +  var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
          +      "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
          +      "true,try,unless,until,when,while,yes";
          +  var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
          +      "debugger,eval,export,function,get,null,set,undefined,var,with," +
          +      "Infinity,NaN"];
          +  var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," +
          +      "goto,if,import,last,local,my,next,no,our,print,package,redo,require," +
          +      "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
          +  var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
          +      "elif,except,exec,finally,from,global,import,in,is,lambda," +
          +      "nonlocal,not,or,pass,print,raise,try,with,yield," +
          +      "False,True,None"];
          +  var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
          +      "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
          +      "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
          +      "BEGIN,END"];
          +  var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
          +      "function,in,local,set,then,until"];
          +  var ALL_KEYWORDS = [
          +      CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS +
          +      PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS];
          +  var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;
          +
          +  // token style names.  correspond to css classes
          +  /**
          +   * token style for a string literal
          +   * @const
          +   */
          +  var PR_STRING = 'str';
          +  /**
          +   * token style for a keyword
          +   * @const
          +   */
          +  var PR_KEYWORD = 'kwd';
          +  /**
          +   * token style for a comment
          +   * @const
          +   */
          +  var PR_COMMENT = 'com';
          +  /**
          +   * token style for a type
          +   * @const
          +   */
          +  var PR_TYPE = 'typ';
          +  /**
          +   * token style for a literal value.  e.g. 1, null, true.
          +   * @const
          +   */
          +  var PR_LITERAL = 'lit';
          +  /**
          +   * token style for a punctuation string.
          +   * @const
          +   */
          +  var PR_PUNCTUATION = 'pun';
          +  /**
          +   * token style for a punctuation string.
          +   * @const
          +   */
          +  var PR_PLAIN = 'pln';
          +
          +  /**
          +   * token style for an sgml tag.
          +   * @const
          +   */
          +  var PR_TAG = 'tag';
          +  /**
          +   * token style for a markup declaration such as a DOCTYPE.
          +   * @const
          +   */
          +  var PR_DECLARATION = 'dec';
          +  /**
          +   * token style for embedded source.
          +   * @const
          +   */
          +  var PR_SOURCE = 'src';
          +  /**
          +   * token style for an sgml attribute name.
          +   * @const
          +   */
          +  var PR_ATTRIB_NAME = 'atn';
          +  /**
          +   * token style for an sgml attribute value.
          +   * @const
          +   */
          +  var PR_ATTRIB_VALUE = 'atv';
          +
          +  /**
          +   * A class that indicates a section of markup that is not code, e.g. to allow
          +   * embedding of line numbers within code listings.
          +   * @const
          +   */
          +  var PR_NOCODE = 'nocode';
          +
          +
          +
          +/**
          + * A set of tokens that can precede a regular expression literal in
          + * javascript
          + * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
          + * has the full list, but I've removed ones that might be problematic when
          + * seen in languages that don't support regular expression literals.
          + *
          + * <p>Specifically, I've removed any keywords that can't precede a regexp
          + * literal in a syntactically legal javascript program, and I've removed the
          + * "in" keyword since it's not a keyword in many languages, and might be used
          + * as a count of inches.
          + *
          + * <p>The link a above does not accurately describe EcmaScript rules since
          + * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
          + * very well in practice.
          + *
          + * @private
          + * @const
          + */
          +var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
          +
          +// CAVEAT: this does not properly handle the case where a regular
          +// expression immediately follows another since a regular expression may
          +// have flags for case-sensitivity and the like.  Having regexp tokens
          +// adjacent is not valid in any language I'm aware of, so I'm punting.
          +// TODO: maybe style special characters inside a regexp as punctuation.
          +
          +
          +  /**
          +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
          +   * matches the union of the sets of strings matched by the input RegExp.
          +   * Since it matches globally, if the input strings have a start-of-input
          +   * anchor (/^.../), it is ignored for the purposes of unioning.
          +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
          +   * @return {RegExp} a global regex.
          +   */
          +  function combinePrefixPatterns(regexs) {
          +    var capturedGroupIndex = 0;
          +
          +    var needToFoldCase = false;
          +    var ignoreCase = false;
          +    for (var i = 0, n = regexs.length; i < n; ++i) {
          +      var regex = regexs[i];
          +      if (regex.ignoreCase) {
          +        ignoreCase = true;
          +      } else if (/[a-z]/i.test(regex.source.replace(
          +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
          +        needToFoldCase = true;
          +        ignoreCase = false;
          +        break;
          +      }
          +    }
          +
          +    var escapeCharToCodeUnit = {
          +      'b': 8,
          +      't': 9,
          +      'n': 0xa,
          +      'v': 0xb,
          +      'f': 0xc,
          +      'r': 0xd
          +    };
          +
          +    function decodeEscape(charsetPart) {
          +      var cc0 = charsetPart.charCodeAt(0);
          +      if (cc0 !== 92 /* \\ */) {
          +        return cc0;
          +      }
          +      var c1 = charsetPart.charAt(1);
          +      cc0 = escapeCharToCodeUnit[c1];
          +      if (cc0) {
          +        return cc0;
          +      } else if ('0' <= c1 && c1 <= '7') {
          +        return parseInt(charsetPart.substring(1), 8);
          +      } else if (c1 === 'u' || c1 === 'x') {
          +        return parseInt(charsetPart.substring(2), 16);
          +      } else {
          +        return charsetPart.charCodeAt(1);
          +      }
          +    }
          +
          +    function encodeEscape(charCode) {
          +      if (charCode < 0x20) {
          +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
          +      }
          +      var ch = String.fromCharCode(charCode);
          +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
          +        ch = '\\' + ch;
          +      }
          +      return ch;
          +    }
          +
          +    function caseFoldCharset(charSet) {
          +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
          +          new RegExp(
          +              '\\\\u[0-9A-Fa-f]{4}'
          +              + '|\\\\x[0-9A-Fa-f]{2}'
          +              + '|\\\\[0-3][0-7]{0,2}'
          +              + '|\\\\[0-7]{1,2}'
          +              + '|\\\\[\\s\\S]'
          +              + '|-'
          +              + '|[^-\\\\]',
          +              'g'));
          +      var groups = [];
          +      var ranges = [];
          +      var inverse = charsetParts[0] === '^';
          +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
          +        var p = charsetParts[i];
          +        if (/\\[bdsw]/i.test(p)) {  // Don't muck with named groups.
          +          groups.push(p);
          +        } else {
          +          var start = decodeEscape(p);
          +          var end;
          +          if (i + 2 < n && '-' === charsetParts[i + 1]) {
          +            end = decodeEscape(charsetParts[i + 2]);
          +            i += 2;
          +          } else {
          +            end = start;
          +          }
          +          ranges.push([start, end]);
          +          // If the range might intersect letters, then expand it.
          +          // This case handling is too simplistic.
          +          // It does not deal with non-latin case folding.
          +          // It works for latin source code identifiers though.
          +          if (!(end < 65 || start > 122)) {
          +            if (!(end < 65 || start > 90)) {
          +              ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
          +            }
          +            if (!(end < 97 || start > 122)) {
          +              ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
          +            }
          +          }
          +        }
          +      }
          +
          +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
          +      // -> [[1, 12], [14, 14], [16, 17]]
          +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
          +      var consolidatedRanges = [];
          +      var lastRange = [NaN, NaN];
          +      for (var i = 0; i < ranges.length; ++i) {
          +        var range = ranges[i];
          +        if (range[0] <= lastRange[1] + 1) {
          +          lastRange[1] = Math.max(lastRange[1], range[1]);
          +        } else {
          +          consolidatedRanges.push(lastRange = range);
          +        }
          +      }
          +
          +      var out = ['['];
          +      if (inverse) { out.push('^'); }
          +      out.push.apply(out, groups);
          +      for (var i = 0; i < consolidatedRanges.length; ++i) {
          +        var range = consolidatedRanges[i];
          +        out.push(encodeEscape(range[0]));
          +        if (range[1] > range[0]) {
          +          if (range[1] + 1 > range[0]) { out.push('-'); }
          +          out.push(encodeEscape(range[1]));
          +        }
          +      }
          +      out.push(']');
          +      return out.join('');
          +    }
          +
          +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
          +      // Split into character sets, escape sequences, punctuation strings
          +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
          +      // include any of the above.
          +      var parts = regex.source.match(
          +          new RegExp(
          +              '(?:'
          +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
          +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
          +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
          +              + '|\\\\[0-9]+'  // a back-reference or octal escape
          +              + '|\\\\[^ux0-9]'  // other escape sequence
          +              + '|\\(\\?[:!=]'  // start of a non-capturing group
          +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
          +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
          +              + ')',
          +              'g'));
          +      var n = parts.length;
          +
          +      // Maps captured group numbers to the number they will occupy in
          +      // the output or to -1 if that has not been determined, or to
          +      // undefined if they need not be capturing in the output.
          +      var capturedGroups = [];
          +
          +      // Walk over and identify back references to build the capturedGroups
          +      // mapping.
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        var p = parts[i];
          +        if (p === '(') {
          +          // groups are 1-indexed, so max group index is count of '('
          +          ++groupIndex;
          +        } else if ('\\' === p.charAt(0)) {
          +          var decimalValue = +p.substring(1);
          +          if (decimalValue && decimalValue <= groupIndex) {
          +            capturedGroups[decimalValue] = -1;
          +          }
          +        }
          +      }
          +
          +      // Renumber groups and reduce capturing groups to non-capturing groups
          +      // where possible.
          +      for (var i = 1; i < capturedGroups.length; ++i) {
          +        if (-1 === capturedGroups[i]) {
          +          capturedGroups[i] = ++capturedGroupIndex;
          +        }
          +      }
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        var p = parts[i];
          +        if (p === '(') {
          +          ++groupIndex;
          +          if (capturedGroups[groupIndex] === undefined) {
          +            parts[i] = '(?:';
          +          }
          +        } else if ('\\' === p.charAt(0)) {
          +          var decimalValue = +p.substring(1);
          +          if (decimalValue && decimalValue <= groupIndex) {
          +            parts[i] = '\\' + capturedGroups[groupIndex];
          +          }
          +        }
          +      }
          +
          +      // Remove any prefix anchors so that the output will match anywhere.
          +      // ^^ really does mean an anchored match though.
          +      for (var i = 0, groupIndex = 0; i < n; ++i) {
          +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
          +      }
          +
          +      // Expand letters to groups to handle mixing of case-sensitive and
          +      // case-insensitive patterns if necessary.
          +      if (regex.ignoreCase && needToFoldCase) {
          +        for (var i = 0; i < n; ++i) {
          +          var p = parts[i];
          +          var ch0 = p.charAt(0);
          +          if (p.length >= 2 && ch0 === '[') {
          +            parts[i] = caseFoldCharset(p);
          +          } else if (ch0 !== '\\') {
          +            // TODO: handle letters in numeric escapes.
          +            parts[i] = p.replace(
          +                /[a-zA-Z]/g,
          +                function (ch) {
          +                  var cc = ch.charCodeAt(0);
          +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
          +                });
          +          }
          +        }
          +      }
          +
          +      return parts.join('');
          +    }
          +
          +    var rewritten = [];
          +    for (var i = 0, n = regexs.length; i < n; ++i) {
          +      var regex = regexs[i];
          +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
          +      rewritten.push(
          +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
          +    }
          +
          +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
          +  }
          +
          +
          +  /**
          +   * Split markup into a string of source code and an array mapping ranges in
          +   * that string to the text nodes in which they appear.
          +   *
          +   * <p>
          +   * The HTML DOM structure:</p>
          +   * <pre>
          +   * (Element   "p"
          +   *   (Element "b"
          +   *     (Text  "print "))       ; #1
          +   *   (Text    "'Hello '")      ; #2
          +   *   (Element "br")            ; #3
          +   *   (Text    "  + 'World';")) ; #4
          +   * </pre>
          +   * <p>
          +   * corresponds to the HTML
          +   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
          +   *
          +   * <p>
          +   * It will produce the output:</p>
          +   * <pre>
          +   * {
          +   *   sourceCode: "print 'Hello '\n  + 'World';",
          +   *   //                 1         2
          +   *   //       012345678901234 5678901234567
          +   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
          +   * }
          +   * </pre>
          +   * <p>
          +   * where #1 is a reference to the {@code "print "} text node above, and so
          +   * on for the other text nodes.
          +   * </p>
          +   *
          +   * <p>
          +   * The {@code} spans array is an array of pairs.  Even elements are the start
          +   * indices of substrings, and odd elements are the text nodes (or BR elements)
          +   * that contain the text for those substrings.
          +   * Substrings continue until the next index or the end of the source.
          +   * </p>
          +   *
          +   * @param {Node} node an HTML DOM subtree containing source-code.
          +   * @return {Object} source code and the text nodes in which they occur.
          +   */
          +  function extractSourceSpans(node) {
          +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
          +
          +    var chunks = [];
          +    var length = 0;
          +    var spans = [];
          +    var k = 0;
          +
          +    var whitespace;
          +    if (node.currentStyle) {
          +      whitespace = node.currentStyle.whiteSpace;
          +    } else if (window.getComputedStyle) {
          +      whitespace = document.defaultView.getComputedStyle(node, null)
          +          .getPropertyValue('white-space');
          +    }
          +    var isPreformatted = whitespace && 'pre' === whitespace.substring(0, 3);
          +
          +    function walk(node) {
          +      switch (node.nodeType) {
          +        case 1:  // Element
          +          if (nocode.test(node.className)) { return; }
          +          for (var child = node.firstChild; child; child = child.nextSibling) {
          +            walk(child);
          +          }
          +          var nodeName = node.nodeName;
          +          if ('BR' === nodeName || 'LI' === nodeName) {
          +            chunks[k] = '\n';
          +            spans[k << 1] = length++;
          +            spans[(k++ << 1) | 1] = node;
          +          }
          +          break;
          +        case 3: case 4:  // Text
          +          var text = node.nodeValue;
          +          if (text.length) {
          +            if (!isPreformatted) {
          +              text = text.replace(/[ \t\r\n]+/g, ' ');
          +            } else {
          +              text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
          +            }
          +            // TODO: handle tabs here?
          +            chunks[k] = text;
          +            spans[k << 1] = length;
          +            length += text.length;
          +            spans[(k++ << 1) | 1] = node;
          +          }
          +          break;
          +      }
          +    }
          +
          +    walk(node);
          +
          +    return {
          +      sourceCode: chunks.join('').replace(/\n$/, ''),
          +      spans: spans
          +    };
          +  }
          +
          +
          +  /**
          +   * Apply the given language handler to sourceCode and add the resulting
          +   * decorations to out.
          +   * @param {number} basePos the index of sourceCode within the chunk of source
          +   *    whose decorations are already present on out.
          +   */
          +  function appendDecorations(basePos, sourceCode, langHandler, out) {
          +    if (!sourceCode) { return; }
          +    var job = {
          +      sourceCode: sourceCode,
          +      basePos: basePos
          +    };
          +    langHandler(job);
          +    out.push.apply(out, job.decorations);
          +  }
          +
          +  var notWs = /\S/;
          +
          +  /**
          +   * Given an element, if it contains only one child element and any text nodes
          +   * it contains contain only space characters, return the sole child element.
          +   * Otherwise returns undefined.
          +   * <p>
          +   * This is meant to return the CODE element in {@code <pre><code ...>} when
          +   * there is a single child element that contains all the non-space textual
          +   * content, but not to return anything where there are multiple child elements
          +   * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
          +   * is textual content.
          +   */
          +  function childContentWrapper(element) {
          +    var wrapper = undefined;
          +    for (var c = element.firstChild; c; c = c.nextSibling) {
          +      var type = c.nodeType;
          +      wrapper = (type === 1)  // Element Node
          +          ? (wrapper ? element : c)
          +          : (type === 3)  // Text Node
          +          ? (notWs.test(c.nodeValue) ? element : wrapper)
          +          : wrapper;
          +    }
          +    return wrapper === element ? undefined : wrapper;
          +  }
          +
          +  /** Given triples of [style, pattern, context] returns a lexing function,
          +    * The lexing function interprets the patterns to find token boundaries and
          +    * returns a decoration list of the form
          +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
          +    * where index_n is an index into the sourceCode, and style_n is a style
          +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
          +    * all characters in sourceCode[index_n-1:index_n].
          +    *
          +    * The stylePatterns is a list whose elements have the form
          +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
          +    *
          +    * Style is a style constant like PR_PLAIN, or can be a string of the
          +    * form 'lang-FOO', where FOO is a language extension describing the
          +    * language of the portion of the token in $1 after pattern executes.
          +    * E.g., if style is 'lang-lisp', and group 1 contains the text
          +    * '(hello (world))', then that portion of the token will be passed to the
          +    * registered lisp handler for formatting.
          +    * The text before and after group 1 will be restyled using this decorator
          +    * so decorators should take care that this doesn't result in infinite
          +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
          +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
          +    * '<script>foo()<\/script>', which would cause the current decorator to
          +    * be called with '<script>' which would not match the same rule since
          +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
          +    * the generic tag rule.  The handler registered for the 'js' extension would
          +    * then be called with 'foo()', and finally, the current decorator would
          +    * be called with '<\/script>' which would not match the original rule and
          +    * so the generic tag rule would identify it as a tag.
          +    *
          +    * Pattern must only match prefixes, and if it matches a prefix, then that
          +    * match is considered a token with the same style.
          +    *
          +    * Context is applied to the last non-whitespace, non-comment token
          +    * recognized.
          +    *
          +    * Shortcut is an optional string of characters, any of which, if the first
          +    * character, gurantee that this pattern and only this pattern matches.
          +    *
          +    * @param {Array} shortcutStylePatterns patterns that always start with
          +    *   a known character.  Must have a shortcut string.
          +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
          +    *   order if the shortcut ones fail.  May have shortcuts.
          +    *
          +    * @return {function (Object)} a
          +    *   function that takes source code and returns a list of decorations.
          +    */
          +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
          +    var shortcuts = {};
          +    var tokenizer;
          +    (function () {
          +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
          +      var allRegexs = [];
          +      var regexKeys = {};
          +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
          +        var patternParts = allPatterns[i];
          +        var shortcutChars = patternParts[3];
          +        if (shortcutChars) {
          +          for (var c = shortcutChars.length; --c >= 0;) {
          +            shortcuts[shortcutChars.charAt(c)] = patternParts;
          +          }
          +        }
          +        var regex = patternParts[1];
          +        var k = '' + regex;
          +        if (!regexKeys.hasOwnProperty(k)) {
          +          allRegexs.push(regex);
          +          regexKeys[k] = null;
          +        }
          +      }
          +      allRegexs.push(/[\0-\uffff]/);
          +      tokenizer = combinePrefixPatterns(allRegexs);
          +    })();
          +
          +    var nPatterns = fallthroughStylePatterns.length;
          +
          +    /**
          +     * Lexes job.sourceCode and produces an output array job.decorations of
          +     * style classes preceded by the position at which they start in
          +     * job.sourceCode in order.
          +     *
          +     * @param {Object} job an object like <pre>{
          +     *    sourceCode: {string} sourceText plain text,
          +     *    basePos: {int} position of job.sourceCode in the larger chunk of
          +     *        sourceCode.
          +     * }</pre>
          +     */
          +    var decorate = function (job) {
          +      var sourceCode = job.sourceCode, basePos = job.basePos;
          +      /** Even entries are positions in source in ascending order.  Odd enties
          +        * are style markers (e.g., PR_COMMENT) that run from that position until
          +        * the end.
          +        * @type {Array.<number|string>}
          +        */
          +      var decorations = [basePos, PR_PLAIN];
          +      var pos = 0;  // index into sourceCode
          +      var tokens = sourceCode.match(tokenizer) || [];
          +      var styleCache = {};
          +
          +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
          +        var token = tokens[ti];
          +        var style = styleCache[token];
          +        var match = void 0;
          +
          +        var isEmbedded;
          +        if (typeof style === 'string') {
          +          isEmbedded = false;
          +        } else {
          +          var patternParts = shortcuts[token.charAt(0)];
          +          if (patternParts) {
          +            match = token.match(patternParts[1]);
          +            style = patternParts[0];
          +          } else {
          +            for (var i = 0; i < nPatterns; ++i) {
          +              patternParts = fallthroughStylePatterns[i];
          +              match = token.match(patternParts[1]);
          +              if (match) {
          +                style = patternParts[0];
          +                break;
          +              }
          +            }
          +
          +            if (!match) {  // make sure that we make progress
          +              style = PR_PLAIN;
          +            }
          +          }
          +
          +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
          +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
          +            isEmbedded = false;
          +            style = PR_SOURCE;
          +          }
          +
          +          if (!isEmbedded) { styleCache[token] = style; }
          +        }
          +
          +        var tokenStart = pos;
          +        pos += token.length;
          +
          +        if (!isEmbedded) {
          +          decorations.push(basePos + tokenStart, style);
          +        } else {  // Treat group 1 as an embedded block of source code.
          +          var embeddedSource = match[1];
          +          var embeddedSourceStart = token.indexOf(embeddedSource);
          +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
          +          if (match[2]) {
          +            // If embeddedSource can be blank, then it would match at the
          +            // beginning which would cause us to infinitely recurse on the
          +            // entire token, so we catch the right context in match[2].
          +            embeddedSourceEnd = token.length - match[2].length;
          +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
          +          }
          +          var lang = style.substring(5);
          +          // Decorate the left of the embedded source
          +          appendDecorations(
          +              basePos + tokenStart,
          +              token.substring(0, embeddedSourceStart),
          +              decorate, decorations);
          +          // Decorate the embedded source
          +          appendDecorations(
          +              basePos + tokenStart + embeddedSourceStart,
          +              embeddedSource,
          +              langHandlerForExtension(lang, embeddedSource),
          +              decorations);
          +          // Decorate the right of the embedded section
          +          appendDecorations(
          +              basePos + tokenStart + embeddedSourceEnd,
          +              token.substring(embeddedSourceEnd),
          +              decorate, decorations);
          +        }
          +      }
          +      job.decorations = decorations;
          +    };
          +    return decorate;
          +  }
          +
          +  /** returns a function that produces a list of decorations from source text.
          +    *
          +    * This code treats ", ', and ` as string delimiters, and \ as a string
          +    * escape.  It does not recognize perl's qq() style strings.
          +    * It has no special handling for double delimiter escapes as in basic, or
          +    * the tripled delimiters used in python, but should work on those regardless
          +    * although in those cases a single string literal may be broken up into
          +    * multiple adjacent string literals.
          +    *
          +    * It recognizes C, C++, and shell style comments.
          +    *
          +    * @param {Object} options a set of optional parameters.
          +    * @return {function (Object)} a function that examines the source code
          +    *     in the input job and builds the decoration list.
          +    */
          +  function sourceDecorator(options) {
          +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
          +    if (options['tripleQuotedStrings']) {
          +      // '''multi-line-string''', 'single-line-string', and double-quoted
          +      shortcutStylePatterns.push(
          +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
          +           null, '\'"']);
          +    } else if (options['multiLineStrings']) {
          +      // 'multi-line-string', "multi-line-string"
          +      shortcutStylePatterns.push(
          +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
          +           null, '\'"`']);
          +    } else {
          +      // 'single-line-string', "single-line-string"
          +      shortcutStylePatterns.push(
          +          [PR_STRING,
          +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
          +           null, '"\'']);
          +    }
          +    if (options['verbatimStrings']) {
          +      // verbatim-string-literal production from the C# grammar.  See issue 93.
          +      fallthroughStylePatterns.push(
          +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
          +    }
          +    var hc = options['hashComments'];
          +    if (hc) {
          +      if (options['cStyleComments']) {
          +        if (hc > 1) {  // multiline hash comments
          +          shortcutStylePatterns.push(
          +              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
          +        } else {
          +          // Stop C preprocessor declarations at an unclosed open comment
          +          shortcutStylePatterns.push(
          +              [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
          +               null, '#']);
          +        }
          +        fallthroughStylePatterns.push(
          +            [PR_STRING,
          +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
          +             null]);
          +      } else {
          +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
          +      }
          +    }
          +    if (options['cStyleComments']) {
          +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
          +      fallthroughStylePatterns.push(
          +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
          +    }
          +    if (options['regexLiterals']) {
          +      /**
          +       * @const
          +       */
          +      var REGEX_LITERAL = (
          +          // A regular expression literal starts with a slash that is
          +          // not followed by * or / so that it is not confused with
          +          // comments.
          +          '/(?=[^/*])'
          +          // and then contains any number of raw characters,
          +          + '(?:[^/\\x5B\\x5C]'
          +          // escape sequences (\x5C),
          +          +    '|\\x5C[\\s\\S]'
          +          // or non-nesting character sets (\x5B\x5D);
          +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
          +          // finally closed by a /.
          +          + '/');
          +      fallthroughStylePatterns.push(
          +          ['lang-regex',
          +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
          +           ]);
          +    }
          +
          +    var types = options['types'];
          +    if (types) {
          +      fallthroughStylePatterns.push([PR_TYPE, types]);
          +    }
          +
          +    var keywords = ("" + options['keywords']).replace(/^ | $/g, '');
          +    if (keywords.length) {
          +      fallthroughStylePatterns.push(
          +          [PR_KEYWORD,
          +           new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'),
          +           null]);
          +    }
          +
          +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
          +    fallthroughStylePatterns.push(
          +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
          +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
          +        [PR_TYPE,        /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
          +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
          +        [PR_LITERAL,
          +         new RegExp(
          +             '^(?:'
          +             // A hex number
          +             + '0x[a-f0-9]+'
          +             // or an octal or decimal number,
          +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
          +             // possibly in scientific notation
          +             + '(?:e[+\\-]?\\d+)?'
          +             + ')'
          +             // with an optional modifier like UL for unsigned long
          +             + '[a-z]*', 'i'),
          +         null, '0123456789'],
          +        // Don't treat escaped quotes in bash as starting strings.  See issue 144.
          +        [PR_PLAIN,       /^\\[\s\S]?/, null],
          +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]);
          +
          +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
          +  }
          +
          +  var decorateSource = sourceDecorator({
          +        'keywords': ALL_KEYWORDS,
          +        'hashComments': true,
          +        'cStyleComments': true,
          +        'multiLineStrings': true,
          +        'regexLiterals': true
          +      });
          +
          +  /**
          +   * Given a DOM subtree, wraps it in a list, and puts each line into its own
          +   * list item.
          +   *
          +   * @param {Node} node modified in place.  Its content is pulled into an
          +   *     HTMLOListElement, and each line is moved into a separate list item.
          +   *     This requires cloning elements, so the input might not have unique
          +   *     IDs after numbering.
          +   */
          +  function numberLines(node, opt_startLineNum) {
          +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
          +    var lineBreak = /\r\n?|\n/;
          +
          +    var document = node.ownerDocument;
          +
          +    var whitespace;
          +    if (node.currentStyle) {
          +      whitespace = node.currentStyle.whiteSpace;
          +    } else if (window.getComputedStyle) {
          +      whitespace = document.defaultView.getComputedStyle(node, null)
          +          .getPropertyValue('white-space');
          +    }
          +    // If it's preformatted, then we need to split lines on line breaks
          +    // in addition to <BR>s.
          +    var isPreformatted = whitespace && 'pre' === whitespace.substring(0, 3);
          +
          +    var li = document.createElement('LI');
          +    while (node.firstChild) {
          +      li.appendChild(node.firstChild);
          +    }
          +    // An array of lines.  We split below, so this is initialized to one
          +    // un-split line.
          +    var listItems = [li];
          +
          +    function walk(node) {
          +      switch (node.nodeType) {
          +        case 1:  // Element
          +          if (nocode.test(node.className)) { break; }
          +          if ('BR' === node.nodeName) {
          +            breakAfter(node);
          +            // Discard the <BR> since it is now flush against a </LI>.
          +            if (node.parentNode) {
          +              node.parentNode.removeChild(node);
          +            }
          +          } else {
          +            for (var child = node.firstChild; child; child = child.nextSibling) {
          +              walk(child);
          +            }
          +          }
          +          break;
          +        case 3: case 4:  // Text
          +          if (isPreformatted) {
          +            var text = node.nodeValue;
          +            var match = text.match(lineBreak);
          +            if (match) {
          +              var firstLine = text.substring(0, match.index);
          +              node.nodeValue = firstLine;
          +              var tail = text.substring(match.index + match[0].length);
          +              if (tail) {
          +                var parent = node.parentNode;
          +                parent.insertBefore(
          +                    document.createTextNode(tail), node.nextSibling);
          +              }
          +              breakAfter(node);
          +              if (!firstLine) {
          +                // Don't leave blank text nodes in the DOM.
          +                node.parentNode.removeChild(node);
          +              }
          +            }
          +          }
          +          break;
          +      }
          +    }
          +
          +    // Split a line after the given node.
          +    function breakAfter(lineEndNode) {
          +      // If there's nothing to the right, then we can skip ending the line
          +      // here, and move root-wards since splitting just before an end-tag
          +      // would require us to create a bunch of empty copies.
          +      while (!lineEndNode.nextSibling) {
          +        lineEndNode = lineEndNode.parentNode;
          +        if (!lineEndNode) { return; }
          +      }
          +
          +      function breakLeftOf(limit, copy) {
          +        // Clone shallowly if this node needs to be on both sides of the break.
          +        var rightSide = copy ? limit.cloneNode(false) : limit;
          +        var parent = limit.parentNode;
          +        if (parent) {
          +          // We clone the parent chain.
          +          // This helps us resurrect important styling elements that cross lines.
          +          // E.g. in <i>Foo<br>Bar</i>
          +          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
          +          var parentClone = breakLeftOf(parent, 1);
          +          // Move the clone and everything to the right of the original
          +          // onto the cloned parent.
          +          var next = limit.nextSibling;
          +          parentClone.appendChild(rightSide);
          +          for (var sibling = next; sibling; sibling = next) {
          +            next = sibling.nextSibling;
          +            parentClone.appendChild(sibling);
          +          }
          +        }
          +        return rightSide;
          +      }
          +
          +      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
          +
          +      // Walk the parent chain until we reach an unattached LI.
          +      for (var parent;
          +           // Check nodeType since IE invents document fragments.
          +           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
          +        copiedListItem = parent;
          +      }
          +      // Put it on the list of lines for later processing.
          +      listItems.push(copiedListItem);
          +    }
          +
          +    // Split lines while there are lines left to split.
          +    for (var i = 0;  // Number of lines that have been split so far.
          +         i < listItems.length;  // length updated by breakAfter calls.
          +         ++i) {
          +      walk(listItems[i]);
          +    }
          +
          +    // Make sure numeric indices show correctly.
          +    if (opt_startLineNum === (opt_startLineNum|0)) {
          +      listItems[0].setAttribute('value', opt_startLineNum);
          +    }
          +
          +    var ol = document.createElement('OL');
          +    ol.className = 'linenums';
          +    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
          +    for (var i = 0, n = listItems.length; i < n; ++i) {
          +      li = listItems[i];
          +      // Stick a class on the LIs so that stylesheets can
          +      // color odd/even rows, or any other row pattern that
          +      // is co-prime with 10.
          +      li.className = 'L' + ((i + offset) % 10);
          +      if (!li.firstChild) {
          +        li.appendChild(document.createTextNode('\xA0'));
          +      }
          +      ol.appendChild(li);
          +    }
          +
          +    node.appendChild(ol);
          +  }
          +
          +  /**
          +   * Breaks {@code job.sourceCode} around style boundaries in
          +   * {@code job.decorations} and modifies {@code job.sourceNode} in place.
          +   * @param {Object} job like <pre>{
          +   *    sourceCode: {string} source as plain text,
          +   *    spans: {Array.<number|Node>} alternating span start indices into source
          +   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
          +   *       span.
          +   *    decorations: {Array.<number|string} an array of style classes preceded
          +   *       by the position at which they start in job.sourceCode in order
          +   * }</pre>
          +   * @private
          +   */
          +  function recombineTagsAndDecorations(job) {
          +    var isIE = /\bMSIE\b/.test(navigator.userAgent);
          +    var newlineRe = /\n/g;
          +
          +    var source = job.sourceCode;
          +    var sourceLength = source.length;
          +    // Index into source after the last code-unit recombined.
          +    var sourceIndex = 0;
          +
          +    var spans = job.spans;
          +    var nSpans = spans.length;
          +    // Index into spans after the last span which ends at or before sourceIndex.
          +    var spanIndex = 0;
          +
          +    var decorations = job.decorations;
          +    var nDecorations = decorations.length;
          +    // Index into decorations after the last decoration which ends at or before
          +    // sourceIndex.
          +    var decorationIndex = 0;
          +
          +    // Remove all zero-length decorations.
          +    decorations[nDecorations] = sourceLength;
          +    var decPos, i;
          +    for (i = decPos = 0; i < nDecorations;) {
          +      if (decorations[i] !== decorations[i + 2]) {
          +        decorations[decPos++] = decorations[i++];
          +        decorations[decPos++] = decorations[i++];
          +      } else {
          +        i += 2;
          +      }
          +    }
          +    nDecorations = decPos;
          +
          +    // Simplify decorations.
          +    for (i = decPos = 0; i < nDecorations;) {
          +      var startPos = decorations[i];
          +      // Conflate all adjacent decorations that use the same style.
          +      var startDec = decorations[i + 1];
          +      var end = i + 2;
          +      while (end + 2 <= nDecorations && decorations[end + 1] === startDec) {
          +        end += 2;
          +      }
          +      decorations[decPos++] = startPos;
          +      decorations[decPos++] = startDec;
          +      i = end;
          +    }
          +
          +    nDecorations = decorations.length = decPos;
          +
          +    var decoration = null;
          +    while (spanIndex < nSpans) {
          +      var spanStart = spans[spanIndex];
          +      var spanEnd = spans[spanIndex + 2] || sourceLength;
          +
          +      var decStart = decorations[decorationIndex];
          +      var decEnd = decorations[decorationIndex + 2] || sourceLength;
          +
          +      var end = Math.min(spanEnd, decEnd);
          +
          +      var textNode = spans[spanIndex + 1];
          +      var styledText;
          +      if (textNode.nodeType !== 1  // Don't muck with <BR>s or <LI>s
          +          // Don't introduce spans around empty text nodes.
          +          && (styledText = source.substring(sourceIndex, end))) {
          +        // This may seem bizarre, and it is.  Emitting LF on IE causes the
          +        // code to display with spaces instead of line breaks.
          +        // Emitting Windows standard issue linebreaks (CRLF) causes a blank
          +        // space to appear at the beginning of every line but the first.
          +        // Emitting an old Mac OS 9 line separator makes everything spiffy.
          +        if (isIE) { styledText = styledText.replace(newlineRe, '\r'); }
          +        textNode.nodeValue = styledText;
          +        var document = textNode.ownerDocument;
          +        var span = document.createElement('SPAN');
          +        span.className = decorations[decorationIndex + 1];
          +        var parentNode = textNode.parentNode;
          +        parentNode.replaceChild(span, textNode);
          +        span.appendChild(textNode);
          +        if (sourceIndex < spanEnd) {  // Split off a text node.
          +          spans[spanIndex + 1] = textNode
          +              // TODO: Possibly optimize by using '' if there's no flicker.
          +              = document.createTextNode(source.substring(end, spanEnd));
          +          parentNode.insertBefore(textNode, span.nextSibling);
          +        }
          +      }
          +
          +      sourceIndex = end;
          +
          +      if (sourceIndex >= spanEnd) {
          +        spanIndex += 2;
          +      }
          +      if (sourceIndex >= decEnd) {
          +        decorationIndex += 2;
          +      }
          +    }
          +  }
          +
          +
          +  /** Maps language-specific file extensions to handlers. */
          +  var langHandlerRegistry = {};
          +  /** Register a language handler for the given file extensions.
          +    * @param {function (Object)} handler a function from source code to a list
          +    *      of decorations.  Takes a single argument job which describes the
          +    *      state of the computation.   The single parameter has the form
          +    *      {@code {
          +    *        sourceCode: {string} as plain text.
          +    *        decorations: {Array.<number|string>} an array of style classes
          +    *                     preceded by the position at which they start in
          +    *                     job.sourceCode in order.
          +    *                     The language handler should assigned this field.
          +    *        basePos: {int} the position of source in the larger source chunk.
          +    *                 All positions in the output decorations array are relative
          +    *                 to the larger source chunk.
          +    *      } }
          +    * @param {Array.<string>} fileExtensions
          +    */
          +  function registerLangHandler(handler, fileExtensions) {
          +    for (var i = fileExtensions.length; --i >= 0;) {
          +      var ext = fileExtensions[i];
          +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
          +        langHandlerRegistry[ext] = handler;
          +      } else if (window['console']) {
          +        console['warn']('cannot override language handler %s', ext);
          +      }
          +    }
          +  }
          +  function langHandlerForExtension(extension, source) {
          +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
          +      // Treat it as markup if the first non whitespace character is a < and
          +      // the last non-whitespace character is a >.
          +      extension = /^\s*</.test(source)
          +          ? 'default-markup'
          +          : 'default-code';
          +    }
          +    return langHandlerRegistry[extension];
          +  }
          +  registerLangHandler(decorateSource, ['default-code']);
          +  registerLangHandler(
          +      createSimpleLexer(
          +          [],
          +          [
          +           [PR_PLAIN,       /^[^<?]+/],
          +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
          +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
          +           // Unescaped content in an unknown language
          +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
          +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
          +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
          +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
          +           // Unescaped content in javascript.  (Or possibly vbscript).
          +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
          +           // Contains unescaped stylesheet content
          +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
          +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
          +          ]),
          +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
          +  registerLangHandler(
          +      createSimpleLexer(
          +          [
          +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
          +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
          +           ],
          +          [
          +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
          +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
          +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
          +           [PR_PUNCTUATION,  /^[=<>\/]+/],
          +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
          +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
          +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
          +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
          +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
          +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
          +           ]),
          +      ['in.tag']);
          +  registerLangHandler(
          +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': CPP_KEYWORDS,
          +          'hashComments': true,
          +          'cStyleComments': true,
          +          'types': C_TYPES
          +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': 'null,true,false'
          +        }), ['json']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': CSHARP_KEYWORDS,
          +          'hashComments': true,
          +          'cStyleComments': true,
          +          'verbatimStrings': true,
          +          'types': C_TYPES
          +        }), ['cs']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': JAVA_KEYWORDS,
          +          'cStyleComments': true
          +        }), ['java']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': SH_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true
          +        }), ['bsh', 'csh', 'sh']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': PYTHON_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'tripleQuotedStrings': true
          +        }), ['cv', 'py']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': PERL_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'regexLiterals': true
          +        }), ['perl', 'pl', 'pm']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': RUBY_KEYWORDS,
          +          'hashComments': true,
          +          'multiLineStrings': true,
          +          'regexLiterals': true
          +        }), ['rb']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': JSCRIPT_KEYWORDS,
          +          'cStyleComments': true,
          +          'regexLiterals': true
          +        }), ['js']);
          +  registerLangHandler(sourceDecorator({
          +          'keywords': COFFEE_KEYWORDS,
          +          'hashComments': 3,  // ### style block comments
          +          'cStyleComments': true,
          +          'multilineStrings': true,
          +          'tripleQuotedStrings': true,
          +          'regexLiterals': true
          +        }), ['coffee']);
          +  registerLangHandler(createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
          +
          +  function applyDecorator(job) {
          +    var opt_langExtension = job.langExtension;
          +
          +    try {
          +      // Extract tags, and convert the source code to plain text.
          +      var sourceAndSpans = extractSourceSpans(job.sourceNode);
          +      /** Plain text. @type {string} */
          +      var source = sourceAndSpans.sourceCode;
          +      job.sourceCode = source;
          +      job.spans = sourceAndSpans.spans;
          +      job.basePos = 0;
          +
          +      // Apply the appropriate language handler
          +      langHandlerForExtension(opt_langExtension, source)(job);
          +
          +      // Integrate the decorations and tags back into the source code,
          +      // modifying the sourceNode in place.
          +      recombineTagsAndDecorations(job);
          +    } catch (e) {
          +      if ('console' in window) {
          +        console['log'](e && e['stack'] ? e['stack'] : e);
          +      }
          +    }
          +  }
          +
          +  /**
          +   * @param sourceCodeHtml {string} The HTML to pretty print.
          +   * @param opt_langExtension {string} The language name to use.
          +   *     Typically, a filename extension like 'cpp' or 'java'.
          +   * @param opt_numberLines {number|boolean} True to number lines,
          +   *     or the 1-indexed number of the first line in sourceCodeHtml.
          +   */
          +  function prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
          +    var container = document.createElement('PRE');
          +    // This could cause images to load and onload listeners to fire.
          +    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
          +    // We assume that the inner HTML is from a trusted source.
          +    container.innerHTML = sourceCodeHtml;
          +    if (opt_numberLines) {
          +      numberLines(container, opt_numberLines);
          +    }
          +
          +    var job = {
          +      langExtension: opt_langExtension,
          +      numberLines: opt_numberLines,
          +      sourceNode: container
          +    };
          +    applyDecorator(job);
          +    return container.innerHTML;
          +  }
          +
          +  function prettyPrint(opt_whenDone) {
          +    function byTagName(tn) { return document.getElementsByTagName(tn); }
          +    // fetch a list of nodes to rewrite
          +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
          +    var elements = [];
          +    for (var i = 0; i < codeSegments.length; ++i) {
          +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
          +        elements.push(codeSegments[i][j]);
          +      }
          +    }
          +    codeSegments = null;
          +
          +    var clock = Date;
          +    if (!clock['now']) {
          +      clock = { 'now': function () { return +(new Date); } };
          +    }
          +
          +    // The loop is broken into a series of continuations to make sure that we
          +    // don't make the browser unresponsive when rewriting a large page.
          +    var k = 0;
          +    var prettyPrintingJob;
          +
          +    var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/;
          +    var prettyPrintRe = /\bprettyprint\b/;
          +
          +    function doWork() {
          +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
          +                     clock['now']() + 250 /* ms */ :
          +                     Infinity);
          +      for (; k < elements.length && clock['now']() < endTime; k++) {
          +        var cs = elements[k];
          +        var className = cs.className;
          +        if (className.indexOf('prettyprint') >= 0) {
          +          // If the classes includes a language extensions, use it.
          +          // Language extensions can be specified like
          +          //     <pre class="prettyprint lang-cpp">
          +          // the language extension "cpp" is used to find a language handler as
          +          // passed to PR.registerLangHandler.
          +          // HTML5 recommends that a language be specified using "language-"
          +          // as the prefix instead.  Google Code Prettify supports both.
          +          // http://dev.w3.org/html5/spec-author-view/the-code-element.html
          +          var langExtension = className.match(langExtensionRe);
          +          // Support <pre class="prettyprint"><code class="language-c">
          +          var wrapper;
          +          if (!langExtension && (wrapper = childContentWrapper(cs))
          +              && "CODE" === wrapper.tagName) {
          +            langExtension = wrapper.className.match(langExtensionRe);
          +          }
          +
          +          if (langExtension) {
          +            langExtension = langExtension[1];
          +          }
          +
          +          // make sure this is not nested in an already prettified element
          +          var nested = false;
          +          for (var p = cs.parentNode; p; p = p.parentNode) {
          +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
          +                 p.tagName === 'xmp') &&
          +                p.className && p.className.indexOf('prettyprint') >= 0) {
          +              nested = true;
          +              break;
          +            }
          +          }
          +          if (!nested) {
          +            // Look for a class like linenums or linenums:<n> where <n> is the
          +            // 1-indexed number of the first line.
          +            var lineNums = cs.className.match(/\blinenums\b(?::(\d+))?/);
          +            lineNums = lineNums
          +                  ? lineNums[1] && lineNums[1].length ? +lineNums[1] : true
          +                  : false;
          +            if (lineNums) { numberLines(cs, lineNums); }
          +
          +            // do the pretty printing
          +            prettyPrintingJob = {
          +              langExtension: langExtension,
          +              sourceNode: cs,
          +              numberLines: lineNums
          +            };
          +            applyDecorator(prettyPrintingJob);
          +          }
          +        }
          +      }
          +      if (k < elements.length) {
          +        // finish up in a continuation
          +        setTimeout(doWork, 250);
          +      } else if (opt_whenDone) {
          +        opt_whenDone();
          +      }
          +    }
          +
          +    doWork();
          +  }
          +
          +   /**
          +    * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
          +    * {@code class=prettyprint} and prettify them.
          +    *
          +    * @param {Function?} opt_whenDone if specified, called when the last entry
          +    *     has been finished.
          +    */
          +  window['prettyPrintOne'] = prettyPrintOne;
          +   /**
          +    * Pretty print a chunk of code.
          +    *
          +    * @param {string} sourceCodeHtml code as html
          +    * @return {string} code as html, but prettier
          +    */
          +  window['prettyPrint'] = prettyPrint;
          +   /**
          +    * Contains functions for creating and registering new language handlers.
          +    * @type {Object}
          +    */
          +  window['PR'] = {
          +        'createSimpleLexer': createSimpleLexer,
          +        'registerLangHandler': registerLangHandler,
          +        'sourceDecorator': sourceDecorator,
          +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
          +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
          +        'PR_COMMENT': PR_COMMENT,
          +        'PR_DECLARATION': PR_DECLARATION,
          +        'PR_KEYWORD': PR_KEYWORD,
          +        'PR_LITERAL': PR_LITERAL,
          +        'PR_NOCODE': PR_NOCODE,
          +        'PR_PLAIN': PR_PLAIN,
          +        'PR_PUNCTUATION': PR_PUNCTUATION,
          +        'PR_SOURCE': PR_SOURCE,
          +        'PR_STRING': PR_STRING,
          +        'PR_TAG': PR_TAG,
          +        'PR_TYPE': PR_TYPE
          +      };
          +})();
          +
          +// Contributed by Ryan Grove <ryan@wonko.com>
          +
          +/**
          + * @fileoverview
          + * Registers a language handler for Handlebars.
          + *
          + * @author Ryan Grove <ryan@wonko.com>
          + */
          +
          +PR['registerLangHandler'](
          +  PR['createSimpleLexer'](
          +    [],
          +    [
          +      // -- HTML ---------------------------------------------------------------
          +      [PR['PR_DECLARATION'], /^<!\w[^>]*(?:>|$)/],
          +      [PR['PR_COMMENT'],     /^<\!--[\s\S]*?(?:-\->|$)/],
          +      [PR['PR_PUNCTUATION'], /^(?:<[%?]|[%?]>)/],
          +
          +      // Unescaped content in an unknown language
          +      ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
          +      ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
          +      ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
          +
          +      // Unescaped Handlebars template in JavaScript.
          +      ['lang-handlebars', /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
          +
          +      // Unescaped content in javascript.  (Or possibly vbscript).
          +      ['lang-js',         /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
          +
          +      // Contains unescaped stylesheet content
          +      ['lang-css',        /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
          +      ['lang-in.tag',     /^(<\/?[a-z][^<>]*>)/i],
          +
          +      // -- Handlebars ---------------------------------------------------------
          +      // Tag (escaped).
          +      [PR['PR_DECLARATION'], /^{{[#^>/]?\s*[\w.][^}]*}}/],
          +
          +      // Tag (unescaped).
          +      [PR['PR_DECLARATION'], /^{{&?\s*[\w.][^}]*}}/],
          +
          +      // Tag (unescaped).
          +      [PR['PR_DECLARATION'], /^{{{>?\s*[\w.][^}]*}}}/],
          +
          +      // Comment.
          +      [PR['PR_COMMENT'], /^{{![^}]*}}/]
          +    ]),
          +['handlebars', 'hbs']);
          +
          +
          +
          +// Copyright (C) 2009 Google Inc.
          +//
          +// Licensed under the Apache License, Version 2.0 (the "License");
          +// you may not use this file except in compliance with the License.
          +// You may obtain a copy of the License at
          +//
          +//      http://www.apache.org/licenses/LICENSE-2.0
          +//
          +// Unless required by applicable law or agreed to in writing, software
          +// distributed under the License is distributed on an "AS IS" BASIS,
          +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          +// See the License for the specific language governing permissions and
          +// limitations under the License.
          +
          +/**
          + * @fileoverview
          + * Registers a language handler for CSS.
          + *
          + *
          + * To use, include prettify.js and this file in your HTML page.
          + * Then put your code in an HTML tag like
          + *      <pre class="prettyprint lang-css"></pre>
          + *
          + *
          + * http://www.w3.org/TR/CSS21/grammar.html Section G2 defines the lexical
          + * grammar.  This scheme does not recognize keywords containing escapes.
          + *
          + * @author mikesamuel@gmail.com
          + */
          +
          +PR['registerLangHandler'](
          +    PR['createSimpleLexer'](
          +        [
          +         // The space production <s>
          +         [PR['PR_PLAIN'],       /^[ \t\r\n\f]+/, null, ' \t\r\n\f']
          +        ],
          +        [
          +         // Quoted strings.  <string1> and <string2>
          +         [PR['PR_STRING'],
          +          /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null],
          +         [PR['PR_STRING'],
          +          /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null],
          +         ['lang-css-str', /^url\(([^\)\"\']*)\)/i],
          +         [PR['PR_KEYWORD'],
          +          /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
          +          null],
          +         // A property name -- an identifier followed by a colon.
          +         ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],
          +         // A C style block comment.  The <comment> production.
          +         [PR['PR_COMMENT'], /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
          +         // Escaping text spans
          +         [PR['PR_COMMENT'], /^(?:<!--|-->)/],
          +         // A number possibly containing a suffix.
          +         [PR['PR_LITERAL'], /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
          +         // A hex color
          +         [PR['PR_LITERAL'], /^#(?:[0-9a-f]{3}){1,2}/i],
          +         // An identifier
          +         [PR['PR_PLAIN'],
          +          /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],
          +         // A run of punctuation
          +         [PR['PR_PUNCTUATION'], /^[^\s\w\'\"]+/]
          +        ]),
          +    ['css']);
          +PR['registerLangHandler'](
          +    PR['createSimpleLexer']([],
          +        [
          +         [PR['PR_KEYWORD'],
          +          /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]
          +        ]),
          +    ['css-kw']);
          +PR['registerLangHandler'](
          +    PR['createSimpleLexer']([],
          +        [
          +         [PR['PR_STRING'], /^[^\)\"\']+/]
          +        ]),
          +    ['css-str']);
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/output/index.html
          new file mode 100644
          index 000000000..894b598f7
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/index.html
          @@ -0,0 +1,179 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>YUIDoc - Javascript Documentation Tool</title>
          +    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Maven+Pro:400,700">
          +    <link rel="stylesheet" href="http://yui.yahooapis.com/3.4.1/build/cssgrids/grids-min.css">
          +    <link rel="stylesheet" href="assets/css/main.css">
          +    <link rel="stylesheet" href="assets/vendor/prettify/prettify-min.css">
          +    <link rel="shortcut icon" type="image/png" href="assets/favicon.png">
          +    <script src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js"></script>
          +</head>
          +<body>
          +<a href="https://github.com/yui/yuidoc"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
          +<div id="doc">
          +    <div id="hd">
          +        <h1><img src="http://yuilibrary.com/img/yui-logo.png">YUIDoc - Javascript Documentation Tool</h1>
          +    </div>
          +    
          +    
          +        <a href="#toc" class="jump">Jump to Table of Contents</a>
          +    
          +
          +    <div class="yui3-g">
          +        <div class="yui3-u-3-4">
          +            <div id="main">
          +                <div class="content"><h2 id="welcome-to-yuidoc-0317">Welcome to YUIDoc 0.3.17!</h2>
          +
          +<div class="intro">
          +    <p>YUIDoc is a <a href="http://nodejs.org/">Node.js</a> application that
          +    generates API documentation from comments in source, using a syntax similar 
          +    to tools like Javadoc and Doxygen. YUIDoc provides:</p>
          +
          +    <ul>
          +        <li><b>Live previews.</b> YUIDoc includes a 
          +        <a href="args/index.html#server">standalone doc server</a>, 
          +        making it trivial to preview your docs as you write.</li>
          +        <li><b>Modern markup.</b> YUIDoc's generated documentation is an
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Model.html">attractive, 
          +        functional web application</a> with real URLs and graceful 
          +        fallbacks for spiders and other agents that can't run JavaScript.</li> 
          +        <li><b>Wide language support.</b> YUIDoc was originally designed for 
          +        the <a href="http://yuilibrary.com">YUI project</a>, but it is not
          +        tied to any particular library or programming language. 
          +        You can use it with any language that supports
          +        <code>&#x2F;* *&#x2F;</code> comment blocks.</li>
          +    </ul>
          +</p>
          +</div>
          +
          +<h2 id="#install">Installation and Usage</h2>
          +
          +<ol>
          +    <li>Download and install <a href="http://nodejs.org/#download">Node.js</a></li>
          +    <li>Run <code>npm -g install yuidocjs</code>.</li>
          +    <li>Run <code>yuidoc .</code> at the top of your JS source tree.</li>
          +</ol>
          +
          +<p>That's it! For more information about running the <code>yuidoc</code> commandline tool,
          +refer to "<a href="args/index.html">Using YUIDoc</a>".</p>
          +
          +<h2 id="user-guides">User Guides</h2>
          +
          +<ul>
          +  
          +    
          +    <li><a href="args/index.html">Using YUIDoc</a> &mdash; Understanding YUIDoc command line arguments and usage.</li>
          +    
          +  
          +    
          +    <li><a href="syntax/index.html">YUIDoc Syntax Reference</a> &mdash; Detailed instructions for writing YUIDoc comment blocks.</li>
          +    
          +  
          +    
          +    <li><a href="themes/index.html">YUIDoc Themes</a> &mdash; How to modify the default YUIDoc theme.</li>
          +    
          +  
          +</ul>
          +
          +<h2 id="example-yuidoc-comment-blocks">Example YUIDoc Comment Blocks</h2>
          +
          +<p>YUIDoc parses a modified form of JSDoc tags. 
          +This section provides a taste of some of the more common constructs in YUIDoc.
          +For more information, refer to the "<a href="./syntax/index.html">YUIDoc Syntax Reference</a>".</p>
          +
          +<h3 id="example-class-block">Example Class Block</h3>
          +<pre class="code prettyprint">&#x2F;**
          +* This is the description for my class.
          +*
          +* @class MyClass
          +* @constructor
          +*&#x2F;</pre>
          +
          +<h3 id="example-method-block">Example Method Block</h3>
          +<pre class="code prettyprint">&#x2F;**
          +* My method description.  Like other pieces of your comment blocks, 
          +* this can span multiple lines.
          +*
          +* @method methodName
          +* @param {String} foo Argument 1
          +* @param {Object} config A config object
          +* @param {String} config.name The name on the config object
          +* @param {Function} config.callback A callback function on the config object
          +* @param {Boolean} [extra=false] Do extra, optional work
          +* @return {Boolean} Returns true on success
          +*&#x2F;</pre>
          +
          +
          +<h3 id="example-property-block">Example Property Block</h3>
          +<pre class="code prettyprint">&#x2F;**
          +* My property description.  Like other pieces of your comment blocks, 
          +* this can span multiple lines.
          +* 
          +* @property propertyName
          +* @type {Object}
          +* @default &quot;foo&quot;
          +*&#x2F;</pre>
          +
          +</div>
          +            </div>
          +        </div>
          +
          +        <div class="yui3-u-1-4">
          +            <div class="sidebar">
          +                <ul class="links">
          +                    <li><a href="https://github.com/yui/yuidoc/" class="button">Get the Source</a></li>
          +                    <li><a href="https://groups.google.com/forum/#!forum/yuidoc" class="button">Questions? Join the Mailing List</a></li>
          +                    <li><a href="https://github.com/yui/yuidoc/issues/" class="button">File an Issue</a></li>
          +                    <li><a href="api/" class="button">View API Documentation</a></li>
          +                </ul>
          +                
          +                    <div id="toc" class="sidebox">
          +                        <div class="hd">
          +                            <h2 class="no-toc">Table of Contents</h2>
          +                        </div>
          +
          +                        <div class="bd">
          +                            <ul class="toc">
          +<li>
          +<a href="#welcome-to-yuidoc-0317">Welcome to YUIDoc 0.3.17!</a>
          +</li>
          +<li>
          +<a href="##install">Installation and Usage</a>
          +</li>
          +<li>
          +<a href="#user-guides">User Guides</a>
          +</li>
          +<li>
          +<a href="#example-yuidoc-comment-blocks">Example YUIDoc Comment Blocks</a>
          +<ul class="toc">
          +<li>
          +<a href="#example-class-block">Example Class Block</a>
          +</li>
          +<li>
          +<a href="#example-method-block">Example Method Block</a>
          +</li>
          +<li>
          +<a href="#example-property-block">Example Property Block</a>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +                        </div>
          +                    </div>
          +                
          +
          +                
          +
          +                
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +
          +<script src="assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/syntax/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/output/syntax/index.html
          new file mode 100644
          index 000000000..998e03ad5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/syntax/index.html
          @@ -0,0 +1,1319 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>YUIDoc Syntax Reference</title>
          +    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Maven+Pro:400,700">
          +    <link rel="stylesheet" href="http://yui.yahooapis.com/3.4.1/build/cssgrids/grids-min.css">
          +    <link rel="stylesheet" href="../assets/css/main.css">
          +    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
          +    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
          +    <script src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js"></script>
          +</head>
          +<body>
          +<a href="https://github.com/yui/yuidoc"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
          +<div id="doc">
          +    <div id="hd">
          +        <h1><img src="http://yuilibrary.com/img/yui-logo.png">YUIDoc Syntax Reference</h1>
          +    </div>
          +    
          +    <div class="crumbs">
          +        <a href="../">Main Page</a> <a name="Arrow">&gt;</a> <a href="../syntax/index.html">YUIDoc Syntax Reference</a>
          +    </div>
          +    
          +    
          +        <a href="#toc" class="jump">Jump to Table of Contents</a>
          +    
          +
          +    <div class="yui3-g">
          +        <div class="yui3-u-3-4">
          +            <div id="main">
          +                <div class="content"><div class="intro">
          +    <p>YUIDoc's syntax should be familiar if you've used 
          +    Javadoc, JSDoc, Doxygen, or most other documentation generator tools. 
          +    YUIDoc relies on <dfn>tags</dfn> such as <code>@param</code> or <code>@return</code> embedded in comments blocks 
          +    that start with <code>&#x2F;**</code> and end with <code>*&#x2F;</code>. 
          +    It includes a small number of tags for documenting specific YUI features, 
          +    but most tags are generic enough to use with any object-oriented language.</p>
          +
          +    <p><b>IMPORTANT:</b> YUIDoc only parses YUIDoc comment blocks, not source code.
          +    This keeps YUIDoc relatively simple and language agnostic. 
          +    However, it also means you must declare everything to YUIDoc explicitly.
          +    A code snippet will not display as a "method" or "class" 
          +    until you describe it as such. 
          +    A corollary is that YUIDoc will never generate empty, "stub" doc entries
          +    for API members that lack comment blocks.</p>
          +</div>
          +
          +<h2 id="basic-requirements">Basic Requirements</h2>
          +
          +<p>A given comment block must contain one (and only one) 
          +<a href="#primary-tags">primary tag</a> such as <code>@class</code> or <code>@method</code>,
          +and zero or more <a href="#secondary-tag">secondary tags</a>
          +such as <code>@param</code>, <code>@type</code>, and <code>@extends</code>. 
          +Some secondary tags can be used in any comment block, 
          +while others only make sense alongside a particular primary tag.</p>
          +
          +<p>A source tree must contain at least one comment block with a <code>@module</code> tag.</p>
          +
          +<p>Each module must have at least one comment block with a <code>@class</code> tag.</p>
          +
          +<p>Each class may then have zero or more comment blocks with 
          +an <code>attribute</code>, <code>@class</code>, <code>@event</code>, <code>@method</code>, or <code>@property</code> tag.</p>
          +
          +<h2 id="primary-tags">Primary Tags</h2>
          +<p>Each comment block must have one (and only one) of the following tags</p>
          +
          +<table>
          +<tr>
          +    <th>Name</th>
          +    <th>Example</th>
          +    <th>Description</th>
          +</tr>
          +<tr id="module">
          +    <td><code>module</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Provides the base Widget class...
          +
          +@module widget
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the block describes a group of related classes. 
          +        For example, YUI's <code>app</code> module includes classes such as <code>App.Base</code>, <code>Model</code>, and <code>Router</code>.
          +        You can optionally break modules up into submodules.
          +        
          +        <p>YUIDoc requires you to provide at least one module per source tree. 
          +        Since there isn't always an obvious place to insert module documentation in JavaScript source, 
          +        the convention is to declare your module at the top of the file that contains your module's "primary" or "base" class.</p>
          +
          +        <p>
          +            See also: 
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#maintag"><code>@main</code></a>,
          +            <a href="#submodule"><code>@submodule</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="maintag">
          +    <td><code>main</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Provides more functionality for the widget module..
          +
          +@module widget
          +@submodule widget-foo
          +@main widget
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +    <p>
          +        When YUIDoc parses a module's directory, there may be several files in this directory that
          +        provides documentation for that module and it's submodules. YUIDoc will attempt to determine
          +        which module contains the main description for this module. If it has trouble doing that
          +        you can add a <code>@main</code> tag to your module/submodule description and YUIDoc will use that as
          +        the main module description on the modules API landing page.
          +    </p>
          +    </td>
          +</tr>
          +<tr id="class">
          +    <td><code>class</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +A utility that brokers HTTP requests...
          +
          +@class IO 
          +@constructor
          +**&#x2F;
          +function IO (config) {</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the block describes a class.
          +        In JavaScript, this is generally an object with a constructor function. 
          +        The value of <code>@class</code> should be the string that identifies the functional class on its parent object. 
          +        For example, the <code>@class</code> for <code>Y.DD.Drag</code> would be <code>Drag</code> 
          +        (and its <a href="#@namespace"><code>@namespace</code></a> would be <code>DD</code>).</p>
          +        
          +        <p>YUIDoc expects methods, properties, attributes, and events to belong to a class, 
          +        so in general you must provide at least one class for each module in your source tree. 
          +        A <code>@class</code> block should reside just above the class's constructor function,
          +        and above all methods, events, properties, and attributes that belong to the class.</p>
          +
          +        <p>A <a href="#class"><code>@class</code></a> tag should be paired with 
          +        either a <code>@constructor</code> tag or a <code>@static</code> tag.</p> 
          +
          +        <p>
          +            See also: 
          +            <a href="#constructor"><code>@constructor</code></a>,
          +            <a href="#extends"><code>@extends</code></a>,
          +            <a href="#extensionfor"><code>@extensionfor</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#module"><code>@module</code></a>,
          +            <a href="#namespace"><code>@namespace</code></a>,
          +            <a href="#static"><code>@static</code></a>,
          +            <a href="#uses"><code>@uses</code></a>.
          +        </p>
          +    </td>
          +
          +    </td>
          +</tr>
          +<tr id="method">
          +    <td><code>method</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Returns this model&#x27;s attributes as...
          +
          +@method toJSON
          +@return {Object} Copy of ...
          +**&#x2F;
          +toJSON: function () {</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the block describes a method for the current class.
          +        By default, the "current" class is the last class that YUIDoc parsed, but
          +        you can reset this with the <a href="#for"><code>@for</code></a> tag.</p>
          +
          +        <p>A <code>@method</code> block should always reside directly above the method's definition.
          +        At a minimum, you should also document any 
          +        parameters (<a href="#param"><code>@param</code></a>) and
          +        return values (<a href="#return"><code>@return</code></a>).</p>
          +
          +        <p>
          +            See also: 
          +            <a href="#chainable"><code>@chainable</code></a>,
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#constructor"><code>@constructor</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#param"><code>@param</code></a>,
          +            <a href="#return"><code>@return</code></a>,
          +            <a href="#static"><code>@static</code></a>.
          +        </p>
          +    </td>
          +
          +    </td>
          +</tr>
          +<tr id="event">
          +    <td><code>event</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Fired when an error occurs...
          +
          +@event error 
          +@param {String} msg A description of...
          +**&#x2F;
          +var EVT_ERROR = &#x27;error&#x27;,</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the block describes a custom event that the class can fire 
          +        at some interesting moment of code execution. 
          +        An <code>@event</code> block is somewhat similar to a <a href="#param"><code>@method</code></a> block, 
          +        except that <a href="#return"><code>@return</code></a> is irrelevant, and  
          +        <a href="#param"><code>@param</code></a> is used to describe properties hanging off 
          +        the event object that callbacks listening for the event receive. </p>
          +
          +        <p>Ideally, an <code>@event</code> block should reside above the code that defines the event, 
          +        even if that code is just a simple string declaration.
          +        If you find that your <code>@event</code> block is "floating in space,"
          +        you should at least place it underneath the class that owns the event, 
          +        grouped with any other events that the class can fire.</p>
          +        
          +        <p>
          +            See also: 
          +            <a href="#bubbles"><code>@bubbles</code></a>,
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#param"><code>@param</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="property">
          +    <td><code>property</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Template for this view&#x27;s container...
          +
          +@property containerTemplate 
          +@type String
          +@default &quot;&lt;div&#x2F;&gt;&quot;
          +**&#x2F;
          +containerTemplate: &#x27;&lt;div&#x2F;&gt;&#x27;,</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the block describes a property belonging to the current class.</p>
          +
          +        <p>As with methods, a <code>@property</code> block should always reside 
          +        directly above the point where the property is defined.
          +        At a minimum, you should also provide the property's <code>@type</code>, 
          +        even if the value is <code>&quot;any&quot;</code> or <code>&quot;mixed&quot;</code>.</p>
          +
          +        <p>
          +            See also: 
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#type"><code>@type</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="attribute">
          +    <td><code>attribute</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +* Indicates whether this Widget
          +* has been rendered...
          +*
          +* @attribute rendered
          +* @readOnly
          +* @default false
          +* @type boolean
          +*&#x2F;
          +ATTRS[RENDERED] = {</pre>
          +
          +    </td>
          +    <td>
          +        <p>[YUI-specific] Indicates that the block describes a managed configuration attribute.  
          +        An attribute is an object created and managed by the YUI
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Attribute.html"><code>Attribute</code> API</a>.
          +        It is a kind of "super-property", with getters, setters, and other nifty features, 
          +        including the ability to automatically fire change events.</p>
          +
          +        <p>An <code>@attribute</code> block should reside directly above the definition of the attribute,
          +        whether that is inside a <code>Y.Base</code> object's <code>ATTRS</code> property or elsewhere.
          +        Note that if your <code>yuidoc.json</code> file sets <code>attributesEmit</code> to <code>true</code>, 
          +        YUI will automatically generate documentation for the attribute's change events throughout the source tree, 
          +        with no extra YUIDoc comments needed from you.</p>
          +
          +        <p>
          +            See also: 
          +            <a href="#property"><code>@property</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#for"><code>@for</code></a>,
          +            <a href="#type"><code>@type</code></a>,
          +            <a href="#required"><code>@required</code></a>,
          +            <a href="#optional"><code>@optional</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +</table>
          +
          +<h2 id="secondary-tags">Secondary tags</h2>
          +<p>
          +    After choosing one of the five primary tags, you can further document a module, 
          +    class, method, event or property with one or more of the following secondary tags.
          +</p>
          +<table>
          +<tr>
          +    <th>Name</th>
          +    <th>Example</th>
          +    <th>Description</th>
          +</tr>
          +<tr id="submodule">
          +    <td><code>submodule</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@module app
          +@submodule view
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies that the module is actually a submodule of some parent module. 
          +        For example, the <code>app-transitions</code> module is a submodule of the larger <code>app</code> module.</p>
          +
          +        <p>In YUI, submodules enable you to make very fine-grained choices about loading code.
          +        For example, the <code>foo</code> module might have a minimal <code>foo-core</code> or <code>foo-base</code> submodule
          +        that supplies <code>foo</code>'s basic functionality,
          +        plus additional <code>foo-*</code> modules that carry optional features.
          +        Using the YUI Loader, you can choose to load just <code>foo-core</code>, 
          +        <code>foo-core</code> plus a couple of extra modules, 
          +        or the entire <code>foo</code> "rollup".</p> 
          +
          +        <p>
          +            See also:
          +            <a href="#module"><code>@module</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="namespace">
          +    <td><code>namespace</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@namespace Test.Mock
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies a class's namespace.
          +        The <code>@namespace</code> should <em>not</em> include the "root" or "global" object 
          +        that your entire library hangs off of. 
          +        For example, <code>Y.DD.Drag</code> has 
          +        a <a href="#class"><code>@class</code></a> of <code>Drag</code>
          +        and a <code>@namespace</code> of <code>DD</code>, not <code>Y.DD</code>.</p> 
          +
          +        <p>Supplying a <code>@namespace</code> enables you to refer to the class in YUIDoc using just the simple class name.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="extends">
          +    <td><code>extends</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@class View
          +@constructor
          +@extends Base
          +**&#x2F;</pre>
          +
          +   </td>
          +   <td>
          +        <p>Specifies that the class inherits members from a parent class, 
          +        perhaps using <a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_extend"><code>Y.extend()</code></a>, 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Base.html#method_create"><code>Y.Base.create()</code></a>,
          +        or similar methods.
          +        YUIDoc will generate API documentation for 
          +        methods, properties, events, and attributes inherited from the parent class,
          +        and link back to the parent class's documentation.
          +        In the default YUIDoc theme, users can toggle whether inherited members should display.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#extensionfor"><code>@extensionfor</code></a>,
          +            <a href="#uses"><code>@uses</code></a>.
          +        </p>
          +   </td>
          +</tr>
          +<tr id="config">
          +    <td><code>config</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@config docScrollX 
          +@type Number 
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>[YUI-specific] Alias for <a href="#attribute"><code>@attribute</code></a>. 
          +        In older versions of YUI, <code>@config</code> was a slightly different take on attributes, 
          +        but the two concepts have merged.  
          +        Modern YUIDoc comments should use <code>@attribute</code> instead.</p>
          +    </td>
          +</tr>
          +<tr id="constructor">
          +    <td><code>constructor</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@class IO 
          +@constructor
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the class is instantiable
          +        (you can use it by calling <code>var foo = new Foo();</code>).
          +        A <a href="#class"><code>@class</code></a> tag should be paired with 
          +        either a <code>@constructor</code> tag or a <code>@static</code> tag.</p> 
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#static"><code>@static</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="static">
          +    <td><code>static</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +YUI user agent detection...
          +
          +@class UA
          +@static
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the method or class is static:</p> 
          +        <ul>
          +            <li>For methods, indicates that the method is meant to be 
          +            called without instantiating the class: 
          +            <code>var node = Y.Node.create(&#x27;&lt;div&#x2F;&gt;&#x27;);</code></li>
          +            <li>For classes, indicates that you should not 
          +            instantiate the class with <code>new</code>. 
          +            You can call all of the class's methods statically.
          +        </ul>    
          +        <p>A <a href="#class"><code>@class</code></a> tag should be paired with 
          +        either a <code>@constructor</code> tag or a <code>@static</code> tag.</p> 
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#constructor"><code>@constructor</code></a>,
          +            <a href="#method"><code>@method</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +</tr>
          +<tr id="final">
          +    <td><code>final</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Identifies state changes 
          +originating from...
          +
          +@property SRC_REPLACE
          +@type String
          +@static
          +@final
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the property or attribute is a constant and should not be changed.</p>
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#property"><code>@property</code></a>,
          +            <a href="#readOnly"><code>@readOnly</code></a>,
          +            <a href="#writeOnce"><code>@writeOnce</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="readOnly">
          +    <td><code>readOnly</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +The current default button
          +as configured through...
          +
          +@attribute defaultButton
          +@type Node
          +@default null
          +@readOnly
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>[YUI-specific] Indicates that the attribute is configured with the 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Attribute.html#method_addAttr"><code>readOnly</code></a> property
          +        and cannot be changed by calling the 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Attribute.html#method_set"><code>set()</code></a> method.
          +        Read-only attributes should always document their <a href="#default"><code>@default</code></a> value.</p>
          +        
          +        <p>Sometimes used with properties, as an alias for <a href="#final"><code>@final</code></a>.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#final"><code>@final</code></a>,
          +            <a href="#property"><code>@property</code></a>,
          +            <a href="#required"><code>@required</code></a>,
          +            <a href="#optional"><code>@optional</code></a>,
          +            <a href="#writeOnce"><code>@writeOnce</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="writeOnce">
          +    <td><code>writeOnce</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Diameter of the circular 
          +background object. Other 
          +objects scale accordingly.
          +Set this only before 
          +rendering.
          +
          +@attribute diameter
          +@type {Number} number of px 
          +  in diameter
          +@default 100
          +@writeOnce
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>[YUI-specific] Indicates that the attribute is configured with the 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Attribute.html#method_addAttr"><code>writeOnce</code></a> property
          +        and can only be set once --
          +        by applying a <a href="#default"><code>@default</code></a>, 
          +        by setting the value in the constructior, 
          +        or by calling the 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Attribute.html#method_set"><code>set()</code></a> method
          +        for the first time.</p>
          +        
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#final"><code>@final</code></a>,
          +            <a href="#required"><code>@required</code></a>,
          +            <a href="#optional"><code>@optional</code></a>,
          +            <a href="#readOnly"><code>@readOnly</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="optional">
          +    <td><code>optional</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +An optional attribute, 
          +not required for proper
          +use.
          +
          +@attribute extras
          +@type {Object} extra data
          +@optional
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>
          +        [YUI-specific] Indicates that the attribute is not
          +        required to be provided for proper use of this class.
          +        </p>
          +        
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#final"><code>@final</code></a>,
          +            <a href="#required"><code>@required</code></a>,
          +            <a href="#readOnly"><code>@readOnly</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +
          +<tr id="required">
          +    <td><code>required</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +A required attribute 
          +that is required for proper
          +use, module will likely fail
          +if this is not provided.
          +
          +@attribute url
          +@type {String} url to fetch remote data from
          +@required
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>
          +        [YUI-specific] Indicates that the attribute is
          +        required to be provided for proper use of this class.
          +        </p>
          +        
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#final"><code>@final</code></a>,
          +            <a href="#optional"><code>@optional</code></a>,
          +            <a href="#readOnly"><code>@readOnly</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +
          +
          +<tr id="param">
          +    <td><code>*param</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@param {String} name An 
          +  Attribute name or 
          +  object property path.
          +**&#x2F;</pre>
          +
          +
          +<pre class="code prettyprint">&#x2F;**
          +@param {Object} [options] Data 
          +  to be mixed into the event 
          +  facade of the &#x60;change&#x60; 
          +  event(s) for these attributes.
          +  @param {Boolean} [options.silent]
          +    If &#x60;true&#x60;, no &#x60;change&#x60; event 
          +    will be fired.
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Defines a parameter for an ordinary <a href="#method"><code>@method</code></a>, 
          +        a parameter for a <a href="#constructor"><code>@constructor</code></a>
          +        (generally defined inside a <a href="#class"><code>@class</code></a> block),
          +        <em>or</em> a property that resides on an <a href="#method"><code>@event</code></a> object.
          +        Can take either of the forms:</p>
          +
          +        <ul>
          +            <li><code>@param {type} name description</code></li> 
          +            <li><code>@param name {type} description</code></li>
          +        </ul>
          +
          +        <p>The <code>{type}</code> is optional, but if you include it, 
          +        you must surround it in curly braces so that YUIDoc 
          +        can distinguish it from the <code>name</code>. 
          +        The <code>name</code> also has optional syntax:</p>
          +        <ul>
          +            <li><code>[name]</code> &mdash; optional parameter</li>
          +            <li><code>[name=foo]</code> &mdash; default value is foo</li>
          +            <li><code>name*</code> &mdash; placeholder for 1..n args</li>
          +            <li><code>[name]*</code> &mdash; placeholder for 0..n args</li>
          +        </ul>
          +
          +        <p>As shown in the example, you can also nest <code>@param</code> tags. 
          +        This enables you to document object parameters that 
          +        have their own particular nested structure.</p> 
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#constructor"><code>@constructor</code></a>,
          +            <a href="#event"><code>@event</code></a>,
          +            <a href="#method"><code>@method</code></a>,
          +            <a href="#return"><code>@return</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="return">
          +    <td><code>return</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@method generateClientId
          +@return {String} Unique clientId.
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies a method's return value. 
          +        A <code>@return</code> tag has the structure <code>@return {type} description</code>.
          +        The <code>{type}</code> is optional.</p>
          +
          +        <!--p>If a return value is an object with a complex structure,
          +        you can <a href="#param">nest <code>@param</code> tags</a> 
          +        underneath the <code>@return</code> value.</p-->
          +
          +        <p>
          +            See also:
          +            <a href="#method"><code>@method</code></a>,
          +            <a href="#param"><code>@param</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="for">
          +    <td><code>for</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**  
          +Some inner class &#x27;foo&#x27;...  
          +
          +@class foo  
          +@for OuterClass  
          +**&#x2F;</pre>
          +
          +<pre class="code prettyprint">&#x2F;**  
          +Some method &#x27;bar&#x27; 
          +disconnected from 
          +its class &#x27;FarawayClass&#x27;...
          +
          +@method bar  
          +@for FarawayClass  
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Sets YUIDoc's class scope.</p> 
          +
          +        <p>Using <code>@for OuterClass</code> in a <code>@class</code> block creates an inner class.
          +        YUIDoc will document methods and other items that follow that block 
          +        as belonging to the inner class, but the inner class is correctly 
          +        shown as belonging to its parent outer class.</p>
          +
          +        <p>To close an inner class, add <code>@for OuterClass</code> (again!) 
          +        to the <em>last</em>
          +        <code>@attribute</code>, <code>@event</code>, <code>@method</code>, or <code>@property</code> block 
          +        in the inner class. 
          +        This resets the YUIDoc parser to use <code>OuterClass</code> 
          +        as the owner of subsequent items.</p>
          +
          +        <p>If you are not inside an inner class, 
          +        using <code>@for FarawayClass</code> 
          +        in an <code>@attribute</code>, <code>@event</code>, <code>@method</code>, or <code>@property</code> block
          +        will attach all that item and subsequent items 
          +        to the specified faraway class. 
          +        This is useful when you have a module that attaches extra
          +        methods to a class's prototype, 
          +        but the main class definition is in some entirely different file.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#method"><code>@method</code></a>.
          +        </p>
          +</td>
          +</tr>
          +<tr id="type">
          +    <td><code>type</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@type String
          +**&#x2F;</pre>
          +
          +<pre class="code prettyprint">&#x2F;**
          +@type HTMLElement|Node|String 
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies the type of a property or attribute.  
          +        You can specify a single type, 
          +        a list of legal types separated by vertical bars, 
          +        or if you are lazy, "any" or "mixed".</p>
          +
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#default"><code>@default</code></a>,
          +            <a href="#property"><code>@property</code></a>.
          +        <p>
          +    </td>
          +</tr>
          +<tr id="private">
          +    <td><code>private</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Reference to the internal JSONP 
          +instance used to make the queries.
          +
          +@private
          +@property _jsonp
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates a member that should not be used externally. 
          +        Although YUIDoc does not generate documentation for <code>@private</code> blocks, 
          +        YUIDoc comments are still a nice, structured way to document internals in source code.
          +        All methods and properties are assumed to be public 
          +        unless marked as private or protected.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#protected"><code>@protected</code></a>.
          +        <p>
          +    </td>
          +</tr>
          +<tr id="protected">
          +    <td><code>protected</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Removes the &#x60;container&#x60; from 
          +the DOM and ...
          + 
          +@method _destroyContainer
          +@protected
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates a member that should not be modified 
          +        by implementers unless they are creating a subclass.
          +        All methods and properties are assumed to be public 
          +        unless marked as private or protected.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#private"><code>@private</code></a>.
          +        <p>
          +    </td>
          +</tr>
          +<tr id="requires">
          +    <td><code>requires</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@module event-simulate
          +@requires event
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>[Uncommon] Identifies one or more dependencies in the module declaration.
          +        Can be a single module name or a comma-separated list.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#extends"><code>@extends</code></a>,
          +            <a href="#extensionfor"><code>@extensionfor</code></a>,
          +            <a href="#module"><code>@module</code></a>,
          +            <a href="#submodule"><code>@submodule</code></a>.
          +        <p>
          +    </td>
          +</tr>
          +<tr id="default">
          +    <td><code>default</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@default false
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies the default value of a property or attribute.
          +        Should be paired with a <a href="#type"><code>@type</code></a> tag.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#attribute"><code>@attribute</code></a>,
          +            <a href="#property"><code>@property</code></a>,
          +            <a href="#type"><code>@type</code></a>.
          +        <p>
          +    </td>
          +    </td>
          +</tr>
          +<tr id="uses">
          +    <td><code>*uses</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@class Panel
          +@constructor
          +@extends Widget
          +@uses WidgetAutohide
          +@uses WidgetButtons
          +...
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies that the class has some other class's 
          +        properties, methods, and other members mixed into its prototype, 
          +        perhaps using <a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_mix"><code>Y.mix()</code></a>, 
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Base.html#method_mix"><code>Y.Base.mix()</code></a>,
          +        <a href="http://yuilibrary.com/yui/docs/api/classes/Base.html#method_create"><code>Y.Base.create()</code></a>,
          +        or similar methods.
          +        YUIDoc will generate API documentation for 
          +        methods, properties, events, and attributes mixed into the parent class,
          +        and link back to the parent class's documentation.
          +        In the default YUIDoc theme, users can toggle whether mixed in members should display.</p>
          +        
          +        <p>Note that <code>@uses</code> does not indicate inheritance.
          +        To establish an "is a" relationship, use <a href="#extends"><code>@extends</code></a>.
          +        Unlike <code>@extends</code>, you can provide multiple <code>@uses</code> tags. </p>
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#extends"><code>@extends</code></a>,
          +            <a href="#extensionfor"><code>@extensionfor</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="example">
          +    <td><code>*example</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@example
          +    model.set(&#x27;foo&#x27;, &#x27;bar&#x27;);
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates a block of example code 
          +        to be automatically parsed and displayed with 
          +        YUIDoc's Markdown and code highlighting parser.
          +        Your code sample should be indented beneath the <code>@example</code> tag.
          +        YUIDoc displays all examples highlighted with 
          +        <code>&lt;span&gt;</code> elements and other markup.</p>
          +
          +        <p>A block may include multiple <code>@example</code> tags.</p>
          +    </td>
          +</tr>
          +<tr id="chainable">
          +    <td><code>chainable</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Renders this view ...
          +
          +@method render
          +@chainable
          +**&#x2F;
          +render: function () {
          +    return this;
          +},
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that a method returns <code>this</code> (the parent object), 
          +        enabling you to chain it with other calls on the same object.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#method"><code>@method</code></a>.
          +        </p>
          +</tr>
          +<tr id="deprecated">
          +    <td><code>deprecated</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@property locale
          +@type String
          +@deprecated Use &#x60;config.lang&#x60; 
          +  instead.
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the module, class, or member is deprecated 
          +        and will be removed in a future release.
          +        You can optionally supply a string message 
          +        describing what to use instead.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#beta"><code>@beta</code></a>,
          +            <a href="#since"><code>@since</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="since">
          +    <td><code>since</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@since 3.4.0
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the module, class, or member 
          +        was added to the source at the specified version.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#beta"><code>@beta</code></a>,
          +            <a href="#deprecated"><code>@deprecated</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="async">
          +    <td><code>async</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@async
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>[Uncommon] Indicates that the method is 
          +        asynchronous and requires a callback.</p>
          +    </td>
          +</tr>
          +<tr id="beta">
          +    <td><code>beta</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@beta
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the method, class, or member is in beta 
          +        and might undergo backwards-incompatible changes in the near future.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#deprecated"><code>@deprecated</code></a>,
          +            <a href="#since"><code>@since</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="bubbles">
          +    <td><code>bubbles</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +Handles the mouseup DOM event...
          +
          +@event drag:mouseup
          +@bubbles DDM
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Specifies the default target that a custom event bubbles to.
          +        This is a useful tag if your API has a "manager" class that 
          +        is responsible for capturing a set of related custom events.</p>
          +
          +        <p>
          +            See also:
          +            <a href="#event"><code>@event</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +<tr id="extensionfor">
          +    <td><code>extension</code><br><code>extensionfor</code><br><code>extension_for</code></td>
          +    <td>
          +<pre class="code prettyprint">&#x2F;**
          +@class PjaxBase
          +@extensionfor Router
          +**&#x2F;</pre>
          +
          +    </td>
          +    <td>
          +        <p>Indicates that the class is an extension object
          +        designed to be optionally mixed into the specified class.</p>
          +
          +        <p><code>@extensionfor</code> is <em>almost</em> the inverse of <a href="#uses"><code>@uses</code></a>.
          +        The key difference is that <code>@uses</code> means, 
          +        "this class <em>always</em> has the 'used' class mixed into its prototype," 
          +        while <code>@extensionfor</code> means, 
          +        "this class <em>can</em> be mixed into the 'extensionfor' class, 
          +        but it isn't baked in by default."</p>
          +
          +        <p>
          +            See also:
          +            <a href="#class"><code>@class</code></a>,
          +            <a href="#extends"><code>@extends</code></a>,
          +            <a href="#uses"><code>@uses</code></a>.
          +        </p>
          +    </td>
          +</tr>
          +</table>
          +
          +<p>A <strong>*</strong> indicates that you can supply multiple tags of that type in the same block.</p>
          +
          +<h3 id="parsed-but-not-in-the-theme-yet">Parsed but not in the theme yet</h3>
          +<p>
          +    The following tags are parsed by the <code>DocParser</code> but are not in the default theme yet.
          +</p>
          +<table>
          +<tr id="author">
          +    <td><code>author</code></td>
          +    <td>
          +<pre class="code prettyprint"></pre>
          +
          +    </td>
          +    <td>Author information about this item</td>
          +</tr>
          +<tr id="broadcast">
          +    <td><code>broadcast</code></td>
          +    <td>
          +<pre class="code prettyprint"></pre>
          +
          +    </td>
          +    <td>Event broadcasts to a large audience than scoped</td>
          +</tr>
          +<tr id="category">
          +    <td><code>*category</code></td>
          +    <td>
          +<pre class="code prettyprint"></pre>
          +
          +    </td>
          +    <td>Category to place this item into.</td>
          +</tr>
          +</table>
          +
          +<h2 id="extra-formatting">Extra formatting</h2>
          +
          +<p>
          +    YUIDoc supports 3 main forms of formatting your documentation. HTML,
          +    <a href="http://daringfireball.net/projects/markdown/">Markdown</a> &amp; <a href="http://rgrove.github.com/selleck/">Selleck</a>.
          +</p>
          +
          +<table>
          +<tr>
          +    <td><code>HTML</code></td>
          +    <td>Doc comments may contain standard HTML markup and YUIDoc will display it as is.</td>
          +</tr>
          +<tr>
          +    <td><code>Markdown</code></td>
          +    <td>Full <a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a>
          +    is also supported.
          +    </td>
          +</tr>
          +<tr>
          +    <td><code>Selleck</code></td>
          +    <td><a href="http://rgrove.github.com/selleck/">Selleck's</a> additional parsing is also supported.</td>
          +</tr>
          +</table>
          +
          +<h3 id="markdown-and-code-highlighting">Markdown and Code Highlighting</h3>
          +
          +<p>
          +Inside any documentation block you may use Markdown or Selleck based markup. If you indent your code snippets
          +YUIDoc will automatically wrap them in a code block and syntax highlight them for you.
          +</p>
          +
          +<pre class="code prettyprint">&#x2F;**
          +This is the __module__ description for the &#x60;YUIDoc&#x60; module.
          +
          +    var options = {
          +        paths: [ &#x27;.&#x2F;lib&#x27; ],
          +        outdir: &#x27;.&#x2F;out&#x27;
          +    };
          +
          +    var Y = require(&#x27;yuidoc&#x27;);
          +    var json = (new Y.YUIDoc(options)).run();
          +
          +@class YUIDoc
          +@main yuidoc
          +*&#x2F;</pre>
          +
          +
          +<p>
          +This is what the above would render to:
          +</p>
          +
          +<div class="intro">
          +<p>This is the <strong>module</strong> description for the <code>YUIDoc</code> module.</p>
          +<pre class="code prettyprint">var options = {
          +    paths: [ &#x27;.&#x2F;lib&#x27; ],
          +    outdir: &#x27;.&#x2F;out&#x27;
          +};
          +
          +var Y = require(&#x27;yuidoc&#x27;);
          +var json = (new Y.YUIDoc(options)).run();</pre>
          +
          +</div>
          +
          +<h3 id="cross-referencing-modules-and-classes">Cross-referencing Modules and Classes</h3>
          +
          +<p>YUIDoc also includes a Handlebars <code>blockHelper</code> that enables you to 
          +easily cross-reference classes and modules. For example, if you include:</p>
          +
          +<pre class="code prettyprint">&#x2F;**
          +
          +This module also uses {{#crossLink &quot;Foo&quot;}}{{&#x2F;crossLink}}, where Foo is a class name.
          +Also see {{#crossLink &quot;myClass&#x2F;Foo&quot;}}{{&#x2F;crossLink}}, where myClass is a class name and Foo is a method on that class.
          +
          +This module uses {{#crossLinkModule &quot;widget&quot;}}{{&#x2F;crossLinkModule}}, where widget is a module name
          +
          +*&#x2F;</pre>
          +
          +
          +<p>
          +This automatically generates an internal link to Foo's API reference page:
          +</p>
          +
          +<pre class="code prettyprint">&lt;p&gt;
          +This module also uses &lt;a href=&quot;..&#x2F;classes&#x2F;Foo.html&quot; class=&quot;crosslink&quot;&gt;Foo&lt;&#x2F;a&gt;, 
          +where Foo is a class or module name.
          +&lt;&#x2F;p&gt;
          +&lt;p&gt;
          +Also see &lt;a href=&quot;..&#x2F;classes&#x2F;myClass.html#method_Foo&quot;&gt;Foo&lt;&#x2F;a&gt;, where myClass 
          +is a class name and Foo is a method on that class.
          +&lt;&#x2F;p&gt;
          +&lt;p&gt;
          +This module uses &lt;a href=&quot;..&#x2F;modules&#x2F;widget.html&quot;&gt;widget&lt;&#x2F;a&gt;, where widget is a module name
          +&lt;&#x2F;p&gt;</pre>
          +
          +
          +<p>
          +You can also call <code>crossLinkRaw</code> to retun only the HREF portion of the link, so you can link it
          +yourself.
          +</p>
          +
          +<h3 id="using-custom-handlebars-block-helpers">Using custom Handlebars block helpers</h3>
          +
          +<p>
          +You can tell <code>YUIDoc</code> to include custom <code>Y.Handlebars</code> helpers with the <code>-H</code> or <code>--helpers</code> command line arguments
          +(or <code>helpers</code> Array in the <code>yuidoc.json</code> file).
          +
          +Here is an example <code>helper.js</code> file:
          +
          +<pre class="code prettyprint">module.exports = {
          +    davglass: function(item) {
          +        return &quot;Dav Glass says: &quot; + item
          +    }
          +};</pre>
          +
          +
          +<p>
          +Now you can use the <code>davglass</code> helper inside your own docs like this:
          +</p>
          +
          +<pre class="code prettyprint">&#x2F;**
          +* This is also a test {{#davglass &quot;Foo&quot;}}{{&#x2F;davglass}}
          +*&#x2F;</pre>
          +
          +
          +This will output this in your documentation:
          +
          +<pre class="code prettyprint">&lt;p&gt;
          + This is also a test Dav Glass says: Foo
          +&lt;&#x2F;p&gt;</pre>
          +
          +</div>
          +            </div>
          +        </div>
          +
          +        <div class="yui3-u-1-4">
          +            <div class="sidebar">
          +                <ul class="links">
          +                    <li><a href="https://github.com/yui/yuidoc/" class="button">Get the Source</a></li>
          +                    <li><a href="https://groups.google.com/forum/#!forum/yuidoc" class="button">Questions? Join the Mailing List</a></li>
          +                    <li><a href="https://github.com/yui/yuidoc/issues/" class="button">File an Issue</a></li>
          +                    <li><a href="../api/" class="button">View API Documentation</a></li>
          +                </ul>
          +                
          +                    <div id="toc" class="sidebox">
          +                        <div class="hd">
          +                            <h2 class="no-toc">Table of Contents</h2>
          +                        </div>
          +
          +                        <div class="bd">
          +                            <ul class="toc">
          +<li>
          +<a href="#basic-requirements">Basic Requirements</a>
          +</li>
          +<li>
          +<a href="#primary-tags">Primary Tags</a>
          +</li>
          +<li>
          +<a href="#secondary-tags">Secondary tags</a>
          +<ul class="toc">
          +<li>
          +<a href="#parsed-but-not-in-the-theme-yet">Parsed but not in the theme yet</a>
          +</li>
          +</ul>
          +</li>
          +<li>
          +<a href="#extra-formatting">Extra formatting</a>
          +<ul class="toc">
          +<li>
          +<a href="#markdown-and-code-highlighting">Markdown and Code Highlighting</a>
          +</li>
          +<li>
          +<a href="#cross-referencing-modules-and-classes">Cross-referencing Modules and Classes</a>
          +</li>
          +<li>
          +<a href="#using-custom-handlebars-block-helpers">Using custom Handlebars block helpers</a>
          +</li>
          +</ul>
          +</li>
          +</ul>
          +                        </div>
          +                    </div>
          +                
          +
          +                
          +
          +                
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +
          +<script src="../assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/output/themes/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/output/themes/index.html
          new file mode 100644
          index 000000000..6a0ea5004
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/output/themes/index.html
          @@ -0,0 +1,198 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>YUIDoc Themes</title>
          +    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Maven+Pro:400,700">
          +    <link rel="stylesheet" href="http://yui.yahooapis.com/3.4.1/build/cssgrids/grids-min.css">
          +    <link rel="stylesheet" href="../assets/css/main.css">
          +    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
          +    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
          +    <script src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js"></script>
          +</head>
          +<body>
          +<a href="https://github.com/yui/yuidoc"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
          +<div id="doc">
          +    <div id="hd">
          +        <h1><img src="http://yuilibrary.com/img/yui-logo.png">YUIDoc Themes</h1>
          +    </div>
          +    
          +    <div class="crumbs">
          +        <a href="../">Main Page</a> <a name="Arrow">&gt;</a> <a href="../themes/index.html">YUIDoc Themes</a>
          +    </div>
          +    
          +    
          +        <a href="#toc" class="jump">Jump to Table of Contents</a>
          +    
          +
          +    <div class="yui3-g">
          +        <div class="yui3-u-3-4">
          +            <div id="main">
          +                <div class="content"><p>
          +    YUIDoc uses <a href="http://handlebarsjs.com/">Handlebars.js</a> to render its templates. 
          +    For easy customization, YUIDoc's default templates provide a specific set of file overrides.
          +</p>
          +
          +<h2 id="directories">Directories</h2>
          +
          +<p>
          +    The default theme consists of <code>assets&#x2F;</code>, <code>layouts&#x2F;</code> and <code>partials&#x2F;</code> directories, 
          +    along with a <code>theme.json</code> file that describes theme-related variables, 
          +    such as the JS and CSS to load.
          +</p>
          +
          +<pre class="code terminal">themes&#x2F;
          +    default&#x2F;
          +        assets&#x2F;             &#x2F;&#x2F;Project assets, css, js
          +        layouts&#x2F;
          +            *.handlebars    &#x2F;&#x2F;Handlebars files for layouts
          +        partials&#x2F;
          +            *.handlebars    &#x2F;&#x2F;Handlebars files for partials
          +        theme.json   &#x2F;&#x2F;JSON file with theme variables</pre>
          +
          +
          +<h3 id="layouts">Layouts</h3>
          +
          +<p>
          +    A YUIDoc template has two primary layout files: <code>main.handlebars</code> and <code>xhr.handlebars</code>.
          +</p>
          +
          +<table>
          +<tr>
          +    <th><code>main</code></th>
          +    <td>
          +        Provides a complete wrapper around every rendered page. 
          +        <code>main.handlebars</code> includes the full HTML header and footer markup, CSS, and JS
          +        for every YUIDoc API page.
          +    </td>
          +</tr>
          +<tr>
          +    <th><code>xhr</code></th>
          +    <td>
          +        Provides a smaller layout for the built-in doc server to use when requesting an individual page via XHR. 
          +        This enables the browser to refresh just the content pane and avoid loading the complete  markup for the entire page.
          +        The <code>xhr</code> template enables YUIDoc to progressively enhance the API documentation in an efficient manner.
          +    </td>
          +</tr>
          +</table>
          +
          +<h3 id="partials">Partials</h3>
          +
          +<p>
          +    For each section of the layout that derives from parsed YUIDoc comment data, 
          +    YUIDoc provides a Handlebars partial. 
          +</p>
          +
          +<table>
          +<tr>
          +    <th><code>index</code></th>
          +    <td>Renders the main index content.</td>
          +</tr>
          +<tr>
          +    <th><code>sidebar</code></th>
          +    <td>Renders the tabview containing the lists of classes and modules.</td>
          +</tr>
          +<tr>
          +    <th><code>options</code></th>
          +    <td>Renders the filter options at the top of the page, which enable the user to hide and show private methods, inherited methods, and so on.</td>
          +</tr>
          +<tr>
          +    <th><code>attrs</code></th>
          +    <td>Renders documentation for an individual YUI Attribute.</td>
          +</tr>
          +<tr>
          +    <th><code>classes</code></th>
          +    <td>Renders documentation for an individual class.</td>
          +</tr>
          +<tr>
          +    <th><code>events</code></th>
          +    <td>Renders documentation for an individual event.</td>
          +</tr>
          +<tr>
          +    <th><code>files</code></th>
          +    <td>Renders the API's source files.</td>
          +</tr>
          +<tr>
          +    <th><code>method</code></th>
          +    <td>Renders documentation for an individual method.</td>
          +</tr>
          +<tr>
          +    <th><code>module</code></th>
          +    <td>Renders documentation for an individual module.</td>
          +</tr>
          +<tr>
          +    <th><code>props</code></th>
          +    <td>Renders documentation for an individual property.</td>
          +</tr>
          +</table>
          +
          +
          +<h2 id="overriding-a-partiallayout">Overriding a Partial/Layout</h2>
          +
          +<p>
          +YUIDoc's <code>--theme</code> option specifies a directory containing 
          +layouts and partials that override the default theme. For example:
          +</p>
          +
          +<pre class="code terminal"><span class="noselect">$ </span>yuidoc --theme .&#x2F;mytheme</pre>
          +
          +
          +<p>
          +causes YUIDoc to inspect the directory <code>.&#x2F;mytheme</code> for template overrides.
          +If this directory contains an override such as <code>.&#x2F;mytheme&#x2F;partials&#x2F;method.handlebars</code>,
          +YUI will parse its internal templates first, then apply the custom <code>method.handlebars</code> partial.
          +If a theme has no explicit override for a given template file, 
          +YUIDoc simply falls back to using the default layout or partial.
          +</p>
          +</div>
          +            </div>
          +        </div>
          +
          +        <div class="yui3-u-1-4">
          +            <div class="sidebar">
          +                <ul class="links">
          +                    <li><a href="https://github.com/yui/yuidoc/" class="button">Get the Source</a></li>
          +                    <li><a href="https://groups.google.com/forum/#!forum/yuidoc" class="button">Questions? Join the Mailing List</a></li>
          +                    <li><a href="https://github.com/yui/yuidoc/issues/" class="button">File an Issue</a></li>
          +                    <li><a href="../api/" class="button">View API Documentation</a></li>
          +                </ul>
          +                
          +                    <div id="toc" class="sidebox">
          +                        <div class="hd">
          +                            <h2 class="no-toc">Table of Contents</h2>
          +                        </div>
          +
          +                        <div class="bd">
          +                            <ul class="toc">
          +<li>
          +<a href="#directories">Directories</a>
          +<ul class="toc">
          +<li>
          +<a href="#layouts">Layouts</a>
          +</li>
          +<li>
          +<a href="#partials">Partials</a>
          +</li>
          +</ul>
          +</li>
          +<li>
          +<a href="#overriding-a-partiallayout">Overriding a Partial/Layout</a>
          +</li>
          +</ul>
          +                        </div>
          +                    </div>
          +                
          +
          +                
          +
          +                
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +
          +<script src="../assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/package.json b/node_modules/grunt-contrib/node_modules/yuidocjs/package.json
          new file mode 100644
          index 000000000..a3cf61396
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/package.json
          @@ -0,0 +1,91 @@
          +{
          +  "name": "yuidocjs",
          +  "version": "0.3.17",
          +  "description": "YUIDoc, YUI's JavaScript Documentation engine.",
          +  "author": {
          +    "name": "Dav Glass",
          +    "email": "davglass@gmail.com"
          +  },
          +  "bugs": {
          +    "url": "http://github.com/yui/yuidoc/issues"
          +  },
          +  "contributors": [
          +    {
          +      "name": "Adam Moore",
          +      "email": "amoore@gmail.com"
          +    },
          +    {
          +      "name": "Ryan Grove",
          +      "email": "ryan@wonko.com"
          +    },
          +    {
          +      "name": "Eric Ferraiuolo",
          +      "email": "eferraiuolo@gmail.com"
          +    },
          +    {
          +      "name": "Felipe Gasper",
          +      "email": "felipe@cpanel.net"
          +    },
          +    {
          +      "name": "Evan Goer",
          +      "email": "evan@goer.org"
          +    },
          +    {
          +      "name": "Alberto Gragera",
          +      "email": "albgra@gmail.com"
          +    },
          +    {
          +      "name": "Pat Cavit",
          +      "email": "pcavit@gmail.com"
          +    }
          +  ],
          +  "engines": {
          +    "node": ">=0.4.0"
          +  },
          +  "keywords": [
          +    "yui",
          +    "jsdoc",
          +    "api",
          +    "documentation",
          +    "javadoc",
          +    "docs",
          +    "apidocs"
          +  ],
          +  "main": "./lib/index",
          +  "bin": {
          +    "yuidoc": "./lib/cli.js"
          +  },
          +  "dependencies": {
          +    "yui": "3.6.0pr3",
          +    "rimraf": "~2.0.0",
          +    "node-markdown": "~0.1.0",
          +    "minimatch": "~0.1.0",
          +    "graceful-fs": ">=1.1.1",
          +    "express": ">=2.3.0"
          +  },
          +  "devDependencies": {
          +    "yuitest": ">=0.7.3",
          +    "selleck": "~0.1"
          +  },
          +  "scripts": {
          +    "test": "make test"
          +  },
          +  "preferGlobal": "true",
          +  "licenses": [
          +    {
          +      "type": "BSD",
          +      "url": "https://github.com/yui/yuidoc/blob/master/LICENSE"
          +    }
          +  ],
          +  "repository": {
          +    "type": "git",
          +    "url": "git://github.com/yui/yuidoc.git"
          +  },
          +  "_id": "yuidocjs@0.3.17",
          +  "optionalDependencies": {},
          +  "_engineSupported": true,
          +  "_npmVersion": "1.1.24",
          +  "_nodeVersion": "v0.6.19",
          +  "_defaultsLoaded": true,
          +  "_from": "yuidocjs@~0.3.14"
          +}
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/docs.sh b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/docs.sh
          new file mode 100755
          index 000000000..1cfca6a5d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/docs.sh
          @@ -0,0 +1,29 @@
          +#!/bin/bash
          +
          +cd "$(dirname "$0")"
          +
          +out=../../yuidoc-pages
          +
          +cd $out
          +
          +out=`pwd`
          +
          +cd -
          +
          +if [ ! -d $out ]; then
          +
          +    echo "Could not find $out"
          +    exit;
          +fi
          +
          +echo "Deploying Doc Files to Github Pages"
          +
          +cd ../
          +wait
          +make docs
          +wait
          +rm -rRf $out/*
          +wait
          +cp -R output/* $out/
          +wait
          +echo "Doc Deploy Complete, checkin and push now."
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/help.sh b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/help.sh
          new file mode 100755
          index 000000000..36ad9f840
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/help.sh
          @@ -0,0 +1,5 @@
          +#!/bin/bash
          +
          +cd "$(dirname "$0")"
          +
          +../lib/cli.js --help 2> ../docs/args/partials/help.mustache
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/prep.sh b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/prep.sh
          new file mode 100755
          index 000000000..68f26a9a8
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/prep.sh
          @@ -0,0 +1,18 @@
          +#!/bin/bash
          +
          +cd "$(dirname "$0")"
          +
          +if [ ! -d ../node_modules ]; then
          +    echo "Dependencies are not installed, installing"
          +    cd ../ && npm install --loglevel silent && cd ./scripts
          +fi
          +
          +if [ ! -x ../node_modules/.bin/yuitest ]; then
          +    echo "YUITest is not installed, installing"
          +    cd ../ && npm install --loglevel silent && cd ./scripts
          +fi
          +
          +if [ -d ../tests/out ]; then
          +    echo "Prior out directory found, removing."
          +    rm -rRf ../tests/out/
          +fi
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/test.sh b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/test.sh
          new file mode 100755
          index 000000000..e341743ec
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/test.sh
          @@ -0,0 +1,19 @@
          +#/bin/bash
          +
          +cd "$(dirname "$0")"
          +
          +./prep.sh
          +cd ../tests/
          +wait
          +cd ./input
          +if [ -L ./test-linked ]; then
          +    rm ./test-linked;
          +fi
          +ln -sf ./test2 ./test-linked
          +wait
          +cd ../
          +wait
          +../node_modules/.bin/yuitest ./parser.js ./builder.js ./options.js
          +
          +exit $?
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/versions.js b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/versions.js
          new file mode 100755
          index 000000000..ec8a329d6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/scripts/versions.js
          @@ -0,0 +1,22 @@
          +#!/usr/bin/env node
          +
          +var path = require('path'),
          +    fs = require('fs'),
          +    package = require(path.join(__dirname, '../', 'package.json')),
          +    version = package.version,
          +    api = path.join(__dirname, '../', 'conf', 'yuidoc.json'),
          +    doc = path.join(__dirname, '../', 'conf', 'docs', 'project.json');
          +
          +console.log('[version]', version);
          +console.log('[api]', api);
          +console.log('[doc]', doc);
          +
          +var apiJSON = require(api),
          +    docJSON = require(doc);
          +
          +apiJSON.version = version;
          +docJSON.version = version;
          +
          +fs.writeFileSync(api, JSON.stringify(apiJSON, null, 2));
          +fs.writeFileSync(doc, JSON.stringify(docJSON, null, 2));
          +console.log('[done]');
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/builder.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/builder.js
          new file mode 100644
          index 000000000..1e0be0efd
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/builder.js
          @@ -0,0 +1,165 @@
          +var YUITest = require('yuitest'),
          +    Assert = YUITest.Assert,
          +    ArrayAssert = YUITest.ArrayAssert,
          +    path = require('path'),
          +    fs = require('fs'),
          +    Y = require(path.join(__dirname, '../', 'lib', 'index'));
          +
          +//Move to the test dir before running the tests.
          +process.chdir(__dirname);
          +
          +var suite = new YUITest.TestSuite({
          +    name: 'Builder Test Suite',
          +    findByName: function(name, cl) {
          +        var items = this.data.classitems,
          +            ret;
          +
          +        items.forEach(function(i) {
          +            if (i.name === name && i.class === cl) {
          +                ret = i;
          +            }
          +        });
          +
          +        return ret;
          +    },
          +    setUp: function() {
          +        var test = this;
          +        var options = {
          +            quiet: true,
          +            paths: [ 'input/' ],
          +            outdir: './out',
          +            helpers: [
          +                path.join(__dirname, 'lib/davglass.js')
          +            ]
          +        };
          +        var json = (new Y.YUIDoc(options)).run();
          +
          +        this.project = json.project;
          +        this.data = json;
          +        
          +        var builder = new Y.DocBuilder(options, json);
          +        builder.compile(function() {
          +            suite._setupComplete = true;
          +        });
          +        this.builder = builder;
          +    }
          +});
          +
          +
          +var exists = fs.existsSync || path.existsSync;
          +
          +suite.add(new YUITest.TestCase({
          +    name: 'Builder setup',
          +    'test: prep': function() {
          +        this.project = suite.project;
          +        this.data = suite.data;
          +        /*
          +            This test is a total crap test, I need to setup something
          +            that is async, but suite's don't appear to support .wait/.resume
          +            so I have to check it in the first test to make sure my
          +            async task in the setup is complete before I can test against it.
          +        */
          +        var test = this;
          +        var timer = setInterval(function() {
          +            if (suite._setupComplete) {
          +                clearInterval(timer);
          +                test.resume(function() {
          +                    Assert.isTrue(suite._setupComplete);
          +                });
          +            }
          +        },500);
          +        this.wait();
          +    },
          +    'test: Directories': function() {
          +        var dirs = ['assets', 'classes', 'files', 'modules'];
          +        dirs.forEach(function(d) {
          +            var p = path.join(__dirname, 'out', d);
          +            Assert.isTrue(exists(p), 'Failed to find: ' + p);
          +        });
          +
          +    },
          +    'test: Assets Directories': function() {
          +        var dirs = ['css', 'js', 'img', 'vendor', 'index.html'];
          +        dirs.forEach(function(d) {
          +            var p = path.join(__dirname, 'out', 'assets', d);
          +            Assert.isTrue(exists(p), 'Failed to find: ' + p);
          +        });
          +
          +    },
          +    'test: index.html': function() {
          +        var p = path.join(__dirname, 'out', 'index.html');
          +        Assert.isTrue(exists(p), 'Failed to find: ' + p)
          +    },
          +    'test: data.json': function() {
          +        var p = path.join(__dirname, 'out', 'data.json');
          +        Assert.isTrue(exists(p), 'Failed to find: ' + p)
          +    },
          +    'test: api.js': function() {
          +        var p = path.join(__dirname, 'out', 'api.js');
          +        Assert.isTrue(exists(p), 'Failed to find: ' + p)
          +    },
          +    'test: classes/JSON.html': function() {
          +        var p = path.join(__dirname, 'out', 'classes', 'JSON.html');
          +        Assert.isTrue(exists(p), 'Failed to find: ' + p)
          +    },
          +    'test: files name filter': function() {
          +        var dir = path.join(__dirname, 'out', 'files');
          +        var files = fs.readdirSync(dir);
          +        files.forEach(function(file) {
          +            Assert.isTrue(((file.indexOf('input_') ===0) || file.indexOf('index.html') === 0), 'Filed to parse: ' + file);
          +        });
          +    },
          +    'test: module files': function() {
          +        var mods = this.data.modules;
          +        Object.keys(mods).forEach(function(name) {
          +            var m = mods[name];
          +            var p = path.join(__dirname, 'out', 'modules', m.name + '.html');
          +            Assert.isTrue(exists(p), 'Failed to render: ' + m.name + '.html');
          +        });
          +    },
          +    'test: class files': function() {
          +        var mods = this.data.classes;
          +        Object.keys(mods).forEach(function(name) {
          +            var m = mods[name];
          +            var p = path.join(__dirname, 'out', 'classes', m.name + '.html');
          +            Assert.isTrue(exists(p), 'Failed to render: ' + m.name + '.html');
          +        });
          +    }
          +}));
          +
          +suite.add(new YUITest.TestCase({
          +    name: 'Builder Augmentation Tests',
          +    'test: inherited methods': function() {
          +        var item = suite.data.classes['mywidget.SubWidget'];
          +        Assert.isObject(item, 'Failed to parse class');
          +        suite.builder.renderClass(function(html, view, opts) {
          +            var method;
          +            opts.meta.methods.forEach(function(i) {
          +                if (i.name === 'myMethod' && i.class === 'mywidget.SubWidget') {
          +                    method = i;
          +                }
          +            });
          +
          +            Assert.isObject(method, 'Failed to find inherited method');
          +            Assert.isObject(method.overwritten_from, 'Failed to find overwritten data');
          +        }, item);
          +    },
          +    'test: helper methods': function() {
          +        var item = suite.data.classes['mywidget.SuperWidget'];
          +        Assert.isObject(item, 'Failed to parse class');
          +        suite.builder.renderClass(function(html, view, opts) {
          +            var method;
          +            opts.meta.methods.forEach(function(i) {
          +                if (i.name === 'getTargets2' && i.class === 'mywidget.SuperWidget') {
          +                    method = i;
          +                }
          +            });
          +
          +            Assert.isObject(method, 'Failed to find inherited method');
          +            Assert.isTrue((method.description.indexOf('DAVGLASS_WAS_HERE::Foo') > 0), 'Helper failed to parse');
          +        }, item);
          +    }
          +}));
          +
          +
          +YUITest.TestRunner.add(suite);
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSeries.js
          new file mode 100644
          index 000000000..ee04a99de
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSeries.js
          @@ -0,0 +1,91 @@
          +/**
          + * The AreaSeries class renders quantitative data on a graph by creating a fill between 0
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class AreaSeries
          + * @extends CartesianSeries
          + * @uses Fills
          + * @constructor
          + */
          +Y.AreaSeries = Y.Base.create("areaSeries", Y.CartesianSeries, [Y.Fills], {
          +    /**
          +     * @protected
          +     *
          +     * Renders the series. 
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this.drawFill.apply(this, this._getClosingPoints());
          +    },
          +    
          +    /**
          +     * @protected
          +     *
          +     * Method used by `styles` setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     */
          +    _setStyles: function(val)
          +    {
          +        if(!val.area)
          +        {
          +            val = {area:val};
          +        }
          +        return Y.AreaSeries.superclass._setStyles.apply(this, [val]);
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({area:this._getAreaDefaults()}, Y.AreaSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default area
          +         */
          +        type: {
          +            value:"area"
          +        }
          +        
          +        /**
          +         * Style properties used for drawing area fills. This attribute is inherited from `Renderer`. Below are the default values:
          +         *
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *      </dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSplineSeries.js
          new file mode 100644
          index 000000000..9308cdeff
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AreaSplineSeries.js
          @@ -0,0 +1,52 @@
          +/**
          + * AreaSplineSeries renders an area graph with data points connected by a curve.
          + *
          + * @module charts
          + * @class AreaSplineSeries
          + * @constructor
          + * @extends CartesianSeries
          + * @uses Fills
          + * @uses CurveUtil
          + */
          +Y.AreaSplineSeries = Y.Base.create("areaSplineSeries", Y.CartesianSeries, [Y.Fills, Y.CurveUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this.drawAreaSpline();
          +    }
          +}, {
          +	ATTRS : {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default areaSpline
          +         */
          +        type: {
          +            value:"areaSpline"
          +        }
          +        
          +        /**
          +         * Style properties used for drawing area fills. This attribute is inherited from `Renderer`. Below are the default values:
          +         *
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *      </dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Axis.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Axis.js
          new file mode 100644
          index 000000000..ae6076631
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Axis.js
          @@ -0,0 +1,1516 @@
          +/**
          + * The Axis class. Generates axes for a chart.
          + *
          + * @module charts
          + * @class Axis
          + * @extends Widget
          + * @uses Renderer
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + */
          +Y.Axis = Y.Base.create("axis", Y.Widget, [Y.Renderer], {
          +    /**
          +     * Storage for calculatedWidth value.
          +     *
          +     * @property _calculatedWidth
          +     * @type Number
          +     * @private
          +     */
          +    _calculatedWidth: 0,
          +
          +    /**
          +     * Storage for calculatedHeight value.
          +     *
          +     * @property _calculatedHeight
          +     * @type Number
          +     * @private
          +     */
          +    _calculatedHeight: 0,
          +
          +    /**
          +     * Handles change to the dataProvider
          +     * 
          +     * @method _dataChangeHandler
          +     * @param {Object} e Event object
          +     * @private
          +     */
          +    _dataChangeHandler: function(e)
          +    {
          +        if(this.get("rendered"))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +
          +    /**
          +     * Handles change to the position attribute
          +     *
          +     * @method _positionChangeHandler
          +     * @param {Object} e Event object
          +     * @private
          +     */
          +    _positionChangeHandler: function(e)
          +    {
          +        this._updateGraphic(e.newVal);
          +        this._updateHandler();
          +    },
          +
          +    /**
          +     * Updates the the Graphic instance
          +     *
          +     * @method _updateGraphic
          +     * @param {String} position Position of axis 
          +     * @private
          +     */
          +    _updateGraphic: function(position)
          +    {
          +        var graphic = this.get("graphic");
          +        if(position == "none")
          +        {
          +            if(graphic)
          +            {
          +                graphic.destroy();
          +            }
          +        }
          +        else
          +        {
          +            if(!graphic)
          +            {
          +                this._setCanvas();
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Handles changes to axis.
          +     *
          +     * @method _updateHandler
          +     * @param {Object} e Event object
          +     * @private
          +     */
          +    _updateHandler: function(e)
          +    {
          +        if(this.get("rendered"))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +   
          +    /**
          +     * @method renderUI
          +     * @private
          +     */
          +    renderUI: function()
          +    {
          +        this._updateGraphic(this.get("position"));
          +    },
          +
          +    /**
          +     * @method syncUI
          +     * @private
          +     */
          +    syncUI: function()
          +    {
          +        var layout = this._layout,
          +            defaultMargins,
          +            styles,
          +            label,
          +            title,
          +            i;
          +        if(layout)
          +        {
          +            defaultMargins = layout._getDefaultMargins();
          +            styles = this.get("styles");
          +            label = styles.label.margin;
          +            title =styles.title.margin;
          +            //need to defaultMargins method to the layout classes.
          +            for(i in defaultMargins)
          +            {
          +                if(defaultMargins.hasOwnProperty(i))
          +                {
          +                    label[i] = label[i] === undefined ? defaultMargins[i] : label[i];
          +                    title[i] = title[i] === undefined ? defaultMargins[i] : title[i];
          +                }
          +            }
          +        }
          +        this._drawAxis();
          +    },
          +
          +    /**
          +     * Creates a graphic instance to be used for the axis line and ticks.
          +     *
          +     * @method _setCanvas
          +     * @private
          +     */
          +    _setCanvas: function()
          +    {
          +        var cb = this.get("contentBox"),
          +            bb = this.get("boundingBox"),
          +            p = this.get("position"),
          +            pn = this._parentNode,
          +            w = this.get("width"),
          +            h = this.get("height");
          +        bb.setStyle("position", "absolute");
          +        bb.setStyle("zIndex", 2);
          +        w = w ? w + "px" : pn.getStyle("width");
          +        h = h ? h + "px" : pn.getStyle("height");
          +        if(p === "top" || p === "bottom")
          +        {
          +            cb.setStyle("width", w);
          +        }
          +        else
          +        {
          +            cb.setStyle("height", h);
          +        }
          +        cb.setStyle("position", "relative");
          +        cb.setStyle("left", "0px");
          +        cb.setStyle("top", "0px");
          +        this.set("graphic", new Y.Graphic());
          +        this.get("graphic").render(cb);
          +    },
          +	
          +    /**
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var axisstyles = {
          +            majorTicks: {
          +                display:"inside",
          +                length:4,
          +                color:"#dad8c9",
          +                weight:1,
          +                alpha:1
          +            },
          +            minorTicks: {
          +                display:"none",
          +                length:2,
          +                color:"#dad8c9",
          +                weight:1
          +            },
          +            line: {
          +                weight:1,
          +                color:"#dad8c9",
          +                alpha:1
          +            },
          +            majorUnit: {
          +                determinant:"count",
          +                count:11,
          +                distance:75
          +            },
          +            top: "0px",
          +            left: "0px",
          +            width: "100px",
          +            height: "100px",
          +            label: {
          +                color:"#808080",
          +                alpha: 1,
          +                fontSize:"85%",
          +                rotation: 0,
          +                margin: {
          +                    top: undefined,
          +                    right: undefined,
          +                    bottom: undefined,
          +                    left: undefined
          +                }
          +            },
          +            title: {
          +                color:"#808080",
          +                alpha: 1,
          +                fontSize:"85%",
          +                rotation: undefined,
          +                margin: {
          +                    top: undefined,
          +                    right: undefined,
          +                    bottom: undefined,
          +                    left: undefined
          +                }
          +            },
          +            hideOverlappingLabelTicks: false
          +        };
          +        
          +        return Y.merge(Y.Renderer.prototype._getDefaultStyles(), axisstyles); 
          +    },
          +
          +    /**
          +     * Updates the axis when the size changes.
          +     *
          +     * @method _handleSizeChange
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _handleSizeChange: function(e)
          +    {
          +        var attrName = e.attrName,
          +            pos = this.get("position"),
          +            vert = pos == "left" || pos == "right",
          +            cb = this.get("contentBox"),
          +            hor = pos == "bottom" || pos == "top";
          +        cb.setStyle("width", this.get("width"));
          +        cb.setStyle("height", this.get("height"));
          +        if((hor && attrName == "width") || (vert && attrName == "height"))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +   
          +    /**
          +     * Maps key values to classes containing layout algorithms
          +     *
          +     * @property _layoutClasses
          +     * @type Object
          +     * @private
          +     */
          +    _layoutClasses: 
          +    {
          +        top : TopAxisLayout,
          +        bottom: BottomAxisLayout,
          +        left: LeftAxisLayout,
          +        right : RightAxisLayout
          +    },
          +    
          +    /**
          +     * Draws a line segment between 2 points
          +     *
          +     * @method drawLine
          +     * @param {Object} startPoint x and y coordinates for the start point of the line segment
          +     * @param {Object} endPoint x and y coordinates for the for the end point of the line segment
          +     * @param {Object} line styles (weight, color and alpha to be applied to the line segment)
          +     * @private
          +     */
          +    drawLine: function(path, startPoint, endPoint)
          +    {
          +        path.moveTo(startPoint.x, startPoint.y);
          +        path.lineTo(endPoint.x, endPoint.y);
          +    },
          +
          +    /**
          +     * Generates the properties necessary for rotating and positioning a text field.
          +     *
          +     * @method _getTextRotationProps
          +     * @param {Object} styles properties for the text field
          +     * @return Object
          +     * @private
          +     */
          +    _getTextRotationProps: function(styles)
          +    {
          +        if(styles.rotation === undefined)
          +        {
          +            switch(this.get("position"))
          +            {
          +                case "left" :
          +                    styles.rotation = -90;
          +                break; 
          +                case "right" : 
          +                    styles.rotation = 90;
          +                break;
          +                default :
          +                    styles.rotation = 0;
          +                break;
          +            }
          +        }
          +        var rot =  Math.min(90, Math.max(-90, styles.rotation)),
          +            absRot = Math.abs(rot),
          +            radCon = Math.PI/180,
          +            sinRadians = parseFloat(parseFloat(Math.sin(absRot * radCon)).toFixed(8)),
          +            cosRadians = parseFloat(parseFloat(Math.cos(absRot * radCon)).toFixed(8));
          +        return {
          +            rot: rot,
          +            absRot: absRot,
          +            radCon: radCon,
          +            sinRadians: sinRadians,
          +            cosRadians: cosRadians,
          +            textAlpha: styles.alpha
          +        };
          +    },
          +
          +    /**
          +     * Draws an axis. 
          +     *
          +     * @method _drawAxis
          +     * @private
          +     */
          +    _drawAxis: function ()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        if(this._layout)
          +        {
          +            var styles = this.get("styles"),
          +                line = styles.line,
          +                labelStyles = styles.label,
          +                majorTickStyles = styles.majorTicks,
          +                drawTicks = majorTickStyles.display != "none",
          +                tickPoint,
          +                majorUnit = styles.majorUnit,
          +                len,
          +                majorUnitDistance,
          +                i = 0,
          +                layout = this._layout,
          +                layoutLength,
          +                position,
          +                lineStart,
          +                label,
          +                labelWidth,
          +                labelHeight,
          +                labelFunction = this.get("labelFunction"),
          +                labelFunctionScope = this.get("labelFunctionScope"),
          +                labelFormat = this.get("labelFormat"),
          +                graphic = this.get("graphic"),
          +                path = this.get("path"),
          +                tickPath,
          +                explicitlySized;
          +            this._labelWidths = [];
          +            this._labelHeights = [];
          +            graphic.set("autoDraw", false);
          +            path.clear();
          +            path.set("stroke", {
          +                weight: line.weight, 
          +                color: line.color, 
          +                opacity: line.alpha
          +            });
          +            this._labelRotationProps = this._getTextRotationProps(labelStyles);
          +            this._labelRotationProps.transformOrigin = layout._getTransformOrigin(this._labelRotationProps.rot);
          +            layout.setTickOffsets.apply(this);
          +            layoutLength = this.getLength();
          +            lineStart = layout.getLineStart.apply(this);
          +            len = this.getTotalMajorUnits(majorUnit);
          +            majorUnitDistance = this.getMajorUnitDistance(len, layoutLength, majorUnit);
          +            this.set("edgeOffset", this.getEdgeOffset(len, layoutLength) * 0.5);
          +            if(len < 1)
          +            {
          +                this._clearLabelCache();
          +            }
          +            else
          +            {
          +                tickPoint = this.getFirstPoint(lineStart);
          +                this.drawLine(path, lineStart, this.getLineEnd(tickPoint));
          +                if(drawTicks) 
          +                {
          +                    tickPath = this.get("tickPath");
          +                    tickPath.clear();
          +                    tickPath.set("stroke", {
          +                        weight: majorTickStyles.weight,
          +                        color: majorTickStyles.color,
          +                        opacity: majorTickStyles.alpha
          +                    });
          +                   layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);
          +                }
          +                this._createLabelCache();
          +                this._tickPoints = [];
          +                this._maxLabelSize = 0; 
          +                this._totalTitleSize = 0;
          +                this._titleSize = 0;
          +                this._setTitle();
          +                explicitlySized = layout.getExplicitlySized.apply(this, [styles]);
          +                for(; i < len; ++i)
          +                {
          +                    if(drawTicks) 
          +                    {
          +                        layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);
          +                    }
          +                    position = this.getPosition(tickPoint);
          +                    label = this.getLabel(tickPoint, labelStyles);
          +                    this._labels.push(label);
          +                    this._tickPoints.push({x:tickPoint.x, y:tickPoint.y});
          +                    this.get("appendLabelFunction")(label, labelFunction.apply(labelFunctionScope, [this.getLabelByIndex(i, len), labelFormat]));
          +                    labelWidth = Math.round(label.offsetWidth);
          +                    labelHeight = Math.round(label.offsetHeight);
          +                    if(!explicitlySized)
          +                    {
          +                        this._layout.updateMaxLabelSize.apply(this, [labelWidth, labelHeight]);
          +                    }
          +                    this._labelWidths.push(labelWidth);
          +                    this._labelHeights.push(labelHeight);
          +                    tickPoint = this.getNextPoint(tickPoint, majorUnitDistance);
          +                }
          +                this._clearLabelCache();
          +                if(this.get("overlapGraph"))
          +                {
          +                   layout.offsetNodeForTick.apply(this, [this.get("contentBox")]);
          +                }
          +                layout.setCalculatedSize.apply(this);
          +                if(this._titleTextField)
          +                {
          +                    this._layout.positionTitle.apply(this, [this._titleTextField]);
          +                }
          +                for(i = 0; i < len; ++i)
          +                {
          +                    layout.positionLabel.apply(this, [this.get("labels")[i], this._tickPoints[i], styles, i]);
          +                }
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawAxis();
          +        }
          +        else
          +        {
          +            this._updatePathElement();
          +            this.fire("axisRendered");
          +        }
          +    },
          +    
          +    /**
          +     * Calculates and sets the total size of a title.
          +     *
          +     * @method _setTotalTitleSize
          +     * @param {Object} styles Properties for the title field.
          +     * @private
          +     */
          +    _setTotalTitleSize: function(styles)
          +    {
          +        var title = this._titleTextField,
          +            w = title.offsetWidth,
          +            h = title.offsetHeight,
          +            rot = this._titleRotationProps.rot,
          +            bounds,
          +            size,
          +            margin = styles.margin,
          +            position = this.get("position"),
          +            matrix = new Y.Matrix();
          +        matrix.rotate(rot);
          +        bounds = matrix.getContentRect(w, h);
          +        if(position == "left" || position == "right")
          +        {
          +            size = bounds.right - bounds.left;
          +            if(margin)
          +            {
          +                size += margin.left + margin.right;
          +            }
          +        }
          +        else
          +        {
          +            size = bounds.bottom - bounds.top;
          +            if(margin)
          +            {
          +                size += margin.top + margin.bottom;
          +            }
          +        }
          +        this._titleBounds = bounds;
          +        this._totalTitleSize = size;
          +    },
          +
          +    /**
          +     *  Updates path.
          +     *
          +     *  @method _updatePathElement
          +     *  @private
          +     */
          +    _updatePathElement: function()
          +    {
          +        var path = this._path,
          +            tickPath = this._tickPath,
          +            redrawGraphic = false,
          +            graphic = this.get("graphic");
          +        if(path)
          +        {
          +            redrawGraphic = true;
          +            path.end();
          +        }
          +        if(tickPath)
          +        {
          +            redrawGraphic = true;
          +            tickPath.end();
          +        }
          +        if(redrawGraphic)
          +        {
          +            graphic._redraw();
          +        }
          +    },
          +
          +    /**
          +     * Updates the content and style properties for a title field.
          +     *
          +     * @method _updateTitle
          +     * @private
          +     */
          +    _setTitle: function()
          +    {
          +        var i,
          +            styles,
          +            customStyles,
          +            title = this.get("title"),
          +            titleTextField = this._titleTextField,
          +            parentNode;
          +        if(title !== null && title !== undefined)
          +        {
          +            customStyles = {
          +                    rotation: "rotation",
          +                    margin: "margin",
          +                    alpha: "alpha"
          +            };
          +            styles = this.get("styles").title;
          +            if(!titleTextField)
          +            {
          +                titleTextField = DOCUMENT.createElement('span');
          +                titleTextField.style.display = "block";
          +                titleTextField.style.whiteSpace = "nowrap";
          +                titleTextField.setAttribute("class", "axisTitle");
          +                this.get("contentBox").append(titleTextField);
          +            }
          +            else if(!DOCUMENT.createElementNS)
          +            {
          +                if(titleTextField.style.filter)
          +                {
          +                    titleTextField.style.filter = null;
          +                }
          +            }
          +            titleTextField.style.position = "absolute";
          +            for(i in styles)
          +            {
          +                if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i))
          +                {
          +                    titleTextField.style[i] = styles[i];
          +                }
          +            }
          +            this.get("appendTitleFunction")(titleTextField, title);
          +            this._titleTextField = titleTextField;
          +            this._titleRotationProps = this._getTextRotationProps(styles);
          +            this._setTotalTitleSize(styles);
          +        }
          +        else if(titleTextField)
          +        {
          +            parentNode = titleTextField.parentNode;
          +            if(parentNode)
          +            {
          +                parentNode.removeChild(titleTextField);
          +            }
          +            this._titleTextField = null;
          +            this._totalTitleSize = 0;
          +        }
          +    },
          +
          +    /**
          +     * Creates or updates an axis label.
          +     *
          +     * @method getLabel
          +     * @param {Object} pt x and y coordinates for the label
          +     * @param {Object} styles styles applied to label
          +     * @return HTMLElement 
          +     * @private
          +     */
          +    getLabel: function(pt, styles)
          +    {
          +        var i,
          +            label,
          +            labelCache = this._labelCache,
          +            customStyles = {
          +                rotation: "rotation",
          +                margin: "margin",
          +                alpha: "alpha"
          +            };
          +        if(labelCache && labelCache.length > 0)
          +        {
          +            label = labelCache.shift();
          +        }
          +        else
          +        {
          +            label = DOCUMENT.createElement("span");
          +            label.className = Y.Lang.trim([label.className, "axisLabel"].join(' '));
          +            this.get("contentBox").append(label);
          +        }
          +        if(!DOCUMENT.createElementNS)
          +        {
          +            if(label.style.filter)
          +            {
          +                label.style.filter = null;
          +            }
          +        }
          +        label.style.display = "block";
          +        label.style.whiteSpace = "nowrap";
          +        label.style.position = "absolute";
          +        for(i in styles)
          +        {
          +            if(styles.hasOwnProperty(i) && !customStyles.hasOwnProperty(i))
          +            {
          +                label.style[i] = styles[i];
          +            }
          +        }
          +        return label;
          +    },
          +
          +    /**
          +     * Creates a cache of labels that can be re-used when the axis redraws.
          +     *
          +     * @method _createLabelCache
          +     * @private
          +     */
          +    _createLabelCache: function()
          +    {
          +        if(this._labels)
          +        {
          +            while(this._labels.length > 0)
          +            {
          +                this._labelCache.push(this._labels.shift());
          +            }
          +        }
          +        else
          +        {
          +            this._clearLabelCache();
          +        }
          +        this._labels = [];
          +    },
          +    
          +    /**
          +     * Removes axis labels from the dom and clears the label cache.
          +     *
          +     * @method _clearLabelCache
          +     * @private
          +     */
          +    _clearLabelCache: function()
          +    {
          +        if(this._labelCache)
          +        {
          +            var len = this._labelCache.length,
          +                i = 0,
          +                label;
          +            for(; i < len; ++i)
          +            {
          +                label = this._labelCache[i];
          +                this._removeChildren(label);
          +                Y.Event.purgeElement(label, true);
          +                label.parentNode.removeChild(label);
          +            }
          +        }
          +        this._labelCache = [];
          +    },
          +
          +    /**
          +     * Gets the end point of an axis.
          +     *
          +     * @method getLineEnd
          +     * @return Object
          +     * @private 
          +     */
          +    getLineEnd: function(pt)
          +    {
          +        var w = this.get("width"),
          +            h = this.get("height"),
          +            pos = this.get("position");
          +        if(pos === "top" || pos === "bottom")
          +        {
          +            return {x:w, y:pt.y};
          +        }
          +        else
          +        {
          +            return {x:pt.x, y:h};
          +        }
          +    },
          +
          +    /**
          +     * Calcuates the width or height of an axis depending on its direction.
          +     *
          +     * @method getLength
          +     * @return Number
          +     * @private
          +     */
          +    getLength: function()
          +    {
          +        var l,
          +            style = this.get("styles"),
          +            padding = style.padding,
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            pos = this.get("position");
          +        if(pos === "top" || pos === "bottom")
          +        {
          +            l = w - (padding.left + padding.right);
          +        }
          +        else
          +        {
          +            l = h - (padding.top + padding.bottom);
          +        }
          +        return l;
          +    },
          +
          +    /**
          +     * Gets the position of the first point on an axis.
          +     *
          +     * @method getFirstPoint
          +     * @param {Object} pt Object containing x and y coordinates.
          +     * @return Object
          +     * @private
          +     */
          +    getFirstPoint:function(pt)
          +    {
          +        var style = this.get("styles"),
          +            pos = this.get("position"),
          +            padding = style.padding,
          +            np = {x:pt.x, y:pt.y};
          +        if(pos === "top" || pos === "bottom")
          +        {
          +            np.x += padding.left + this.get("edgeOffset");
          +        }
          +        else
          +        {
          +            np.y += this.get("height") - (padding.top + this.get("edgeOffset"));
          +        }
          +        return np;
          +    },
          +
          +    /**
          +     * Gets the position of the next point on an axis.
          +     *
          +     * @method getNextPoint
          +     * @param {Object} point Object containing x and y coordinates.
          +     * @param {Number} majorUnitDistance Distance in pixels between ticks.
          +     * @return Object
          +     * @private
          +     */
          +    getNextPoint: function(point, majorUnitDistance)
          +    {
          +        var pos = this.get("position");
          +        if(pos === "top" || pos === "bottom")
          +        {
          +            point.x = point.x + majorUnitDistance;		
          +        }
          +        else
          +        {
          +            point.y = point.y - majorUnitDistance;
          +        }
          +        return point;
          +    },
          +
          +    /**
          +     * Calculates the placement of last tick on an axis.
          +     *
          +     * @method getLastPoint
          +     * @return Object
          +     * @private 
          +     */
          +    getLastPoint: function()
          +    {
          +        var style = this.get("styles"),
          +            padding = style.padding,
          +            w = this.get("width"),
          +            pos = this.get("position");
          +        if(pos === "top" || pos === "bottom")
          +        {
          +            return {x:w - padding.right, y:padding.top};
          +        }
          +        else
          +        {
          +            return {x:padding.left, y:padding.top};
          +        }
          +    },
          +
          +    /**
          +     * Calculates position on the axis.
          +     *
          +     * @method getPosition
          +     * @param {Object} point contains x and y values
          +     * @private 
          +     */
          +    getPosition: function(point)
          +    {
          +        var p,
          +            h = this.get("height"),
          +            style = this.get("styles"),
          +            padding = style.padding,
          +            pos = this.get("position"),
          +            dataType = this.get("dataType");
          +        if(pos === "left" || pos === "right") 
          +        {
          +            //Numeric data on a vertical axis is displayed from bottom to top.
          +            //Categorical and Timeline data is displayed from top to bottom.
          +            if(dataType === "numeric")
          +            {
          +                p = (h - (padding.top + padding.bottom)) - (point.y - padding.top);
          +            }
          +            else
          +            {
          +                p = point.y - padding.top;
          +            }
          +        }
          +        else
          +        {
          +            p = point.x - padding.left;
          +        }
          +        return p;
          +    },
          +
          +    /**
          +     * Rotates and positions a text field.
          +     *
          +     * @method _rotate
          +     * @param {HTMLElement} label text field to rotate and position
          +     * @param {Object} props properties to be applied to the text field. 
          +     * @private
          +     */
          +    _rotate: function(label, props)
          +    {
          +        var rot = props.rot,
          +            x = props.x,
          +            y = props.y,
          +            filterString,
          +            textAlpha,
          +            matrix = new Y.Matrix(),
          +            transformOrigin = props.transformOrigin || [0, 0],
          +            offsetRect;
          +        if(DOCUMENT.createElementNS)
          +        {
          +            matrix.translate(x, y);
          +            matrix.rotate(rot);
          +            label.style.MozTransformOrigin = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
          +            label.style.MozTransform = matrix.toCSSText();
          +            label.style.webkitTransformOrigin = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
          +            label.style.webkitTransform = matrix.toCSSText();
          +            label.style.msTransformOrigin = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
          +            label.style.msTransform = matrix.toCSSText();
          +            label.style.OTransformOrigin = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";
          +            label.style.OTransform = matrix.toCSSText();
          +        }
          +        else
          +        {
          +            textAlpha = props.textAlpha;
          +            if(Y_Lang.isNumber(textAlpha) && textAlpha < 1 && textAlpha > -1 && !isNaN(textAlpha))
          +            {
          +                filterString = "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + Math.round(textAlpha * 100) + ")";
          +            }
          +            if(rot !== 0)
          +            {
          +                //ms filters kind of, sort of uses a transformOrigin of 0, 0. 
          +                //we'll translate the difference to create a true 0, 0 origin.
          +                matrix.rotate(rot);
          +                offsetRect = matrix.getContentRect(props.labelWidth, props.labelHeight);
          +                matrix.init();
          +                matrix.translate(offsetRect.left, offsetRect.top);
          +                matrix.translate(x, y);
          +                this._simulateRotateWithTransformOrigin(matrix, rot, transformOrigin, props.labelWidth, props.labelHeight);
          +                if(filterString)
          +                {
          +                    filterString += " ";
          +                }
          +                else
          +                {
          +                    filterString = ""; 
          +                }
          +                filterString += matrix.toFilterText();
          +                label.style.left = matrix.dx + "px";
          +                label.style.top = matrix.dy + "px";
          +            }
          +            else
          +            {
          +                label.style.left = x + "px";
          +                label.style.top = y + "px";
          +            }
          +            if(filterString)
          +            {
          +                label.style.filter = filterString;
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Simulates a rotation with a specified transformOrigin. 
          +     *
          +     * @method _simulateTransformOrigin
          +     * @param {Matrix} matrix Reference to a `Matrix` instance.
          +     * @param {Number} rot The rotation (in degrees) that will be performed on a matrix.
          +     * @param {Array} transformOrigin An array represeniting the origin in which to perform the transform. The first 
          +     * index represents the x origin and the second index represents the y origin.
          +     * @param {Number} w The width of the object that will be transformed.
          +     * @param {Number} h The height of the object that will be transformed.
          +     * @private
          +     */
          +    _simulateRotateWithTransformOrigin: function(matrix, rot, transformOrigin, w, h)
          +    {
          +        var transformX = transformOrigin[0] * w,
          +            transformY = transformOrigin[1] * h;
          +        transformX = !isNaN(transformX) ? transformX : 0;
          +        transformY = !isNaN(transformY) ? transformY : 0;
          +        matrix.translate(transformX, transformY);
          +        matrix.rotate(rot);
          +        matrix.translate(-transformX, -transformY);
          +    },
          +
          +    /**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of the last label. 
          +     *
          +     * @method getMaxLabelBounds
          +     * @return Object
          +     */
          +    getMaxLabelBounds: function()
          +    {
          +        return this._getLabelBounds(this.getMaximumValue());
          +    },
          +
          +    /**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of the first label. 
          +     *
          +     * @method getMinLabelBounds
          +     * @return Object
          +     */
          +    getMinLabelBounds: function()
          +    {
          +        return this._getLabelBounds(this.getMinimumValue());
          +    },
          +    
          +    /**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of a label. 
          +     *
          +     * @method _getLabelBounds
          +     * @param {String} Value of the label
          +     * @return Object
          +     * @private
          +     */
          +    _getLabelBounds: function(val)
          +    {
          +        var layout = this._layout,
          +            labelStyles = this.get("styles").label,
          +            matrix = new Y.Matrix(),
          +            label,
          +            props = this._getTextRotationProps(labelStyles);
          +            props.transformOrigin = layout._getTransformOrigin(props.rot);
          +        label = this.getLabel({x: 0, y: 0}, labelStyles);
          +        this.get("appendLabelFunction")(label, this.get("labelFunction").apply(this, [val, this.get("labelFormat")]));
          +        props.labelWidth = label.offsetWidth;
          +        props.labelHeight = label.offsetHeight;
          +        this._removeChildren(label);
          +        Y.Event.purgeElement(label, true);
          +        label.parentNode.removeChild(label);
          +        props.x = 0;
          +        props.y = 0;
          +        layout._setRotationCoords(props);
          +        matrix.translate(props.x, props.y);
          +        this._simulateRotateWithTransformOrigin(matrix, props.rot, props.transformOrigin, props.labelWidth, props.labelHeight);
          +        return matrix.getContentRect(props.labelWidth, props.labelHeight);
          +    },
          +
          +    /**
          +     * Removes all DOM elements from an HTML element. Used to clear out labels during detruction
          +     * phase.
          +     *
          +     * @method _removeChildren
          +     * @private
          +     */
          +    _removeChildren: function(node)
          +    {
          +        if(node.hasChildNodes())
          +        {
          +            var child;
          +            while(node.firstChild)
          +            {
          +                child = node.firstChild;
          +                this._removeChildren(child);
          +                node.removeChild(child);
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        var cb = this.get("contentBox").getDOMNode(),
          +            labels = this.get("labels"),
          +            graphic = this.get("graphic"),
          +            label,
          +            len = labels ? labels.length : 0;
          +        if(len > 0)
          +        {
          +            while(labels.length > 0)
          +            {
          +                label = labels.shift();
          +                this._removeChildren(label);
          +                cb.removeChild(label);
          +                label = null;
          +            }
          +        }
          +        if(graphic)
          +        {
          +            graphic.destroy();
          +        }
          +    },
          +
          +    /**
          +     * Length in pixels of largest text bounding box. Used to calculate the height of the axis.
          +     *
          +     * @property maxLabelSize
          +     * @type Number
          +     * @protected
          +     */
          +    _maxLabelSize: 0,
          +    
          +    /**
          +     * Updates the content of text field. This method writes a value into a text field using 
          +     * `appendChild`. If the value is a `String`, it is converted to a `TextNode` first. 
          +     *
          +     * @method _setText
          +     * @param label {HTMLElement} label to be updated
          +     * @param val {String} value with which to update the label
          +     * @private
          +     */
          +    _setText: function(textField, val)
          +    { 
          +        textField.innerHTML = "";
          +        if(Y_Lang.isNumber(val))
          +        {
          +            val = val + "";
          +        }
          +        else if(!val)
          +        {
          +            val = "";
          +        }
          +        if(IS_STRING(val))
          +        {
          +            val = DOCUMENT.createTextNode(val);
          +        }
          +        textField.appendChild(val);
          +    }
          +}, {
          +    ATTRS: 
          +    {
          +        /**
          +         * When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based on their contents. When the
          +         * width attribute is set, the axis will not calculate its width. When the width attribute is explicitly set, axis labels will postion themselves off of the 
          +         * the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified width is less than the sum of 
          +         * the axis' contents, excess content will overflow.
          +         *
          +         * @attribute width
          +         * @type Number
          +         */
          +        width: {
          +            lazyAdd: false,
          +
          +            getter: function() 
          +            {
          +                if(this._explicitWidth)
          +                {
          +                    return this._explicitWidth;        
          +                }
          +                return this._calculatedWidth;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._explicitWidth = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based on their contents. When the
          +         * height attribute is set, the axis will not calculate its height. When the height attribute is explicitly set, axis labels will postion themselves off of the 
          +         * the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified height is less than the sum of 
          +         * the axis' contents, excess content will overflow.
          +         *
          +         * @attribute height
          +         * @type Number
          +         */
          +        height: {
          +            lazyAdd: false,
          +
          +            getter: function() 
          +            {
          +                if(this._explicitHeight)
          +                {
          +                    return this._explicitHeight;        
          +                }
          +                return this._calculatedHeight;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._explicitHeight = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Calculated value of an axis' width. By default, the value is used internally for vertical axes. If the `width` attribute is explicitly set, this value will be ignored.
          +         *
          +         * @attribute calculatedWidth
          +         * @type Number
          +         * @private
          +         */
          +        calculatedWidth: {
          +            getter: function()
          +            {
          +                return this._calculatedWidth;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._calculatedWidth = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Calculated value of an axis' height. By default, the value is used internally for horizontal axes. If the `height` attribute is explicitly set, this value will be ignored.
          +         *
          +         * @attribute calculatedHeight
          +         * @type Number
          +         * @private
          +         */
          +        calculatedHeight: {
          +            getter: function()
          +            {
          +                return this._calculatedHeight;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._calculatedHeight = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Difference betweend the first/last tick and edge of axis.
          +         *
          +         * @attribute edgeOffset
          +         * @type Number
          +         * @protected
          +         */
          +        edgeOffset: 
          +        {
          +            value: 0
          +        },
          +
          +        /**
          +         * The graphic in which the axis line and ticks will be rendered.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         */
          +        graphic: {},
          +    
          +        /**
          +         *  @attribute path
          +         *  @type Shape
          +         *  @readOnly
          +         *  @private
          +         */
          +        path: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._path)
          +                {
          +                    var graphic = this.get("graphic");
          +                    if(graphic)
          +                    {
          +                        this._path = graphic.addShape({type:"path"});
          +                    }
          +                }
          +                return this._path;
          +            }
          +        },
          +
          +        /**
          +         *  @attribute tickPath
          +         *  @type Shape
          +         *  @readOnly
          +         *  @private
          +         */
          +        tickPath: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._tickPath)
          +                {
          +                    var graphic = this.get("graphic");
          +                    if(graphic)
          +                    {
          +                        this._tickPath = graphic.addShape({type:"path"});
          +                    }
          +                }
          +                return this._tickPath;
          +            }
          +        },
          +        
          +        /**
          +         * Contains the contents of the axis. 
          +         *
          +         * @attribute node
          +         * @type HTMLElement
          +         */
          +        node: {},
          +
          +        /**
          +         * Direction of the axis.
          +         *
          +         * @attribute position
          +         * @type String
          +         */
          +        position: {
          +            setter: function(val)
          +            {
          +                var layoutClass = this._layoutClasses[val];
          +                if(val && val != "none")
          +                {
          +                    this._layout = new layoutClass();
          +                }
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the top of the axis.
          +         *
          +         * @attribute topTickOffset
          +         * @type Number
          +         */
          +        topTickOffset: {
          +            value: 0
          +        },
          +
          +        /**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the bottom of the axis.
          +         *
          +         * @attribute bottomTickOffset
          +         * @type Number
          +         */
          +        bottomTickOffset: {
          +            value: 0
          +        },
          +
          +        /**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the left of the axis.
          +         *
          +         * @attribute leftTickOffset
          +         * @type Number
          +         */
          +        leftTickOffset: {
          +            value: 0
          +        },
          +
          +        /**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the right side of the axis.
          +         *
          +         * @attribute rightTickOffset
          +         * @type Number
          +         */
          +        rightTickOffset: {
          +            value: 0
          +        },
          +        
          +        /**
          +         * Collection of labels used to render the axis.
          +         *
          +         * @attribute labels
          +         * @type Array
          +         */
          +        labels: {
          +            readOnly: true,
          +            getter: function()
          +            {
          +                return this._labels;
          +            }
          +        },
          +
          +        /**
          +         * Collection of points used for placement of labels and ticks along the axis.
          +         *
          +         * @attribute tickPoints
          +         * @type Array
          +         */
          +        tickPoints: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(this.get("position") == "none")
          +                {
          +                    return this.get("styles").majorUnit.count;
          +                }
          +                return this._tickPoints;
          +            }
          +        },
          +
          +        /**
          +         * Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given
          +         * position and the tick position is inside or cross, the axis will need to overlap the graph.
          +         *
          +         * @attribute overlapGraph
          +         * @type Boolean
          +         */
          +        overlapGraph: {
          +            value:true,
          +
          +            validator: function(val)
          +            {
          +                return Y_Lang.isBoolean(val);
          +            }
          +        },
          +
          +        /**
          +         * Object which should have by the labelFunction
          +         *
          +         * @attribute labelFunctionScope
          +         * @type Object
          +         */
          +        labelFunctionScope: {},
          +        
          +        /**
          +         * Length in pixels of largest text bounding box. Used to calculate the height of the axis.
          +         *
          +         * @attribute maxLabelSize
          +         * @type Number
          +         * @protected
          +         */
          +        maxLabelSize: {
          +            getter: function()
          +            {
          +                return this._maxLabelSize;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._maxLabelSize = val;
          +                return val; 
          +            }
          +        },
          +        
          +        /**
          +         *  Title for the axis. When specified, the title will display. The position of the title is determined by the axis position. 
          +         *  <dl>
          +         *      <dt>top</dt><dd>Appears above the axis and it labels. The default rotation is 0.</dd>
          +         *      <dt>right</dt><dd>Appears to the right of the axis and its labels. The default rotation is 90.</dd>
          +         *      <dt>bottom</dt><dd>Appears below the axis and its labels. The default rotation is 0.</dd>
          +         *      <dt>left</dt><dd>Appears to the left of the axis and its labels. The default rotation is -90.</dd>
          +         *  </dl>
          +         *
          +         *  @attribute title
          +         *  @type String
          +         */
          +        title: {
          +            value: null
          +        },
          +        
          +        /**
          +         * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +         * to implement the arguments below and return a `String` or `HTMLElement`. 
          +         * <dl>
          +         *      <dt>val</dt><dd>Label to be formatted. (`String`)</dd>
          +         *      <dt>format</dt><dd>Template for formatting label. (optional)</dd>
          +         * </dl>
          +         *
          +         * @attribute labelFunction
          +         * @type Function
          +         */
          +        labelFunction: {
          +            value: function(val, format)
          +            {
          +                return val;
          +            }
          +        },
          +        
          +        /**
          +         * Function used to append an axis value to an axis label. This function has the following signature:
          +         *  <dl>
          +         *      <dt>textField</dt><dd>The axis label to be appended. (`HTMLElement`)</dd>
          +         *      <dt>val</dt><dd>The value to attach to the text field. This method will accept an `HTMLELement`
          +         *      or a `String`. This method does not use (`HTMLElement` | `String`)</dd>
          +         *  </dl>
          +         * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given 
          +         * value is a `String`, the method will convert the the value to a `textNode` before appending to the 
          +         * `HTMLElement`. This method will not convert an `HTMLString` to an `HTMLElement`. 
          +         *
          +         * @attribute appendLabelFunction
          +         * @type Function
          +         */
          +        appendLabelFunction: {
          +            getter: function()
          +            {
          +                return this._setText;
          +            }
          +        },
          +        
          +        /**
          +         * Function used to append a title value to the title object. This function has the following signature:
          +         *  <dl>
          +         *      <dt>textField</dt><dd>The title text field to be appended. (`HTMLElement`)</dd>
          +         *      <dt>val</dt><dd>The value to attach to the text field. This method will accept an `HTMLELement`
          +         *      or a `String`. This method does not use (`HTMLElement` | `String`)</dd>
          +         *  </dl>
          +         * The default method appends a value to the `HTMLElement` using the `appendChild` method. If the given 
          +         * value is a `String`, the method will convert the the value to a `textNode` before appending to the 
          +         * `HTMLElement` element. This method will not convert an `HTMLString` to an `HTMLElement`. 
          +         *
          +         * @attribute appendTitleFunction
          +         * @type Function
          +         */
          +        appendTitleFunction: {
          +            getter: function()
          +            {
          +                return this._setText;
          +            }
          +        }
          +            
          +        /**
          +         * Style properties used for drawing an axis. This attribute is inherited from `Renderer`. Below are the default values:
          +         *  <dl>
          +         *      <dt>majorTicks</dt><dd>Properties used for drawing ticks.
          +         *          <dl>
          +         *              <dt>display</dt><dd>Position of the tick. Possible values are `inside`, `outside`, `cross` and `none`. The
          +         *              default value is `inside`.</dd>
          +         *              <dt>length</dt><dd>The length (in pixels) of the tick. The default value is 4.</dd>
          +         *              <dt>color</dt><dd>The color of the tick. The default value is `#dad8c9`</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the tick. The default value is 1.</dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>line</dt><dd>Properties used for drawing the axis line. 
          +         *          <dl>
          +         *              <dt>weight</dt><dd>Number indicating the width of the axis line. The default value is 1.</dd>
          +         *              <dt>color</dt><dd>The color of the axis line. The default value is `#dad8c9`.</dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>majorUnit</dt><dd>Properties used to calculate the `majorUnit` for the axis. 
          +         *          <dl>
          +         *              <dt>determinant</dt><dd>The algorithm used for calculating distance between ticks. The possible options are `count` and `distance`. If
          +         *              the `determinant` is `count`, the axis ticks will spaced so that a specified number of ticks appear on the axis. If the `determinant`
          +         *              is `distance`, the axis ticks will spaced out according to the specified distance. The default value is `count`.</dd>
          +         *              <dt>count</dt><dd>Number of ticks to appear on the axis when the `determinant` is `count`. The default value is 11.</dd>
          +         *              <dt>distance</dt><dd>The distance (in pixels) between ticks when the `determinant` is `distance`. The default value is 75.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>label</dt><dd>Properties and styles applied to the axis labels.
          +         *          <dl>
          +         *              <dt>color</dt><dd>The color of the labels. The default value is `#808080`.</dd>
          +         *              <dt>alpha</dt><dd>Number between 0 and 1 indicating the opacity of the labels. The default value is 1.</dd>
          +         *              <dt>fontSize</dt><dd>The font-size of the labels. The default value is 85%</dd>
          +         *              <dt>rotation</dt><dd>The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.</dd>
          +         *              <dt>margin</dt><dd>The distance between the label and the axis/tick. Depending on the position of the `Axis`, only one of the properties used.
          +         *                  <dl>
          +         *                      <dt>top</dt><dd>Pixel value used for an axis with a `position` of `bottom`. The default value is 4.</dd>
          +         *                      <dt>right</dt><dd>Pixel value used for an axis with a `position` of `left`. The default value is 4.</dd>
          +         *                      <dt>bottom</dt><dd>Pixel value used for an axis with a `position` of `top`. The default value is 4.</dd>
          +         *                      <dt>left</dt><dd>Pixel value used for an axis with a `position` of `right`. The default value is 4.</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *          </dl>
          +         *      </dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AxisType.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AxisType.js
          new file mode 100644
          index 000000000..686f79944
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/AxisType.js
          @@ -0,0 +1,710 @@
          +/**
          + * AxisType is an abstract class that manages the data for an axis.
          + *
          + * @module charts
          + * @class AxisType
          + * @constructor
          + * @extends Axis
          + */
          +Y.AxisType = Y.Base.create("baseAxis", Y.Axis, [], {
          +    /**
          +     * @method initializer
          +     * @private
          +     */
          +    initializer: function()
          +    {
          +        this.after("dataReady", Y.bind(this._dataChangeHandler, this));
          +        this.after("dataUpdate", Y.bind(this._dataChangeHandler, this));
          +        this.after("minimumChange", Y.bind(this._keyChangeHandler, this));
          +        this.after("maximumChange", Y.bind(this._keyChangeHandler, this));
          +        this.after("keysChange", this._keyChangeHandler);
          +        this.after("dataProviderChange", this._dataProviderChangeHandler);
          +        this.after("alwaysShowZeroChange", this._keyChangeHandler);
          +        this.after("roundingMethodChange", this._keyChangeHandler);
          +    },
          +
          +    /**
          +     * @method bindUI
          +     * @private
          +     */
          +    bindUI: function()
          +    {
          +        this.after("stylesChange", this._updateHandler);
          +        this.after("overlapGraphChange", this._updateHandler);
          +        this.after("positionChange", this._positionChangeHandler);
          +        this.after("widthChange", this._handleSizeChange);
          +        this.after("heightChange", this._handleSizeChange);
          +        this.after("calculatedWidthChange", this._handleSizeChange);
          +        this.after("calculatedHeightChange", this._handleSizeChange);
          +    },
          +
          +    /**
          +     * Handles changes to `dataProvider`.
          +     *
          +     * @method _dataProviderChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _dataProviderChangeHandler: function(e)
          +    {
          +        var keyCollection = this.get("keyCollection").concat(),
          +            keys = this.get("keys"),
          +            i;
          +        if(keys)
          +        {
          +            for(i in keys)
          +            {
          +                if(keys.hasOwnProperty(i))
          +                {
          +                    delete keys[i];
          +                }
          +            }
          +        }
          +        if(keyCollection && keyCollection.length)
          +        {
          +            this.set("keys", keyCollection);
          +        }
          +    },
          +
          +    /**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     */
          +    GUID: "yuibaseaxis",
          +	
          +    /**
          +     * Type of data used in `Axis`.
          +     *
          +     * @property _type
          +     * @type String 
          +     * @readOnly
          +     * @private
          +     */
          +    _type: null,
          +	
          +    /**
          +     * Storage for `setMaximum` attribute.
          +     *
          +     * @property _setMaximum
          +     * @type Object
          +     * @private
          +     */
          +    _setMaximum: null,
          +	
          +    /**
          +     * Storage for `dataMaximum` attribute.
          +     *
          +     * @property _dataMaximum
          +     * @type Object
          +     * @private
          +     */
          +    _dataMaximum: null,
          +	
          +    /**
          +     * Storage for `setMinimum` attribute.
          +     *
          +     * @property _setMinimum
          +     * @type Object
          +     * @private
          +     */
          +    _setMinimum: null,
          +	
          +    /**
          +     * Reference to data array.
          +     *
          +     * @property _data
          +     * @type Array
          +     * @private
          +     */
          +    _data: null,
          +
          +    /**
          +     * Indicates whether the all data is up to date.
          +     *
          +     * @property _updateTotalDataFlag
          +     * @type Boolean
          +     * @private
          +     */
          +    _updateTotalDataFlag: true,
          +
          +    /**
          +     * Storage for `dataReady` attribute.
          +     *
          +     * @property _dataReady
          +     * @type Boolean
          +     * @readOnly
          +     * @private
          +     */
          +    _dataReady: false,
          +	
          +    /**
          +     * Adds an array to the key hash.
          +     *
          +     * @method addKey
          +     * @param value Indicates what key to use in retrieving
          +     * the array.
          +     */
          +    addKey: function (value)
          +	{
          +        this.set("keys", value);
          +	},
          +
          +    /**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     */
          +    _getKeyArray: function(key, data)
          +    {
          +        var i = 0,
          +            obj,
          +            keyArray = [],
          +            len = data.length;
          +        for(; i < len; ++i)
          +        {
          +            obj = data[i];
          +            keyArray[i] = obj[key];
          +        }
          +        return keyArray;
          +    },
          +
          +    /**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     */
          +    _setDataByKey: function(key, data)
          +    {
          +        var i,
          +            obj, 
          +            arr = [], 
          +            dv = this._dataClone.concat(), 
          +            len = dv.length;
          +        for(i = 0; i < len; ++i)
          +        {
          +            obj = dv[i];
          +            arr[i] = obj[key];
          +        }
          +        this.get("keys")[key] = arr;
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    /**
          +     * Updates the total data array.
          +     *
          +     * @method _updateTotalData
          +     * @private
          +     */
          +    _updateTotalData: function()
          +    {
          +		var keys = this.get("keys"),
          +            i;
          +        this._data = [];
          +        for(i in keys)
          +        {
          +            if(keys.hasOwnProperty(i))
          +            {
          +                this._data = this._data.concat(keys[i]);
          +            }
          +        }
          +        this._updateTotalDataFlag = false;
          +    },
          +
          +    /**
          +     * Removes an array from the key hash.
          +     * 
          +     * @method removeKey
          +     * @param {String} value Indicates what key to use in removing from 
          +     * the hash.
          +     */
          +    removeKey: function(value)
          +    {
          +        var keys = this.get("keys");
          +        if(keys.hasOwnProperty(value)) 
          +        {
          +            delete keys[value];
          +            this._keyChangeHandler();
          +        }
          +    },
          +
          +    /**
          +     * Returns a value based of a key value and an index.
          +     *
          +     * @method getKeyValueAt
          +     * @param {String} key value used to look up the correct array
          +     * @param {Number} index within the array
          +     * @return Number 
          +     */
          +    getKeyValueAt: function(key, index)
          +    {
          +        var value = NaN,
          +            keys = this.get("keys");
          +        if(keys[key] && Y_Lang.isNumber(parseFloat(keys[key][index])))
          +        {
          +            value = keys[key][index];
          +        }
          +        return parseFloat(value);
          +    },
          +
          +    /**
          +     * Returns an array of values based on an identifier key.
          +     *
          +     * @method getDataByKey
          +     * @param {String} value value used to identify the array
          +     * @return Object
          +     */
          +    getDataByKey: function (value)
          +    {
          +        var keys = this.get("keys");
          +        if(keys[value])
          +        {
          +            return keys[value];
          +        }
          +        return null;
          +    },
          +
          +    /**
          +     * Calculates the maximum and minimum values for the `Axis`.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     */
          +    _updateMinAndMax: function() 
          +    {
          +        var data = this.get("data"),
          +            max = 0,
          +            min = 0,
          +            len,
          +            num,
          +            i;
          +        if(data && data.length && data.length > 0)
          +        {
          +            len = data.length;
          +            max = min = data[0];
          +            if(len > 1)
          +            {
          +                for(i = 1; i < len; i++)
          +                {	
          +                    num = data[i];
          +                    if(isNaN(num))
          +                    {
          +                        continue;
          +                    }
          +                    max = Math.max(num, max);
          +                    min = Math.min(num, min);
          +                }
          +            }
          +        }
          +        this._dataMaximum = max;
          +        this._dataMinimum = min;
          +    },
          +
          +    /**
          +     * Returns the total number of majorUnits that will appear on an axis.
          +     *
          +     * @method getTotalMajorUnits
          +     * @return Number
          +     */
          +    getTotalMajorUnits: function()
          +    {
          +        var units,
          +            majorUnit = this.get("styles").majorUnit,
          +            len = this.get("length");
          +        if(majorUnit.determinant === "count") 
          +        {
          +            units = majorUnit.count;
          +        }
          +        else if(majorUnit.determinant === "distance") 
          +        {
          +            units = (len/majorUnit.distance) + 1;
          +        }
          +        return units; 
          +    },
          +
          +    /**
          +     * Returns the distance between major units on an axis.
          +     *
          +     * @method getMajorUnitDistance
          +     * @param {Number} len Number of ticks
          +     * @param {Number} uiLen Size of the axis.
          +     * @param {Object} majorUnit Hash of properties used to determine the majorUnit
          +     * @return Number
          +     */
          +    getMajorUnitDistance: function(len, uiLen, majorUnit)
          +    {
          +        var dist;
          +        if(majorUnit.determinant === "count")
          +        {
          +            dist = uiLen/(len - 1);
          +        }
          +        else if(majorUnit.determinant === "distance")
          +        {
          +            dist = majorUnit.distance;
          +        }
          +        return dist;
          +    },
          +    
          +    /**
          +     * Gets the distance that the first and last ticks are offset from there respective
          +     * edges.
          +     *
          +     * @method getEdgeOffset
          +     * @param {Number} ct Number of ticks on the axis.
          +     * @param {Number} l Length (in pixels) of the axis.
          +     * @return Number
          +     */
          +    getEdgeOffset: function(ct, l)
          +    {
          +        return 0;
          +    },
          +
          +    /**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     */
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get("minimum"),
          +            max = this.get("maximum"),
          +            increm = (max - min)/(l-1),
          +            label;
          +            l -= 1;
          +        label = min + (i * increm);
          +        return label;
          +    },
          +
          +    /**
          +     * Updates the `Axis` after a change in keys.
          +     *
          +     * @method _keyChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _keyChangeHandler: function(e)
          +    {
          +        this._updateMinAndMax();
          +        this.fire("dataUpdate");
          +    },
          +
          +    /**
          +     * Checks to see if data extends beyond the range of the axis. If so,
          +     * that data will need to be hidden. This method is internal, temporary and subject
          +     * to removal in the future.
          +     *
          +     * @method _hasDataOverflow
          +     * @protected
          +     * @return Boolean
          +     */
          +    _hasDataOverflow: function()
          +    {
          +        if(this.get("setMin") || this.get("setMax"))
          +        {
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    /**
          +     * Returns a string corresponding to the first label on an 
          +     * axis.
          +     *
          +     * @method getMinimumValue
          +     * @return String
          +     */
          +    getMinimumValue: function()
          +    {
          +        return this.get("minimum");
          +    },
          +
          +    /**
          +     * Returns a string corresponding to the last label on an 
          +     * axis.
          +     *
          +     * @method getMaximumValue
          +     * @return String
          +     */
          +    getMaximumValue: function()
          +    {
          +        return this.get("maximum");
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Hash of array identifed by a string value.
          +         *
          +         * @attribute keys
          +         * @type Object
          +         */
          +        keys: {
          +            value: {},
          +
          +            setter: function(val)
          +            {
          +                var keys = {},
          +                    i, 
          +                    len,
          +                    data = this.get("dataProvider");
          +                if(Y_Lang.isArray(val))
          +                {
          +                    len = val.length;
          +                    for(i = 0; i < len; ++i)
          +                    {
          +                        keys[val[i]] = this._getKeyArray(val[i], data);   
          +                    }
          +                    
          +                }
          +                else if(Y_Lang.isString(val))
          +                {
          +                    keys = this.get("keys");
          +                    keys[val] = this._getKeyArray(val, data);
          +                }
          +                else
          +                {
          +                    for(i in val)
          +                    {
          +                        if(val.hasOwnProperty(i))
          +                        {
          +                            keys[i] = this._getKeyArray(i, data);
          +                        }
          +                    }
          +                }
          +	            this._updateTotalDataFlag = true;
          +                return keys;
          +            }
          +        },
          +
          +        /**
          +         *Indicates how to round unit values.
          +         *  <dl>
          +         *      <dt>niceNumber</dt><dd>Units will be smoothed based on the number of ticks and data range.</dd>
          +         *      <dt>auto</dt><dd>If the range is greater than 1, the units will be rounded.</dd>
          +         *      <dt>numeric value</dt><dd>Units will be equal to the numeric value.</dd>
          +         *      <dt>null</dt><dd>No rounding will occur.</dd>
          +         *  </dl>
          +         *
          +         * @attribute roundingMethod
          +         * @type String
          +         * @default niceNumber
          +         */
          +        roundingMethod: {
          +            value: "niceNumber"
          +        },
          +
          +        /**
          +         *Returns the type of axis data
          +         *  <dl>
          +         *      <dt>time</dt><dd>Manages time data</dd>
          +         *      <dt>stacked</dt><dd>Manages stacked numeric data</dd>      
          +         *      <dt>numeric</dt><dd>Manages numeric data</dd>
          +         *      <dt>category</dt><dd>Manages categorical data</dd>
          +         *  </dl>
          +         *
          +         * @attribute type
          +         * @type String
          +         */
          +        type:
          +        {
          +            readOnly: true,
          +
          +            getter: function ()
          +            {
          +                return this._type;
          +            }
          +        },
          +
          +        /**
          +         * Instance of `ChartDataProvider` that the class uses
          +         * to build its own data.
          +         *
          +         * @attribute dataProvider
          +         * @type Array
          +         */
          +        dataProvider:{
          +            setter: function (value)
          +            {
          +                return value;
          +            }
          +        },
          +
          +        /**
          +         * The maximum value contained in the `data` array. Used for
          +         * `maximum` when `autoMax` is true.
          +         *
          +         * @attribute dataMaximum
          +         * @type Number
          +         */
          +        dataMaximum: {
          +            getter: function ()
          +            {
          +                if(!this._dataMaximum)
          +                {   
          +                    this._updateMinAndMax();
          +                }
          +                return this._dataMaximum;
          +            }
          +        },
          +
          +        /**
          +         * The maximum value that will appear on an axis.
          +         *
          +         * @attribute maximum
          +         * @type Number
          +         */
          +        maximum: {
          +            lazyAdd: false,
          +
          +            getter: function ()
          +            {
          +                var max = this.get("dataMaximum"),
          +                    min = this.get("minimum");
          +                //If all values are zero, force a range so that the Axis and related series
          +                //will still render.
          +                if(min === 0 && max === 0)
          +                {
          +                    max = 10;
          +                }
          +                if(Y_Lang.isNumber(this._setMaximum))
          +                {
          +                    max = this._setMaximum;
          +                }
          +                return parseFloat(max);
          +            },
          +            setter: function (value)
          +            {
          +                this._setMaximum = parseFloat(value);
          +                return value;
          +            }
          +        },
          +
          +        /**
          +         * The minimum value contained in the `data` array. Used for
          +         * `minimum` when `autoMin` is true.
          +         *
          +         * @attribute dataMinimum
          +         * @type Number
          +         */
          +        dataMinimum: {
          +            getter: function ()
          +            {
          +                if(!this._dataMinimum)
          +                {
          +                    this._updateMinAndMax();
          +                }
          +                return this._dataMinimum;
          +            }
          +        },
          +
          +        /**
          +         * The minimum value that will appear on an axis.
          +         *
          +         * @attribute minimum
          +         * @type Number
          +         */
          +        minimum: {
          +            lazyAdd: false,
          +
          +            getter: function ()
          +            {
          +                var min = this.get("dataMinimum");
          +                if(Y_Lang.isNumber(this._setMinimum))
          +                {
          +                    min = this._setMinimum;
          +                }
          +                return parseFloat(min);
          +            },
          +            setter: function(val)
          +            {
          +                this._setMinimum = parseFloat(val);
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Determines whether the maximum is calculated or explicitly 
          +         * set by the user.
          +         *
          +         * @attribute setMax
          +         * @type Boolean
          +         */
          +        setMax: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return Y_Lang.isNumber(this._setMaximum);
          +            }
          +        },
          +
          +        /**
          +         * Determines whether the minimum is calculated or explicitly
          +         * set by the user.
          +         *
          +         * @attribute setMin
          +         * @type Boolean
          +         */
          +        setMin: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return Y_Lang.isNumber(this._setMinimum);
          +            }
          +        },
          +
          +        /**
          +         * Array of axis data
          +         *
          +         * @attribute data
          +         * @type Array
          +         */
          +        data: {
          +            getter: function ()
          +            {
          +                if(!this._data || this._updateTotalDataFlag)
          +                {
          +                    this._updateTotalData();
          +                }
          +                return this._data;
          +            }
          +        },
          +
          +        /**
          +         * Array containing all the keys in the axis.
          +        
          +         * @attribute keyCollection
          +         * @type Array
          +         */
          +        keyCollection: {
          +            getter: function()
          +            {
          +                var keys = this.get("keys"),
          +                    i, 
          +                    col = [];
          +                for(i in keys)
          +                {
          +                    if(keys.hasOwnProperty(i))
          +                    {
          +                        col.push(i);
          +                    }
          +                }
          +                return col;
          +            },
          +            readOnly: true
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BarSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BarSeries.js
          new file mode 100644
          index 000000000..b26a13db2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BarSeries.js
          @@ -0,0 +1,158 @@
          +/**
          + * The BarSeries class renders bars positioned vertically along a category or time axis. The bars'
          + * lengths are proportional to the values they represent along a horizontal axis.
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class BarSeries
          + * @extends MarkerSeries
          + * @uses Histogram
          + * @constructor
          + */
          +Y.BarSeries = Y.Base.create("barSeries", Y.MarkerSeries, [Y.Histogram], {
          +    /**
          +     * Helper method for calculating the size of markers. 
          +     *
          +     * @method _getMarkerDimensions
          +     * @param {Number} xcoord The x-coordinate representing the data point for the marker.
          +     * @param {Number} ycoord The y-coordinate representing the data point for the marker.
          +     * @param {Number} calculatedSize The calculated size for the marker. For a `BarSeries` is it the width. For a `ColumnSeries` it is the height.
          +     * @param {Number} offset Distance of position offset dictated by other marker series in the same graph.
          +     * @return Object
          +     * @private
          +     */
          +    _getMarkerDimensions: function(xcoord, ycoord, calculatedSize, offset)
          +    {
          +        var config = {
          +            top: ycoord + offset
          +        };
          +        if(xcoord >= this._leftOrigin)
          +        {
          +            config.left = this._leftOrigin;
          +            config.calculatedSize = xcoord - config.left;
          +        }
          +        else
          +        {
          +            config.left = xcoord;
          +            config.calculatedSize = this._leftOrigin - xcoord;
          +        }
          +        return config;
          +    },
          +    
          +    /**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers && this._markers[i])
          +        {
          +            var styles = Y.clone(this.get("styles").marker),
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get("xcoords"),
          +                ycoords = this.get("ycoords"),
          +                marker = this._markers[i],
          +                markers,
          +                graph = this.get("graph"),
          +                seriesCollection = graph.seriesTypes[this.get("type")],
          +                seriesLen = seriesCollection.length,
          +                seriesStyles,
          +                seriesSize = 0,
          +                offset = 0,
          +                renderer,
          +                n = 0,
          +                ys = [],
          +                order = this.get("order"),
          +                config;
          +            markerStyles = state == "off" || !styles[state] ? styles : styles[state]; 
          +            markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], styles.height, offset);
          +            markerStyles.width = config.calculatedSize;
          +            markerStyles.height = Math.min(this._maxSize, markerStyles.height);
          +            marker.set(markerStyles);
          +            for(; n < seriesLen; ++n)
          +            {
          +                ys[n] = ycoords[i] + seriesSize;
          +                seriesStyles = seriesCollection[n].get("styles").marker;
          +                seriesSize += Math.min(this._maxSize, seriesStyles.height); 
          +                if(order > n)
          +                {
          +                    offset = seriesSize;
          +                }
          +                offset -= seriesSize/2;
          +            }
          +            for(n = 0; n < seriesLen; ++n)
          +            {
          +                markers = seriesCollection[n].get("markers");
          +                if(markers)
          +                {
          +                    renderer = markers[i];
          +                    if(renderer && renderer !== undefined)
          +                    {
          +                        renderer.set("y", (ys[n] - seriesSize/2));
          +                    }
          +                }
          +            }
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default bar
          +         */
          +        type: {
          +            value: "bar"
          +        },
          +
          +        /**
          +         * Indicates the direction of the category axis that the bars are plotted against.
          +         *
          +         * @attribute direction
          +         * @type String
          +         */
          +        direction: {
          +            value: "vertical"
          +        }
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>height</dt><dd>indicates the width of the marker. The default value is 12.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BottomAxisLayout.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BottomAxisLayout.js
          new file mode 100644
          index 000000000..94da18218
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/BottomAxisLayout.js
          @@ -0,0 +1,349 @@
          +/**
          + * Contains algorithms for rendering a bottom axis.
          + *
          + * @module charts
          + * @class BottomAxisLayout
          + * @Constructor
          + */
          +BottomAxisLayout = function(){};
          +
          +BottomAxisLayout.prototype = {
          +    /**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     */
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 4,
          +            left: 0,
          +            right: 0,
          +            bottom: 0
          +        };
          +    },
          +
          +    /**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffsets
          +     * @protected
          +     */
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get("styles").majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set("leftTickOffset",  0);
          +        host.set("rightTickOffset",  0);
          +
          +        switch(display)
          +        {
          +            case "inside" :
          +                host.set("topTickOffset", tickLength);
          +                host.set("bottomTickOffset", 0);
          +            break;
          +            case "outside" : 
          +                host.set("topTickOffset", 0);
          +                host.set("bottomTickOffset", tickLength);
          +            break;
          +            case "cross":
          +                host.set("topTickOffset",  halfTick);
          +                host.set("bottomTickOffset",  halfTick);
          +            break;
          +            default:
          +                host.set("topTickOffset", 0);
          +                host.set("bottomTickOffset", 0);
          +            break;
          +        }
          +    },
          +
          +    /**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @protected
          +     */
          +    getLineStart: function()
          +    {
          +        var style = this.get("styles"),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:0, y:padding.top};
          +        if(display === "inside")
          +        {
          +            pt.y += tickLength;
          +        }
          +        else if(display === "cross")
          +        {
          +            pt.y += tickLength/2;
          +        }
          +        return pt; 
          +    },
          +    
          +    /**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path `Path` element in which to draw the tick.
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @param {Object} tickStyles hash of properties used to draw the tick
          +     * @protected
          +     */
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:pt.x, y:padding.top},
          +            end = {x:pt.x, y:tickLength + padding.top};
          +        host.drawLine(path, start, end);
          +    },
          +
          +    /**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} pt Object containing x and y coordinates
          +     * @return Object
          +     * @protected
          +     */
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x, y:point.y + this.get("bottomTickOffset")};
          +    },
          +    
          +    /**
          +     * Updates the value for the `maxLabelSize` for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     */
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelHeight;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelWidth;
          +        }
          +        else
          +        {
          +            max = (sinRadians * labelWidth) + (cosRadians * labelHeight); 
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    /**
          +     * Determines the available label height when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     */
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitHeight)
          +        {
          +            var host = this,
          +                h = host._explicitHeight,
          +                totalTitleSize = host._totalTitleSize,
          +                bottomTickOffset = host.get("bottomTickOffset"),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  h - (bottomTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    /**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     */
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get("styles").title.margin,
          +            props = host._titleRotationProps,
          +            h = bounds.bottom - bounds.top,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            x = (host.get("width") * 0.5) - (labelWidth * 0.5),
          +            y = host.get("height") - labelHeight/2 - h/2;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin && margin.bottom)
          +        {
          +            y -= margin.bottom;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +    
          +    /**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     */
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get("bottomTickOffset"),
          +            labelStyles = styles.label,
          +            margin = 0,
          +            props = host._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset = Math.round(pt.x),
          +            topOffset = Math.round(pt.y),
          +            labelWidth = host._labelWidths[i],
          +            labelHeight = host._labelHeights[i];
          +        if(labelStyles.margin && labelStyles.margin.top)
          +        {
          +            margin = labelStyles.margin.top;
          +        }
          +        if(rot > 0)
          +        {
          +            topOffset -= labelHeight/2 * rot/90;
          +        }
          +        else if(rot < 0)
          +        {
          +            leftOffset -= labelWidth;
          +            topOffset -= labelHeight/2 * absRot/90;
          +        }
          +        else
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        topOffset += margin;
          +        topOffset += tickOffset;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = leftOffset;
          +        props.y = topOffset;
          +        host._rotate(label, props);
          +    },
          +    
          +    /**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     */
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight,
          +            leftOffset,
          +            topOffset;
          +
          +        if(rot > 0)
          +        {
          +            leftOffset = 0;
          +            topOffset = labelHeight/2 * rot/90;
          +        }
          +        else if(rot < 0)
          +        {
          +            leftOffset = labelWidth;
          +            topOffset = labelHeight/2 * absRot/90;
          +        }
          +        else
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = 0;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    /**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     */
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot > 0)
          +        {
          +            transformOrigin = [0, 0.5];
          +        }
          +        else if(rot < 0)
          +        {
          +            transformOrigin = [1, 0.5];
          +        }
          +        else
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    /**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     */
          +    offsetNodeForTick: function(cb)
          +    {
          +        var host = this;
          +        host.get("contentBox").setStyle("top", 0 - host.get("topTickOffset"));
          +    },
          +
          +    /**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     */
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            styles = host.get("styles"),
          +            labelStyle = styles.label,
          +            totalTitleSize = host._totalTitleSize,
          +            ttl = Math.round(host.get("bottomTickOffset") + host._maxLabelSize + labelStyle.margin.top + totalTitleSize);
          +        if(host._explicitHeight)
          +        {
          +            ttl = host._explicitHeight;
          +        }
          +        host.set("calculatedHeight", ttl);
          +    }
          +};
          +Y.BottomAxisLayout = BottomAxisLayout;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChart.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChart.js
          new file mode 100644
          index 000000000..fe5e7ddf3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChart.js
          @@ -0,0 +1,2131 @@
          +/**
          + * The CartesianChart class creates a chart with horizontal and vertical axes.
          + *
          + * @module charts
          + * @class CartesianChart
          + * @extends ChartBase
          + * @constructor
          + */
          +Y.CartesianChart = Y.Base.create("cartesianChart", Y.Widget, [Y.ChartBase], {
          +    /**
          +     * @method renderUI
          +     * @private
          +     */
          +    renderUI: function()
          +    {
          +        var bb = this.get("boundingBox"),
          +            cb = this.get("contentBox"),
          +            tt = this.get("tooltip"),
          +            overlay,
          +            overlayClass = _getClassName("overlay");
          +        //move the position = absolute logic to a class file
          +        bb.setStyle("position", "absolute");
          +        cb.setStyle("position", "absolute");
          +        this._addAxes();
          +        this._addGridlines();
          +        this._addSeries();
          +        if(tt && tt.show)
          +        {
          +            this._addTooltip();
          +        }
          +        //If there is a style definition. Force them to set.
          +        this.get("styles");
          +        if(this.get("interactionType") == "planar")
          +        {
          +            overlay = DOCUMENT.createElement("div");
          +            this.get("contentBox").appendChild(overlay);
          +            this._overlay = Y.one(overlay); 
          +            this._overlay.setStyle("position", "absolute");
          +            this._overlay.setStyle("background", "#fff");
          +            this._overlay.setStyle("opacity", 0);
          +            this._overlay.addClass(overlayClass);
          +            this._overlay.setStyle("zIndex", 4);
          +        }
          +        this._setAriaElements(bb, cb);
          +        this._redraw();
          +    },
          +
          +    /**
          +     * When `interactionType` is set to `planar`, listens for mouse move events and fires `planarEvent:mouseover` or `planarEvent:mouseout` depending on the position of the mouse in relation to 
          +     * data points on the `Chart`.
          +     *
          +     * @method _planarEventDispatcher
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _planarEventDispatcher: function(e)
          +    {
          +        var graph = this.get("graph"),
          +            bb = this.get("boundingBox"),
          +            cb = graph.get("contentBox"),
          +            isTouch = e && e.hasOwnProperty("changedTouches"),
          +            pageX = isTouch ? e.changedTouches[0].pageX : e.pageX,
          +            pageY = isTouch ? e.changedTouches[0].pageY : e.pageY,
          +            posX = pageX - bb.getX(),
          +            posY = pageY - bb.getY(),
          +            offset = {
          +                x: pageX - cb.getX(),
          +                y: pageY - cb.getY()
          +            },
          +            sc = graph.get("seriesCollection"),
          +            series,
          +            i = 0,
          +            index,
          +            oldIndex = this._selectedIndex,
          +            item,
          +            items = [],
          +            categoryItems = [],
          +            valueItems = [],
          +            direction = this.get("direction"),
          +            hasMarkers,
          +            catAxis,
          +            valAxis,
          +            coord,
          +            //data columns and area data could be created on a graph level
          +            markerPlane,
          +            len,
          +            coords;
          +        e.halt(true);
          +        if(direction == "horizontal")
          +        {
          +            catAxis = "x";
          +            valAxis = "y";
          +        }
          +        else
          +        {
          +            valAxis = "x";
          +            catAxis = "y";
          +        }
          +        coord = offset[catAxis];
          +        if(sc)
          +        {
          +            len = sc.length;
          +            while(i < len && !markerPlane)
          +            {
          +                if(sc[i])
          +                {
          +                    markerPlane = sc[i].get(catAxis + "MarkerPlane");
          +                }
          +                i++;
          +            }
          +        }
          +        if(markerPlane)
          +        {
          +            len = markerPlane.length;
          +            for(i = 0; i < len; ++i)
          +            {
          +                if(coord <= markerPlane[i].end && coord >= markerPlane[i].start)
          +                {
          +                    index = i;
          +                    break;
          +                }
          +            }
          +            len = sc.length;
          +            for(i = 0; i < len; ++i)
          +            {
          +                series = sc[i];
          +                coords = series.get(valAxis + "coords");
          +                hasMarkers = series.get("markers");
          +                if(hasMarkers && !isNaN(oldIndex) && oldIndex > -1)
          +                {
          +                    series.updateMarkerState("mouseout", oldIndex);
          +                }
          +                if(coords && coords[index] > -1)
          +                {
          +                    if(hasMarkers && !isNaN(index) && index > -1)
          +                    {
          +                        series.updateMarkerState("mouseover", index);
          +                    }
          +                    item = this.getSeriesItems(series, index);
          +                    categoryItems.push(item.category);
          +                    valueItems.push(item.value);
          +                    items.push(series);
          +                }
          +                    
          +            }
          +            this._selectedIndex = index;
          +
          +            /**
          +             * Broadcasts when `interactionType` is set to `planar` and a series' marker plane has received a mouseover event.
          +             * 
          +             *
          +             * @event planarEvent:mouseover
          +             * @preventable false
          +             * @param {EventFacade} e Event facade with the following additional
          +             *   properties:
          +             *  <dl>
          +             *      <dt>categoryItem</dt><dd>An array of hashes, each containing information about the category `Axis` of each marker whose plane has been intersected.</dd>
          +             *      <dt>valueItem</dt><dd>An array of hashes, each containing information about the value `Axis` of each marker whose plane has been intersected.</dd>
          +             *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +             *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +             *      <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>
          +             *      <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>
          +             *      <dt>items</dt><dd>An array including all the series which contain a marker whose plane has been intersected.</dd>
          +             *      <dt>index</dt><dd>Index of the markers in their respective series.</dd>
          +             *      <dt>originEvent</dt><dd>Underlying dom event.</dd>
          +             *  </dl>
          +             */
          +            /**
          +             * Broadcasts when `interactionType` is set to `planar` and a series' marker plane has received a mouseout event.
          +             *
          +             * @event planarEvent:mouseout
          +             * @preventable false
          +             * @param {EventFacade} e 
          +             */
          +            if(index > -1)
          +            {
          +                this.fire("planarEvent:mouseover", {
          +                    categoryItem:categoryItems, 
          +                    valueItem:valueItems, 
          +                    x:posX, 
          +                    y:posY, 
          +                    pageX:pageX,
          +                    pageY:pageY,
          +                    items:items, 
          +                    index:index,
          +                    originEvent:e
          +                });
          +            }
          +            else
          +            {
          +                this.fire("planarEvent:mouseout");
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Indicates the default series type for the chart.
          +     *
          +     * @property _type
          +     * @type {String}
          +     * @private
          +     */
          +    _type: "combo",
          +
          +    /**
          +     * Queue of axes instances that will be updated. This method is used internally to determine when all axes have been updated.
          +     *
          +     * @property _itemRenderQueue
          +     * @type Array
          +     * @private
          +     */
          +    _itemRenderQueue: null,
          +
          +    /**
          +     * Adds an `Axis` instance to the `_itemRenderQueue`.
          +     *
          +     * @method _addToAxesRenderQueue
          +     * @param {Axis} axis An `Axis` instance.
          +     * @private 
          +     */
          +    _addToAxesRenderQueue: function(axis)
          +    {
          +        if(!this._itemRenderQueue)
          +        {
          +            this._itemRenderQueue = [];
          +        }
          +        if(Y.Array.indexOf(this._itemRenderQueue, axis) < 0)
          +        {
          +            this._itemRenderQueue.push(axis);
          +        }
          +    },
          +
          +    /**
          +     * Adds axis instance to the appropriate array based on position
          +     *
          +     * @method _addToAxesCollection
          +     * @param {String} position The position of the axis
          +     * @param {Axis} axis The `Axis` instance
          +     */
          +    _addToAxesCollection: function(position, axis)
          +    {
          +        var axesCollection = this.get(position + "AxesCollection");
          +        if(!axesCollection)
          +        {
          +            axesCollection = [];
          +            this.set(position + "AxesCollection", axesCollection);
          +        }
          +        axesCollection.push(axis);
          +    },
          +
          +    /**
          +     * Returns the default value for the `seriesCollection` attribute.
          +     *
          +     * @method _getDefaultSeriesCollection
          +     * @param {Array} val Array containing either `CartesianSeries` instances or objects containing data to construct series instances.
          +     * @return Array
          +     * @private
          +     */
          +    _getDefaultSeriesCollection: function()
          +    {
          +        return this._parseSeriesCollection();
          +    },
          +
          +    /**
          +     * Parses and returns a series collection from an object and default properties.
          +     *
          +     * @method _parseSeriesCollection
          +     * @param {Object} val Object contain properties for series being set.
          +     * @return Object
          +     * @private
          +     */
          +    _parseSeriesCollection: function(val)
          +    {
          +        var dir = this.get("direction"), 
          +            sc = val || [], 
          +            catAxis,
          +            valAxis,
          +            tempKeys = [],
          +            series,
          +            seriesKeys = this.get("seriesKeys").concat(),
          +            i,
          +            index,
          +            l,
          +            type = this.get("type"),
          +            key,
          +            catKey,
          +            seriesKey,
          +            graph,
          +            categoryKey = this.get("categoryKey"),
          +            showMarkers = this.get("showMarkers"),
          +            showAreaFill = this.get("showAreaFill"),
          +            showLines = this.get("showLines");
          +        if(dir == "vertical")
          +        {
          +            catAxis = "yAxis";
          +            catKey = "yKey";
          +            valAxis = "xAxis";
          +            seriesKey = "xKey";
          +        }
          +        else
          +        {
          +            catAxis = "xAxis";
          +            catKey = "xKey";
          +            valAxis = "yAxis";
          +            seriesKey = "yKey";
          +        }
          +        l = sc.length;
          +        for(i = 0; i < l; ++i)
          +        {
          +            key = this._getBaseAttribute(sc[i], seriesKey);
          +            if(key)
          +            {
          +                index = Y.Array.indexOf(seriesKeys, key);
          +                if(index > -1)
          +                {
          +                    seriesKeys.splice(index, 1);
          +                }
          +               tempKeys.push(key);
          +            }
          +        }
          +        if(seriesKeys.length > 0)
          +        {
          +            tempKeys = tempKeys.concat(seriesKeys);
          +        }
          +        l = tempKeys.length;
          +        for(i = 0; i < l; ++i)
          +        {
          +            series = sc[i] || {type:type};
          +            if(series instanceof Y.CartesianSeries)
          +            {
          +                this._parseSeriesAxes(series);
          +                continue;
          +            }
          +            
          +            series[catKey] = series[catKey] || categoryKey;
          +            series[seriesKey] = series[seriesKey] || seriesKeys.shift();
          +            series[catAxis] = this._getCategoryAxis();
          +            series[valAxis] = this._getSeriesAxis(series[seriesKey]);
          +            
          +            series.type = series.type || type;
          +            
          +            if((series.type == "combo" || series.type == "stackedcombo" || series.type == "combospline" || series.type == "stackedcombospline"))
          +            {
          +                if(showAreaFill !== null)
          +                {
          +                    series.showAreaFill = (series.showAreaFill !== null && series.showAreaFill !== undefined) ? series.showAreaFill : showAreaFill;
          +                }
          +                if(showMarkers !== null)
          +                {
          +                    series.showMarkers = (series.showMarkers !== null && series.showMarkers !== undefined) ? series.showMarkers : showMarkers;
          +                }
          +                if(showLines !== null)
          +                {
          +                    series.showLines = (series.showLines !== null && series.showLines !== undefined) ? series.showLines : showLines;
          +                }
          +            }
          +            sc[i] = series;
          +        }
          +        if(val)
          +        {
          +            graph = this.get("graph");
          +            graph.set("seriesCollection", sc);
          +            sc = graph.get("seriesCollection");
          +        }
          +        return sc;
          +    },
          +
          +    /**
          +     * Parse and sets the axes for a series instance.
          +     *
          +     * @method _parseSeriesAxes
          +     * @param {CartesianSeries} series A `CartesianSeries` instance.
          +     * @private
          +     */
          +    _parseSeriesAxes: function(series)
          +    {
          +        var axes = this.get("axes"),
          +            xAxis = series.get("xAxis"),
          +            yAxis = series.get("yAxis"),
          +            YAxis = Y.Axis,
          +            axis;
          +        if(xAxis && !(xAxis instanceof YAxis) && Y_Lang.isString(xAxis) && axes.hasOwnProperty(xAxis))
          +        {
          +            axis = axes[xAxis];
          +            if(axis instanceof YAxis)
          +            {
          +                series.set("xAxis", axis);
          +            }
          +        }
          +        if(yAxis && !(yAxis instanceof YAxis) && Y_Lang.isString(yAxis) && axes.hasOwnProperty(yAxis))
          +        {   
          +            axis = axes[yAxis];
          +            if(axis instanceof YAxis)
          +            {
          +                series.set("yAxis", axis);
          +            }
          +        }
          +
          +    },
          +
          +    /**
          +     * Returns the category axis instance for the chart.
          +     *
          +     * @method _getCategoryAxis
          +     * @return Axis
          +     * @private
          +     */
          +    _getCategoryAxis: function()
          +    {
          +        var axis,
          +            axes = this.get("axes"),
          +            categoryAxisName = this.get("categoryAxisName") || this.get("categoryKey");
          +        axis = axes[categoryAxisName];
          +        return axis;
          +    },
          +
          +    /**
          +     * Returns the value axis for a series.
          +     *
          +     * @method _getSeriesAxis
          +     * @param {String} key The key value used to determine the axis instance.
          +     * @return Axis
          +     * @private
          +     */
          +    _getSeriesAxis:function(key, axisName)
          +    {
          +        var axes = this.get("axes"),
          +            i,
          +            keys,
          +            axis;
          +        if(axes)
          +        {
          +            if(axisName && axes.hasOwnProperty(axisName))
          +            {
          +                axis = axes[axisName];
          +            }
          +            else
          +            {
          +                for(i in axes)
          +                {
          +                    if(axes.hasOwnProperty(i))
          +                    {
          +                        keys = axes[i].get("keys");
          +                        if(keys && keys.hasOwnProperty(key))
          +                        {
          +                            axis = axes[i];
          +                            break;
          +                        }
          +                    }
          +                }
          +            }
          +        }
          +        return axis;
          +    },
          +
          +    /**
          +     * Gets an attribute from an object, using a getter for Base objects and a property for object
          +     * literals. Used for determining attributes from series/axis references which can be an actual class instance
          +     * or a hash of properties that will be used to create a class instance.
          +     *
          +     * @method _getBaseAttribute
          +     * @param {Object} item Object or instance in which the attribute resides.
          +     * @param {String} key Attribute whose value will be returned.
          +     * @return Object
          +     * @private
          +     */
          +    _getBaseAttribute: function(item, key)
          +    {
          +        if(item instanceof Y.Base)
          +        {
          +            return item.get(key);
          +        }
          +        if(item.hasOwnProperty(key))
          +        {
          +            return item[key];
          +        }
          +        return null;
          +    },
          +
          +    /**
          +     * Sets an attribute on an object, using a setter of Base objects and a property for object
          +     * literals. Used for setting attributes on a Base class, either directly or to be stored in an object literal
          +     * for use at instantiation.
          +     *
          +     * @method _setBaseAttribute
          +     * @param {Object} item Object or instance in which the attribute resides.
          +     * @param {String} key Attribute whose value will be assigned.
          +     * @param {Object} value Value to be assigned to the attribute.
          +     * @private
          +     */
          +    _setBaseAttribute: function(item, key, value)
          +    {
          +        if(item instanceof Y.Base)
          +        {
          +            item.set(key, value);
          +        }
          +        else
          +        {
          +            item[key] = value;
          +        }
          +    },
          +
          +    /**
          +     * Creates `Axis` instances.
          +     *
          +     * @method _setAxes
          +     * @param {Object} val Object containing `Axis` instances or objects in which to construct `Axis` instances.
          +     * @return Object
          +     * @private
          +     */
          +    _setAxes: function(val)
          +    {
          +        var hash = this._parseAxes(val),
          +            axes = {},
          +            axesAttrs = {
          +                edgeOffset: "edgeOffset", 
          +                position: "position",
          +                overlapGraph:"overlapGraph",
          +                labelFunction:"labelFunction",
          +                labelFunctionScope:"labelFunctionScope",
          +                labelFormat:"labelFormat",
          +                maximum:"maximum",
          +                minimum:"minimum", 
          +                roundingMethod:"roundingMethod",
          +                alwaysShowZero:"alwaysShowZero",
          +                title:"title",
          +                width:"width",
          +                height:"height"
          +            },
          +            dp = this.get("dataProvider"),
          +            ai,
          +            i, 
          +            pos, 
          +            axis,
          +            axisPosition,
          +            dh, 
          +            axisClass, 
          +            config,
          +            axesCollection;
          +        for(i in hash)
          +        {
          +            if(hash.hasOwnProperty(i))
          +            {
          +                dh = hash[i];
          +                if(dh instanceof Y.Axis)
          +                {
          +                    axis = dh;
          +                }
          +                else
          +                {
          +                    axis = null;
          +                    config = {};
          +                    config.dataProvider = dh.dataProvider || dp;
          +                    config.keys = dh.keys;
          +                    
          +                    if(dh.hasOwnProperty("roundingUnit"))
          +                    {
          +                        config.roundingUnit = dh.roundingUnit;
          +                    }
          +                    pos = dh.position;
          +                    if(dh.styles)
          +                    {
          +                        config.styles = dh.styles;
          +                    }
          +                    config.position = dh.position;
          +                    for(ai in axesAttrs)
          +                    {
          +                        if(axesAttrs.hasOwnProperty(ai) && dh.hasOwnProperty(ai))
          +                        {
          +                            config[ai] = dh[ai];
          +                        }
          +                    }
          +                   
          +                    //only check for existing axis if we constructed the default axes already
          +                    if(val)
          +                    {
          +                        axis = this.getAxisByKey(i);
          +                    }
          +                    
          +                    if(axis && axis instanceof Y.Axis)
          +                    {
          +                        axisPosition = axis.get("position");
          +                        if(pos != axisPosition)
          +                        {
          +                            if(axisPosition != "none")
          +                            {
          +                                axesCollection = this.get(axisPosition + "AxesCollection");
          +                                axesCollection.splice(Y.Array.indexOf(axesCollection, axis), 1);
          +                            }
          +                            if(pos != "none")
          +                            {
          +                                this._addToAxesCollection(pos, axis);
          +                            }
          +                        }
          +                        axis.setAttrs(config);
          +                    }
          +                    else
          +                    {
          +                        axisClass = this._getAxisClass(dh.type);
          +                        axis = new axisClass(config);
          +                        axis.after("axisRendered", Y.bind(this._itemRendered, this));
          +                    }
          +                }
          +
          +                if(axis)
          +                {
          +                    axesCollection = this.get(pos + "AxesCollection");
          +                    if(axesCollection && Y.Array.indexOf(axesCollection, axis) > 0)
          +                    {
          +                        axis.set("overlapGraph", false);
          +                    }
          +                    axes[i] = axis;
          +                }
          +            }
          +        }
          +        return axes;
          +    },
          +    
          +    /**
          +     * Adds axes to the chart.
          +     *
          +     * @method _addAxes
          +     * @private
          +     */
          +    _addAxes: function()
          +    {
          +        var axes = this.get("axes"),
          +            i, 
          +            axis, 
          +            pos,
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            node = Y.Node.one(this._parentNode);
          +        if(!this._axesCollection)
          +        {   
          +            this._axesCollection = [];
          +        }
          +        for(i in axes)
          +        {
          +            if(axes.hasOwnProperty(i))
          +            {
          +                axis = axes[i];
          +                if(axis instanceof Y.Axis)
          +                {
          +                    if(!w)
          +                    {
          +                        this.set("width", node.get("offsetWidth"));
          +                        w = this.get("width");
          +                    }
          +                    if(!h)
          +                    {
          +                        this.set("height", node.get("offsetHeight"));
          +                        h = this.get("height");
          +                    }
          +                    this._addToAxesRenderQueue(axis);
          +                    pos = axis.get("position");
          +                    if(!this.get(pos + "AxesCollection"))
          +                    {
          +                        this.set(pos + "AxesCollection", [axis]);
          +                    }
          +                    else
          +                    {
          +                        this.get(pos + "AxesCollection").push(axis);
          +                    }
          +                    this._axesCollection.push(axis);
          +                    if(axis.get("keys").hasOwnProperty(this.get("categoryKey")))
          +                    {
          +                        this.set("categoryAxis", axis);
          +                    }
          +                    axis.render(this.get("contentBox"));
          +                }
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Renders the Graph.
          +     *
          +     * @method _addSeries
          +     * @private
          +     */
          +    _addSeries: function()
          +    {
          +        var graph = this.get("graph"),
          +            sc = this.get("seriesCollection");
          +        graph.render(this.get("contentBox"));
          +
          +    },
          +
          +    /**
          +     * Adds gridlines to the chart.
          +     *
          +     * @method _addGridlines
          +     * @private
          +     */
          +    _addGridlines: function()
          +    {
          +        var graph = this.get("graph"),
          +            hgl = this.get("horizontalGridlines"),
          +            vgl = this.get("verticalGridlines"),
          +            direction = this.get("direction"),
          +            leftAxesCollection = this.get("leftAxesCollection"),
          +            rightAxesCollection = this.get("rightAxesCollection"),
          +            bottomAxesCollection = this.get("bottomAxesCollection"),
          +            topAxesCollection = this.get("topAxesCollection"),
          +            seriesAxesCollection,
          +            catAxis = this.get("categoryAxis"),
          +            hAxis,
          +            vAxis;
          +        if(this._axesCollection)
          +        {
          +            seriesAxesCollection = this._axesCollection.concat();
          +            seriesAxesCollection.splice(Y.Array.indexOf(seriesAxesCollection, catAxis), 1);
          +        }
          +        if(hgl)
          +        {
          +            if(leftAxesCollection && leftAxesCollection[0])
          +            {
          +                hAxis = leftAxesCollection[0];
          +            }
          +            else if(rightAxesCollection && rightAxesCollection[0])
          +            {
          +                hAxis = rightAxesCollection[0];
          +            }
          +            else 
          +            {
          +                hAxis = direction == "horizontal" ? catAxis : seriesAxesCollection[0];
          +            }
          +            if(!this._getBaseAttribute(hgl, "axis") && hAxis)
          +            {
          +                this._setBaseAttribute(hgl, "axis", hAxis);
          +            }
          +            if(this._getBaseAttribute(hgl, "axis"))
          +            {
          +                graph.set("horizontalGridlines", hgl);
          +            }
          +        }
          +        if(vgl)
          +        {
          +            if(bottomAxesCollection && bottomAxesCollection[0])
          +            {
          +                vAxis = bottomAxesCollection[0];
          +            }
          +            else if (topAxesCollection && topAxesCollection[0])
          +            {
          +                vAxis = topAxesCollection[0];
          +            }
          +            else 
          +            {
          +                vAxis = direction == "vertical" ? catAxis : seriesAxesCollection[0];
          +            }
          +            if(!this._getBaseAttribute(vgl, "axis") && vAxis)
          +            {
          +                this._setBaseAttribute(vgl, "axis", vAxis);
          +            }
          +            if(this._getBaseAttribute(vgl, "axis"))
          +            {
          +                graph.set("verticalGridlines", vgl);
          +            }
          +        }
          +    },
          +   
          +    /**
          +     * Returns all the keys contained in a  `dataProvider`.
          +     *
          +     * @method _getAllKeys
          +     * @param {Array} dp Collection of objects to be parsed.
          +     * @return Object
          +     */
          +    _getAllKeys: function(dp)
          +    {
          +        var i = 0,
          +            len = dp.length,
          +            item,
          +            key,
          +            keys = {};
          +        for(; i < len; ++i)
          +        {
          +            item = dp[i];
          +            for(key in item)
          +            {
          +                if(item.hasOwnProperty(key))
          +                {
          +                    keys[key] = true;
          +                }
          +            }
          +        }
          +        return keys;
          +    },
          +    
          +    /**
          +     * Default Function for the axes attribute.
          +     *
          +     * @method _getDefaultAxes
          +     * @return Object
          +     * @private
          +     */
          +    _getDefaultAxes: function()
          +    {
          +        return this._parseAxes();
          +    },
          +
          +    /**
          +     * Generates and returns a key-indexed object containing `Axis` instances or objects used to create `Axis` instances.
          +     *
          +     * @method _parseAxes
          +     * @param {Object} axes Object containing `Axis` instances or `Axis` attributes.
          +     * @return Object
          +     * @private
          +     */
          +    _parseAxes: function(axes)
          +    {
          +        var catKey = this.get("categoryKey"),
          +            axis,
          +            attr,
          +            keys,
          +            newAxes = {},
          +            claimedKeys = [],
          +            categoryAxisName = this.get("categoryAxisName") || this.get("categoryKey"),
          +            valueAxisName = this.get("valueAxisName"),
          +            seriesKeys = this.get("seriesKeys") || [], 
          +            i, 
          +            l,
          +            ii,
          +            ll,
          +            cIndex,
          +            dv,
          +            dp = this.get("dataProvider"),
          +            direction = this.get("direction"),
          +            seriesPosition,
          +            categoryPosition,
          +            valueAxes = [],
          +            seriesAxis = this.get("stacked") ? "stacked" : "numeric";
          +        if(direction == "vertical")
          +        {
          +            seriesPosition = "bottom";
          +            categoryPosition = "left";
          +        }
          +        else
          +        {
          +            seriesPosition = "left";
          +            categoryPosition = "bottom";
          +        }
          +        if(axes)
          +        {
          +            for(i in axes)
          +            {
          +                if(axes.hasOwnProperty(i))
          +                {
          +                    axis = axes[i];
          +                    keys = this._getBaseAttribute(axis, "keys");
          +                    attr = this._getBaseAttribute(axis, "type");
          +                    if(attr == "time" || attr == "category")
          +                    {
          +                        categoryAxisName = i;
          +                        this.set("categoryAxisName", i);
          +                        if(Y_Lang.isArray(keys) && keys.length > 0)
          +                        {
          +                            catKey = keys[0];
          +                            this.set("categoryKey", catKey);
          +                        }
          +                        newAxes[i] = axis;
          +                    }
          +                    else if(i == categoryAxisName)
          +                    {
          +                        newAxes[i] = axis;
          +                    }
          +                    else 
          +                    {
          +                        newAxes[i] = axis;
          +                        if(i != valueAxisName && keys && Y_Lang.isArray(keys))
          +                        {
          +                            ll = keys.length;
          +                            for(ii = 0; ii < ll; ++ii)
          +                            {
          +                                claimedKeys.push(keys[ii]);
          +                            }
          +                            valueAxes.push(newAxes[i]);
          +                        }
          +                        if(!(this._getBaseAttribute(newAxes[i], "type")))
          +                        {
          +                            this._setBaseAttribute(newAxes[i], "type", seriesAxis);
          +                        }
          +                        if(!(this._getBaseAttribute(newAxes[i], "position")))
          +                        {
          +                            this._setBaseAttribute(newAxes[i], "position", this._getDefaultAxisPosition(newAxes[i], valueAxes, seriesPosition));
          +                        }
          +                    }
          +                }
          +            }
          +        }
          +        if(seriesKeys.length < 1)
          +        {
          +            dv = this._getAllKeys(dp);
          +            for(i in dv)
          +            {
          +                if(dv.hasOwnProperty(i) && i != catKey && Y.Array.indexOf(claimedKeys, i) == -1)
          +                {
          +                    seriesKeys.push(i);
          +                }
          +            }
          +        }
          +        cIndex = Y.Array.indexOf(seriesKeys, catKey);
          +        if(cIndex > -1)
          +        {
          +            seriesKeys.splice(cIndex, 1);
          +        }
          +        l = claimedKeys.length;
          +        for(i = 0; i < l; ++i)
          +        {
          +            cIndex = Y.Array.indexOf(seriesKeys, claimedKeys[i]); 
          +            if(cIndex > -1)
          +            {
          +                seriesKeys.splice(cIndex, 1);
          +            }
          +        }
          +        if(!newAxes.hasOwnProperty(categoryAxisName))
          +        {
          +            newAxes[categoryAxisName] = {};
          +        }
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], "keys")))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], "keys", [catKey]);
          +        }
          +        
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], "position")))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], "position", categoryPosition);
          +        }
          +         
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], "type")))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], "type", this.get("categoryType"));
          +        }
          +        if(!newAxes.hasOwnProperty(valueAxisName) && seriesKeys && seriesKeys.length > 0)
          +        {
          +            newAxes[valueAxisName] = {keys:seriesKeys};
          +            valueAxes.push(newAxes[valueAxisName]);
          +        }
          +        if(claimedKeys.length > 0)
          +        {
          +            if(seriesKeys.length > 0)
          +            {
          +                seriesKeys = claimedKeys.concat(seriesKeys);
          +            }
          +            else
          +            {
          +                seriesKeys = claimedKeys;
          +            }
          +        }
          +        if(newAxes.hasOwnProperty(valueAxisName))
          +        {
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], "position")))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], "position", this._getDefaultAxisPosition(newAxes[valueAxisName], valueAxes, seriesPosition));
          +            }
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], "type")))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], "type", seriesAxis);
          +            }
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], "keys")))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], "keys", seriesKeys);
          +            }
          +        } 
          +        this.set("seriesKeys", seriesKeys);
          +        return newAxes;
          +    },
          +
          +    /**
          +     * Determines the position of an axis when one is not specified.
          +     *
          +     * @method _getDefaultAxisPosition
          +     * @param {Axis} axis `Axis` instance.
          +     * @param {Array} valueAxes Array of `Axis` instances.
          +     * @param {String} position Default position depending on the direction of the chart and type of axis.
          +     * @return String
          +     * @private
          +     */
          +    _getDefaultAxisPosition: function(axis, valueAxes, position)
          +    {
          +        var direction = this.get("direction"),
          +            i = Y.Array.indexOf(valueAxes, axis);
          +        
          +        if(valueAxes[i - 1] && valueAxes[i - 1].position)
          +        {
          +            if(direction == "horizontal")
          +            {
          +                if(valueAxes[i - 1].position == "left")
          +                {
          +                    position = "right";
          +                }
          +                else if(valueAxes[i - 1].position == "right")
          +                {
          +                    position = "left";
          +                }
          +            }
          +            else
          +            {
          +                if (valueAxes[i -1].position == "bottom")
          +                {
          +                    position = "top";
          +                }       
          +                else
          +                {
          +                    position = "bottom";
          +                }
          +            }
          +        }
          +        return position;
          +    },
          +
          +   
          +    /**
          +     * Returns an object literal containing a categoryItem and a valueItem for a given series index. Below is the structure of each:
          +     * 
          +     * @method getSeriesItems
          +     * @param {CartesianSeries} series Reference to a series.
          +     * @param {Number} index Index of the specified item within a series.
          +     * @return Object An object literal containing the following:
          +     *
          +     *  <dl>
          +     *      <dt>categoryItem</dt><dd>Object containing the following data related to the category axis of the series.
          +     *  <dl>
          +     *      <dt>axis</dt><dd>Reference to the category axis of the series.</dd>
          +     *      <dt>key</dt><dd>Category key for the series.</dd>
          +     *      <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>
          +     *  </dl>
          +     *      </dd>
          +     *      <dt>valueItem</dt><dd>Object containing the following data related to the category axis of the series.
          +     *  <dl>
          +     *      <dt>axis</dt><dd>Reference to the value axis of the series.</dd>
          +     *      <dt>key</dt><dd>Value key for the series.</dd>
          +     *      <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>
          +     *  </dl>
          +     *      </dd>
          +     *  </dl>
          +     */
          +    getSeriesItems: function(series, index)
          +    {
          +        var xAxis = series.get("xAxis"),
          +            yAxis = series.get("yAxis"),
          +            xKey = series.get("xKey"),
          +            yKey = series.get("yKey"),
          +            categoryItem,
          +            valueItem;
          +        if(this.get("direction") == "vertical")
          +        {
          +            categoryItem = {
          +                axis:yAxis,
          +                key:yKey,
          +                value:yAxis.getKeyValueAt(yKey, index)
          +            };
          +            valueItem = {
          +                axis:xAxis,
          +                key:xKey,
          +                value: xAxis.getKeyValueAt(xKey, index)
          +            };
          +        }
          +        else
          +        {
          +            valueItem = {
          +                axis:yAxis,
          +                key:yKey,
          +                value:yAxis.getKeyValueAt(yKey, index)
          +            };
          +            categoryItem = {
          +                axis:xAxis,
          +                key:xKey,
          +                value: xAxis.getKeyValueAt(xKey, index)
          +            };
          +        }
          +        categoryItem.displayName = series.get("categoryDisplayName");
          +        valueItem.displayName = series.get("valueDisplayName");
          +        categoryItem.value = categoryItem.axis.getKeyValueAt(categoryItem.key, index);
          +        valueItem.value = valueItem.axis.getKeyValueAt(valueItem.key, index);
          +        return {category:categoryItem, value:valueItem};
          +    },
          +
          +    /**
          +     * Handler for sizeChanged event.
          +     *
          +     * @method _sizeChanged
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _sizeChanged: function(e)
          +    {
          +        if(this._axesCollection)
          +        {
          +            var ac = this._axesCollection,
          +                i = 0,
          +                l = ac.length;
          +            for(; i < l; ++i)
          +            {
          +                this._addToAxesRenderQueue(ac[i]);
          +            }
          +            this._redraw();
          +        }
          +    },
          +    
          +    /**
          +     * Returns the maximum distance in pixels that the extends outside the top bounds of all vertical axes.
          +     *
          +     * @method _getTopOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     */
          +    _getTopOverflow: function(set1, set2, height)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMaxLabelBounds().top) - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMaxLabelBounds().top) - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    /**
          +     * Returns the maximum distance in pixels that the extends outside the right bounds of all horizontal axes.
          +     *
          +     * @method _getRightOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     */
          +    _getRightOverflow: function(set1, set2, width)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, axis.getMaxLabelBounds().right - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, axis.getMaxLabelBounds().right - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    /**
          +     * Returns the maximum distance in pixels that the extends outside the left bounds of all horizontal axes.
          +     *
          +     * @method _getLeftOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     */
          +    _getLeftOverflow: function(set1, set2, width)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMinLabelBounds().left) - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMinLabelBounds().left) - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    /**
          +     * Returns the maximum distance in pixels that the extends outside the bottom bounds of all vertical axes.
          +     *
          +     * @method _getBottomOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} height Height of the axes
          +     * @return Number
          +     * @private
          +     */
          +    _getBottomOverflow: function(set1, set2, height)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, axis.getMinLabelBounds().bottom - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i < len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, axis.getMinLabelBounds().bottom - (axis.getEdgeOffset(axis.get("styles").majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +
          +    /**
          +     * Redraws and position all the components of the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     */
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var w = this.get("width"),
          +            h = this.get("height"),
          +            leftPaneWidth = 0,
          +            rightPaneWidth = 0,
          +            topPaneHeight = 0,
          +            bottomPaneHeight = 0,
          +            leftAxesCollection = this.get("leftAxesCollection"),
          +            rightAxesCollection = this.get("rightAxesCollection"),
          +            topAxesCollection = this.get("topAxesCollection"),
          +            bottomAxesCollection = this.get("bottomAxesCollection"),
          +            i = 0,
          +            l,
          +            axis,
          +            graphOverflow = "visible",
          +            graph = this.get("graph"),
          +            topOverflow,
          +            bottomOverflow,
          +            leftOverflow,
          +            rightOverflow,
          +            graphWidth,
          +            graphHeight,
          +            graphX,
          +            graphY,
          +            allowContentOverflow = this.get("allowContentOverflow"),
          +            diff,
          +            rightAxesXCoords,
          +            leftAxesXCoords,
          +            topAxesYCoords,
          +            bottomAxesYCoords,
          +            graphRect = {};
          +        if(leftAxesCollection)
          +        {
          +            leftAxesXCoords = [];
          +            l = leftAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                leftAxesXCoords.unshift(leftPaneWidth);
          +                leftPaneWidth += leftAxesCollection[i].get("width");
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            rightAxesXCoords = [];
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                rightPaneWidth += rightAxesCollection[i].get("width");
          +                rightAxesXCoords.unshift(w - rightPaneWidth);
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            topAxesYCoords = [];
          +            l = topAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                topAxesYCoords.unshift(topPaneHeight);
          +                topPaneHeight += topAxesCollection[i].get("height");
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            bottomAxesYCoords = [];
          +            l = bottomAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                bottomPaneHeight += bottomAxesCollection[i].get("height");
          +                bottomAxesYCoords.unshift(h - bottomPaneHeight);
          +            }
          +        }
          +        
          +        graphWidth = w - (leftPaneWidth + rightPaneWidth);
          +        graphHeight = h - (bottomPaneHeight + topPaneHeight);
          +        graphRect.left = leftPaneWidth;
          +        graphRect.top = topPaneHeight;
          +        graphRect.bottom = h - bottomPaneHeight;
          +        graphRect.right = w - rightPaneWidth;
          +        if(!allowContentOverflow)
          +        {
          +            topOverflow = this._getTopOverflow(leftAxesCollection, rightAxesCollection);
          +            bottomOverflow = this._getBottomOverflow(leftAxesCollection, rightAxesCollection);
          +            leftOverflow = this._getLeftOverflow(bottomAxesCollection, topAxesCollection);
          +            rightOverflow = this._getRightOverflow(bottomAxesCollection, topAxesCollection);
          +            
          +            diff = topOverflow - topPaneHeight;
          +            if(diff > 0)
          +            {
          +                graphRect.top = topOverflow;
          +                if(topAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = topAxesYCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        topAxesYCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = bottomOverflow - bottomPaneHeight;
          +            if(diff > 0)
          +            {
          +                graphRect.bottom = h - bottomOverflow;
          +                if(bottomAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = bottomAxesYCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        bottomAxesYCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +
          +            diff = leftOverflow - leftPaneWidth;
          +            if(diff > 0)
          +            {
          +                graphRect.left = leftOverflow;
          +                if(leftAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = leftAxesXCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        leftAxesXCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = rightOverflow - rightPaneWidth;
          +            if(diff > 0)
          +            {
          +                graphRect.right = w - rightOverflow;
          +                if(rightAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = rightAxesXCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        rightAxesXCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +        }
          +        graphWidth = graphRect.right - graphRect.left;
          +        graphHeight = graphRect.bottom - graphRect.top;
          +        graphX = graphRect.left;
          +        graphY = graphRect.top;
          +        if(topAxesCollection)
          +        {
          +            l = topAxesCollection.length;
          +            i = 0;
          +            for(; i < l; i++)
          +            {
          +                axis = topAxesCollection[i];
          +                if(axis.get("width") !== graphWidth)
          +                {
          +                    axis.set("width", graphWidth);
          +                }
          +                axis.get("boundingBox").setStyle("left", graphX + "px");
          +                axis.get("boundingBox").setStyle("top", topAxesYCoords[i] + "px");
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            l = bottomAxesCollection.length;
          +            i = 0;
          +            for(; i < l; i++)
          +            {
          +                axis = bottomAxesCollection[i];
          +                if(axis.get("width") !== graphWidth)
          +                {
          +                    axis.set("width", graphWidth);
          +                }
          +                axis.get("boundingBox").setStyle("left", graphX + "px");
          +                axis.get("boundingBox").setStyle("top", bottomAxesYCoords[i] + "px");
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(leftAxesCollection)
          +        {
          +            l = leftAxesCollection.length;
          +            i = 0;
          +            for(; i < l; ++i)
          +            {
          +                axis = leftAxesCollection[i];
          +                axis.get("boundingBox").setStyle("top", graphY + "px");
          +                axis.get("boundingBox").setStyle("left", leftAxesXCoords[i] + "px");
          +                if(axis.get("height") !== graphHeight)
          +                {
          +                    axis.set("height", graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(; i < l; ++i)
          +            {
          +                axis = rightAxesCollection[i];
          +                axis.get("boundingBox").setStyle("top", graphY + "px");
          +                axis.get("boundingBox").setStyle("left", rightAxesXCoords[i] + "px");
          +                if(axis.get("height") !== graphHeight)
          +                {
          +                    axis.set("height", graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.get("boundingBox").setStyle("left", graphX + "px");
          +            graph.get("boundingBox").setStyle("top", graphY + "px");
          +            graph.set("width", graphWidth);
          +            graph.set("height", graphHeight);
          +            graph.get("boundingBox").setStyle("overflow", graphOverflow);
          +        }
          +
          +        if(this._overlay)
          +        {
          +            this._overlay.setStyle("left", graphX + "px");
          +            this._overlay.setStyle("top", graphY + "px");
          +            this._overlay.setStyle("width", graphWidth + "px");
          +            this._overlay.setStyle("height", graphHeight + "px");
          +        }
          +    },
          +
          +    /**
          +     * Destructor implementation for the CartesianChart class. Calls destroy on all axes, series and the Graph instance.
          +     * Removes the tooltip and overlay HTML elements.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        var graph = this.get("graph"),
          +            i = 0,
          +            len,
          +            seriesCollection = this.get("seriesCollection"),
          +            axesCollection = this._axesCollection,
          +            tooltip = this.get("tooltip").node;
          +        if(this._description)
          +        {
          +            this._description.empty();
          +            this._description.remove(true);
          +        }
          +        if(this._liveRegion)
          +        {
          +            this._liveRegion.empty();
          +            this._liveRegion.remove(true);
          +        }
          +        len = seriesCollection ? seriesCollection.length : 0;
          +        for(; i < len; ++i)
          +        {
          +            if(seriesCollection[i] instanceof Y.CartesianSeries)
          +            {
          +                seriesCollection[i].destroy(true);
          +            }
          +        }
          +        len = axesCollection ? axesCollection.length : 0;
          +        for(i = 0; i < len; ++i)
          +        {
          +            if(axesCollection[i] instanceof Y.Axis)
          +            {
          +                axesCollection[i].destroy(true);
          +            }
          +        }
          +        if(graph)
          +        {
          +            graph.destroy(true);
          +        }
          +        if(tooltip)
          +        {
          +            tooltip.empty();
          +            tooltip.remove(true);
          +        }
          +        if(this._overlay)
          +        {
          +            this._overlay.empty();
          +            this._overlay.remove(true);
          +        }
          +    },
          +
          +    /**
          +     * Returns the appropriate message based on the key press.
          +     *
          +     * @method _getAriaMessage
          +     * @param {Number} key The keycode that was pressed.
          +     * @return String
          +     */
          +    _getAriaMessage: function(key)
          +    {
          +        var msg = "",
          +            series,
          +            items,
          +            categoryItem,
          +            valueItem,
          +            seriesIndex = this._seriesIndex,
          +            itemIndex = this._itemIndex,
          +            seriesCollection = this.get("seriesCollection"),
          +            len = seriesCollection.length,
          +            dataLength;
          +        if(key % 2 === 0)
          +        {
          +            if(len > 1)
          +            {
          +                if(key === 38)
          +                {
          +                    seriesIndex = seriesIndex < 1 ? len - 1 : seriesIndex - 1;
          +                }
          +                else if(key === 40)
          +                {
          +                    seriesIndex = seriesIndex >= len - 1 ? 0 : seriesIndex + 1;
          +                }
          +                this._itemIndex = -1;
          +            }
          +            else
          +            {
          +                seriesIndex = 0;
          +            }
          +            this._seriesIndex = seriesIndex;
          +            series = this.getSeries(parseInt(seriesIndex, 10));
          +            msg = series.get("valueDisplayName") + " series.";
          +        }
          +        else
          +        {
          +            if(seriesIndex > -1)
          +            {
          +                msg = "";
          +                series = this.getSeries(parseInt(seriesIndex, 10));
          +            }
          +            else
          +            {
          +                seriesIndex = 0;
          +                this._seriesIndex = seriesIndex;
          +                series = this.getSeries(parseInt(seriesIndex, 10));
          +                msg = series.get("valueDisplayName") + " series.";
          +            }
          +            dataLength = series._dataLength ? series._dataLength : 0;
          +            if(key === 37)
          +            {
          +                itemIndex = itemIndex > 0 ? itemIndex - 1 : dataLength - 1;
          +            }
          +            else if(key === 39)
          +            {
          +                itemIndex = itemIndex >= dataLength - 1 ? 0 : itemIndex + 1;
          +            }
          +            this._itemIndex = itemIndex;
          +            items = this.getSeriesItems(series, itemIndex);
          +            categoryItem = items.category;
          +            valueItem = items.value;
          +            if(categoryItem && valueItem && categoryItem.value && valueItem.value)
          +            {
          +                msg += categoryItem.displayName + ": " + categoryItem.axis.formatLabel.apply(this, [categoryItem.value, categoryItem.axis.get("labelFormat")]) + ", ";
          +                msg += valueItem.displayName + ": " + valueItem.axis.formatLabel.apply(this, [valueItem.value, valueItem.axis.get("labelFormat")]) + ", "; 
          +            }
          +            else
          +            {
          +                msg += "No data available.";
          +            }
          +            msg += (itemIndex + 1) + " of " + dataLength + ". ";
          +        }
          +        return msg;
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Indicates whether axis labels are allowed to overflow beyond the bounds of the chart's content box.
          +         *
          +         * @attribute allowContentOverflow
          +         * @type Boolean
          +         */
          +        allowContentOverflow: {
          +            value: false
          +        },
          +
          +        /**
          +         * Style object for the axes.
          +         *
          +         * @attribute axesStyles
          +         * @type Object
          +         * @private
          +         */
          +        axesStyles: {
          +            getter: function()
          +            {
          +                var axes = this.get("axes"),
          +                    i,
          +                    styles = this._axesStyles;
          +                if(axes)
          +                {
          +                    for(i in axes)
          +                    {
          +                        if(axes.hasOwnProperty(i) && axes[i] instanceof Y.Axis)
          +                        {
          +                            if(!styles)
          +                            {
          +                                styles = {};
          +                            }
          +                            styles[i] = axes[i].get("styles");
          +                        }
          +                    }
          +                }
          +                return styles;
          +            },
          +            
          +            setter: function(val)
          +            {
          +                var axes = this.get("axes"),
          +                    i;
          +                for(i in val)
          +                {
          +                    if(val.hasOwnProperty(i) && axes.hasOwnProperty(i))
          +                    {
          +                        this._setBaseAttribute(axes[i], "styles", val[i]);
          +                    }
          +                }
          +            }
          +        },
          +
          +        /**
          +         * Style object for the series
          +         *
          +         * @attribute seriesStyles
          +         * @type Object
          +         * @private
          +         */
          +        seriesStyles: {
          +            getter: function()
          +            {
          +                var styles = this._seriesStyles,
          +                    graph = this.get("graph"),
          +                    dict,
          +                    i;
          +                if(graph)
          +                {
          +                    dict = graph.get("seriesDictionary");
          +                    if(dict)
          +                    {
          +                        styles = {};
          +                        for(i in dict)
          +                        {
          +                            if(dict.hasOwnProperty(i))
          +                            {
          +                                styles[i] = dict[i].get("styles");
          +                            }
          +                        }
          +                    }
          +                }
          +                return styles;
          +            },
          +            
          +            setter: function(val)
          +            {
          +                var i,
          +                    l,
          +                    s;
          +    
          +                if(Y_Lang.isArray(val))
          +                {
          +                    s = this.get("seriesCollection");
          +                    i = 0;
          +                    l = val.length;
          +
          +                    for(; i < l; ++i)
          +                    {
          +                        this._setBaseAttribute(s[i], "styles", val[i]);
          +                    }
          +                }
          +                else
          +                {
          +                    for(i in val)
          +                    {
          +                        if(val.hasOwnProperty(i))
          +                        {
          +                            s = this.getSeries(i);
          +                            this._setBaseAttribute(s, "styles", val[i]);
          +                        }
          +                    }
          +                }
          +            }
          +        },
          +
          +        /**
          +         * Styles for the graph.
          +         *
          +         * @attribute graphStyles
          +         * @type Object
          +         * @private
          +         */
          +        graphStyles: {
          +            getter: function()
          +            {
          +                var graph = this.get("graph");
          +                if(graph)
          +                {
          +                    return(graph.get("styles"));
          +                }
          +                return this._graphStyles;
          +            },
          +
          +            setter: function(val)
          +            {
          +                var graph = this.get("graph");
          +                this._setBaseAttribute(graph, "styles", val);
          +            }
          +
          +        },
          +
          +        /**
          +         * Style properties for the chart. Contains a key indexed hash of the following:
          +         *  <dl>
          +         *      <dt>series</dt><dd>A key indexed hash containing references to the `styles` attribute for each series in the chart.
          +         *      Specific style attributes vary depending on the series:
          +         *      <ul>
          +         *          <li><a href="AreaSeries.html#attr_styles">AreaSeries</a></li>
          +         *          <li><a href="BarSeries.html#attr_styles">BarSeries</a></li>
          +         *          <li><a href="ColumnSeries.html#attr_styles">ColumnSeries</a></li>
          +         *          <li><a href="ComboSeries.html#attr_styles">ComboSeries</a></li>
          +         *          <li><a href="LineSeries.html#attr_styles">LineSeries</a></li>
          +         *          <li><a href="MarkerSeries.html#attr_styles">MarkerSeries</a></li>
          +         *          <li><a href="SplineSeries.html#attr_styles">SplineSeries</a></li>
          +         *      </ul>
          +         *      </dd>
          +         *      <dt>axes</dt><dd>A key indexed hash containing references to the `styles` attribute for each axes in the chart. Specific
          +         *      style attributes can be found in the <a href="Axis.html#attr_styles">Axis</a> class.</dd>
          +         *      <dt>graph</dt><dd>A reference to the `styles` attribute in the chart. Specific style attributes can be found in the
          +         *      <a href="Graph.html#attr_styles">Graph</a> class.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +        styles: {
          +            getter: function()
          +            {
          +                var styles = { 
          +                    axes: this.get("axesStyles"),
          +                    series: this.get("seriesStyles"),
          +                    graph: this.get("graphStyles")
          +                };
          +                return styles;
          +            },
          +            setter: function(val)
          +            {
          +                if(val.hasOwnProperty("axes"))
          +                {
          +                    if(this.get("axesStyles"))
          +                    {
          +                        this.set("axesStyles", val.axes);
          +                    }
          +                    else
          +                    {
          +                        this._axesStyles = val.axes;
          +                    }
          +                }
          +                if(val.hasOwnProperty("series"))
          +                {
          +                    if(this.get("seriesStyles"))
          +                    {
          +                        this.set("seriesStyles", val.series);
          +                    }
          +                    else
          +                    {
          +                        this._seriesStyles = val.series;
          +                    }
          +                }
          +                if(val.hasOwnProperty("graph"))
          +                {
          +                    this.set("graphStyles", val.graph);
          +                }
          +            }
          +        },
          +
          +        /**
          +         * Axes to appear in the chart. This can be a key indexed hash of axis instances or object literals
          +         * used to construct the appropriate axes.
          +         *
          +         * @attribute axes
          +         * @type Object
          +         */
          +        axes: {
          +            valueFn: "_getDefaultAxes",
          +
          +            setter: function(val)
          +            {
          +                return this._setAxes(val);
          +            }
          +        },
          +
          +        /**
          +         * Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +         * used to construct the appropriate series.
          +         *
          +         * @attribute seriesCollection
          +         * @type Array
          +         */
          +        seriesCollection: {
          +            valueFn: "_getDefaultSeriesCollection",
          +            
          +            setter: function(val)
          +            {
          +                return this._parseSeriesCollection(val);
          +            }
          +        },
          +
          +        /**
          +         * Reference to the left-aligned axes for the chart.
          +         *
          +         * @attribute leftAxesCollection
          +         * @type Array
          +         * @private
          +         */
          +        leftAxesCollection: {},
          +
          +        /**
          +         * Reference to the bottom-aligned axes for the chart.
          +         *
          +         * @attribute bottomAxesCollection
          +         * @type Array
          +         * @private
          +         */
          +        bottomAxesCollection: {},
          +
          +        /**
          +         * Reference to the right-aligned axes for the chart.
          +         *
          +         * @attribute rightAxesCollection
          +         * @type Array
          +         * @private
          +         */
          +        rightAxesCollection: {},
          +
          +        /**
          +         * Reference to the top-aligned axes for the chart.
          +         *
          +         * @attribute topAxesCollection
          +         * @type Array
          +         * @private
          +         */
          +        topAxesCollection: {},
          +        
          +        /**
          +         * Indicates whether or not the chart is stacked.
          +         *
          +         * @attribute stacked
          +         * @type Boolean
          +         */
          +        stacked: {
          +            value: false
          +        },
          +
          +        /**
          +         * Direction of chart's category axis when there is no series collection specified. Charts can
          +         * be horizontal or vertical. When the chart type is column, the chart is horizontal.
          +         * When the chart type is bar, the chart is vertical. 
          +         *
          +         * @attribute direction
          +         * @type String
          +         */
          +        direction: {
          +            getter: function()
          +            {
          +                var type = this.get("type");
          +                if(type == "bar")
          +                {   
          +                    return "vertical";
          +                }
          +                else if(type == "column")
          +                {
          +                    return "horizontal";
          +                }
          +                return this._direction;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._direction = val;
          +                return this._direction;
          +            }
          +        },
          +
          +        /**
          +         * Indicates whether or not an area is filled in a combo chart.
          +         * 
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         */
          +        showAreaFill: {},
          +
          +        /**
          +         * Indicates whether to display markers in a combo chart.
          +         *
          +         * @attribute showMarkers
          +         * @type Boolean
          +         */
          +        showMarkers:{},
          +
          +        /**
          +         * Indicates whether to display lines in a combo chart.
          +         *
          +         * @attribute showLines
          +         * @type Boolean
          +         */
          +        showLines:{},
          +
          +        /**
          +         * Indicates the key value used to identify a category axis in the `axes` hash. If
          +         * not specified, the categoryKey attribute value will be used.
          +         * 
          +         * @attribute categoryAxisName
          +         * @type String
          +         */
          +        categoryAxisName: {
          +        },
          +
          +        /**
          +         * Indicates the key value used to identify a the series axis when an axis not generated.
          +         *
          +         * @attribute valueAxisName
          +         * @type String
          +         */
          +        valueAxisName: {
          +            value: "values"
          +        },
          +
          +        /**
          +         * Reference to the horizontalGridlines for the chart.
          +         *
          +         * @attribute horizontalGridlines
          +         * @type Gridlines
          +         */
          +        horizontalGridlines: {
          +            getter: function()
          +            {
          +                var graph = this.get("graph");
          +                if(graph)
          +                {
          +                    return graph.get("horizontalGridlines");
          +                }
          +                return this._horizontalGridlines;
          +            },
          +            setter: function(val)
          +            {
          +                var graph = this.get("graph");
          +                if(val && !Y_Lang.isObject(val))
          +                {
          +                    val = {};
          +                }
          +                if(graph)
          +                {
          +                    graph.set("horizontalGridlines", val);
          +                }
          +                else
          +                {
          +                    this._horizontalGridlines = val;
          +                }
          +            }
          +        },
          +
          +        /**
          +         * Reference to the verticalGridlines for the chart.
          +         *
          +         * @attribute verticalGridlines
          +         * @type Gridlines
          +         */
          +        verticalGridlines: {
          +            getter: function()
          +            {
          +                var graph = this.get("graph");
          +                if(graph)
          +                {
          +                    return graph.get("verticalGridlines");
          +                }
          +                return this._verticalGridlines;
          +            },
          +            setter: function(val)
          +            {
          +                var graph = this.get("graph");
          +                if(val && !Y_Lang.isObject(val))
          +                {
          +                    val = {};
          +                }
          +                if(graph)
          +                {
          +                    graph.set("verticalGridlines", val);
          +                }
          +                else
          +                {
          +                    this._verticalGridlines = val;
          +                }
          +            }
          +        },
          +        
          +        /**
          +         * Type of chart when there is no series collection specified.
          +         *
          +         * @attribute type
          +         * @type String 
          +         */
          +        type: {
          +            getter: function()
          +            {
          +                if(this.get("stacked"))
          +                {
          +                    return "stacked" + this._type;
          +                }
          +                return this._type;
          +            },
          +
          +            setter: function(val)
          +            {
          +                if(this._type == "bar")
          +                {
          +                    if(val != "bar")
          +                    {
          +                        this.set("direction", "horizontal");
          +                    }
          +                }
          +                else
          +                {
          +                    if(val == "bar")
          +                    {
          +                        this.set("direction", "vertical");
          +                    }
          +                }
          +                this._type = val;
          +                return this._type;
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the category axis used by the chart.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         */
          +        categoryAxis:{}
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChartLegend.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChartLegend.js
          new file mode 100644
          index 000000000..4cfa2cf46
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianChartLegend.js
          @@ -0,0 +1,738 @@
          +/**
          + * Adds legend functionality to charts.
          + *
          + * @module charts
          + * @submodule charts-legend
          + */
          +var DOCUMENT = Y.config.doc, 
          +TOP = "top",
          +RIGHT = "right",
          +BOTTOM = "bottom",
          +LEFT = "left",
          +EXTERNAL = "external",
          +HORIZONTAL = "horizontal",
          +VERTICAL = "vertical",
          +WIDTH = "width",
          +HEIGHT = "height",
          +POSITION = "position",
          +_X = "x",
          +_Y = "y",
          +PX = "px",
          +LEGEND = {
          +    setter: function(val)
          +    {   
          +        var legend = this.get("legend");
          +        if(legend)
          +        {
          +            legend.destroy(true);
          +        }
          +        if(val instanceof Y.ChartLegend)
          +        {
          +            legend = val;
          +            legend.set("chart", this);
          +        }
          +        else
          +        {
          +            val.chart = this;
          +            if(!val.hasOwnProperty("render"))
          +            {
          +                val.render = this.get("contentBox");
          +                val.includeInChartLayout = true;
          +            }
          +            legend = new Y.ChartLegend(val);
          +        }
          +        return legend;
          +    }
          +},
          +
          +/**
          + * Contains methods for displaying items horizontally in a legend.
          + *
          + * @module charts
          + * @submodule charts-legend
          + * @class HorizontalLegendLayout
          + */
          +HorizontalLegendLayout = {
          +    /**
          +     * Displays items horizontally in a legend.
          +     *
          +     * @method _positionLegendItems
          +     * @param {Array} items Array of items to display in the legend.
          +     * @param {Number} maxWidth The width of the largest item in the legend.
          +     * @param {Number} maxHeight The height of the largest item in the legend.
          +     * @param {Number} totalWidth The total width of all items in a legend.
          +     * @param {Number} totalHeight The total height of all items in a legend.
          +     * @param {Number} padding The left, top, right and bottom padding properties for the legend.
          +     * @param {Number} horizontalGap The horizontal distance between items in a legend.
          +     * @param {Number} verticalGap The vertical distance between items in a legend.
          +     * @param {String} hAlign The horizontal alignment of the legend.
          +     * @param {String} vAlign The vertical alignment of the legend.
          +     * @protected
          +     */
          +    _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, hAlign, vAlign)
          +    {
          +        var i = 0,
          +            rowIterator = 0,
          +            item,
          +            node,
          +            itemWidth,
          +            itemHeight,
          +            len,
          +            width = this.get("width"),
          +            rows,
          +            rowsLen,
          +            row,
          +            totalWidthArray,
          +            legendWidth,
          +            topHeight = padding.top - verticalGap,
          +            limit = width - (padding.left + padding.right),
          +            left, 
          +            top,
          +            right,
          +            bottom;
          +        HorizontalLegendLayout._setRowArrays(items, limit, horizontalGap);
          +        rows = HorizontalLegendLayout.rowArray;
          +        totalWidthArray = HorizontalLegendLayout.totalWidthArray;
          +        rowsLen = rows.length;
          +        for(; rowIterator < rowsLen; ++ rowIterator)
          +        {
          +            topHeight += verticalGap;
          +            row = rows[rowIterator];
          +            len = row.length;
          +            legendWidth =  HorizontalLegendLayout.getStartPoint(width, totalWidthArray[rowIterator], hAlign, padding);
          +            for(i = 0; i < len; ++i)
          +            {
          +                item = row[i];
          +                node = item.node;
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                item.x = legendWidth;
          +                item.y = 0;
          +                left = !isNaN(left) ? Math.min(left, legendWidth) : legendWidth;
          +                top = !isNaN(top) ? Math.min(top, topHeight) : topHeight;
          +                right = !isNaN(right) ? Math.max(legendWidth + itemWidth, right) : legendWidth + itemWidth;
          +                bottom = !isNaN(bottom) ? Math.max(topHeight + itemHeight, bottom) : topHeight + itemHeight;
          +                node.setStyle("left", legendWidth + PX);
          +                node.setStyle("top", topHeight + PX);
          +                legendWidth += itemWidth + horizontalGap;
          +            }
          +            topHeight += item.height;
          +        }
          +        this._contentRect = {
          +            left: left,
          +            top: top,
          +            right: right,
          +            bottom: bottom
          +        };
          +        if(this.get("includeInChartLayout"))
          +        {
          +            this.set("height", topHeight + padding.bottom);
          +        }
          +    },
          +
          +    /**
          +     * Creates row and total width arrays used for displaying multiple rows of
          +     * legend items based on the items, available width and horizontalGap for the legend.
          +     *
          +     * @method _setRowArrays
          +     * @param {Array} items Array of legend items to display in a legend.
          +     * @param {Number} limit Total available width for displaying items in a legend.
          +     * @param {Number} horizontalGap Horizontal distance between items in a legend.
          +     * @protected
          +     */
          +    _setRowArrays: function(items, limit, horizontalGap)
          +    {
          +        var item = items[0],
          +            rowArray = [[item]],
          +            i = 1,
          +            rowIterator = 0,
          +            len = items.length,
          +            totalWidth = item.width,
          +            itemWidth,
          +            totalWidthArray = [[totalWidth]];
          +        for(; i < len; ++i)
          +        {
          +            item = items[i];
          +            itemWidth = item.width;
          +            if((totalWidth + horizontalGap + itemWidth) <= limit)
          +            {
          +                totalWidth += horizontalGap + itemWidth;
          +                rowArray[rowIterator].push(item);
          +            }
          +            else
          +            {
          +                totalWidth = horizontalGap + itemWidth;
          +                if(rowArray[rowIterator])
          +                {
          +                    rowIterator += 1;
          +                }
          +                rowArray[rowIterator] = [item];
          +            }
          +            totalWidthArray[rowIterator] = totalWidth;
          +        }
          +        HorizontalLegendLayout.rowArray = rowArray;
          +        HorizontalLegendLayout.totalWidthArray = totalWidthArray;
          +    },
          +
          +    /**
          +     * Returns the starting x-coordinate for a row of legend items.
          +     *
          +     * @method getStartPoint
          +     * @param {Number} w Width of the legend.
          +     * @param {Number} totalWidth Total width of all labels in the row.
          +     * @param {String} align Horizontal alignment of items for the legend.
          +     * @param {Object} padding Object contain left, top, right and bottom padding properties.
          +     * @return Number
          +     * @protected
          +     */
          +    getStartPoint: function(w, totalWidth, align, padding)
          +    {
          +        var startPoint;
          +        switch(align)
          +        {
          +            case LEFT :
          +                startPoint = padding.left;
          +            break;
          +            case "center" :
          +                startPoint = (w - totalWidth) * 0.5;
          +            break;
          +            case RIGHT :
          +                startPoint = w - totalWidth - padding.right;
          +            break;
          +        }
          +        return startPoint;
          +    }
          +},
          +
          +/**
          + * Contains methods for displaying items vertically in a legend.
          + *
          + * @module charts
          + * @submodule charts-legend
          + * @class VerticalLegendLayout
          + */
          +VerticalLegendLayout = {
          +    /**
          +     * Displays items vertically in a legend.
          +     *
          +     * @method _positionLegendItems
          +     * @param {Array} items Array of items to display in the legend.
          +     * @param {Number} maxWidth The width of the largest item in the legend.
          +     * @param {Number} maxHeight The height of the largest item in the legend.
          +     * @param {Number} totalWidth The total width of all items in a legend.
          +     * @param {Number} totalHeight The total height of all items in a legend.
          +     * @param {Number} padding The left, top, right and bottom padding properties for the legend.
          +     * @param {Number} horizontalGap The horizontal distance between items in a legend.
          +     * @param {Number} verticalGap The vertical distance between items in a legend.
          +     * @param {String} hAlign The horizontal alignment of the legend.
          +     * @param {String} vAlign The vertical alignment of the legend.
          +     * @protected
          +     */
          +    _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, hAlign, vAlign)
          +    {
          +        var i = 0,
          +            columnIterator = 0,
          +            item,
          +            node,
          +            itemHeight,
          +            itemWidth,
          +            len,
          +            height = this.get("height"),
          +            columns,
          +            columnsLen,
          +            column,
          +            totalHeightArray,
          +            legendHeight,
          +            leftWidth = padding.left - horizontalGap,
          +            legendWidth,
          +            limit = height - (padding.top + padding.bottom),
          +            left, 
          +            top,
          +            right,
          +            bottom;
          +        VerticalLegendLayout._setColumnArrays(items, limit, verticalGap);
          +        columns = VerticalLegendLayout.columnArray;
          +        totalHeightArray = VerticalLegendLayout.totalHeightArray;
          +        columnsLen = columns.length;
          +        for(; columnIterator < columnsLen; ++ columnIterator)
          +        {
          +            leftWidth += horizontalGap;
          +            column = columns[columnIterator];
          +            len = column.length;
          +            legendHeight =  VerticalLegendLayout.getStartPoint(height, totalHeightArray[columnIterator], vAlign, padding);
          +            legendWidth = 0;
          +            for(i = 0; i < len; ++i)
          +            {
          +                item = column[i];
          +                node = item.node;
          +                itemHeight = item.height;
          +                itemWidth = item.width;
          +                item.y = legendHeight;
          +                item.x = leftWidth;
          +                left = !isNaN(left) ? Math.min(left, leftWidth) : leftWidth;
          +                top = !isNaN(top) ? Math.min(top, legendHeight) : legendHeight;
          +                right = !isNaN(right) ? Math.max(leftWidth + itemWidth, right) : leftWidth + itemWidth;
          +                bottom = !isNaN(bottom) ? Math.max(legendHeight + itemHeight, bottom) : legendHeight + itemHeight;
          +                node.setStyle("left", leftWidth + PX);
          +                node.setStyle("top", legendHeight + PX);
          +                legendHeight += itemHeight + verticalGap;
          +                legendWidth = Math.max(legendWidth, item.width);
          +            }
          +            leftWidth += legendWidth;
          +        }
          +        this._contentRect = {
          +            left: left,
          +            top: top,
          +            right: right,
          +            bottom: bottom
          +        };
          +        if(this.get("includeInChartLayout"))
          +        {
          +            this.set("width", leftWidth + padding.right);
          +        }
          +    },
          +
          +    /**
          +     * Creates column and total height arrays used for displaying multiple columns of
          +     * legend items based on the items, available height and verticalGap for the legend.
          +     *
          +     * @method _setColumnArrays
          +     * @param {Array} items Array of legend items to display in a legend.
          +     * @param {Number} limit Total available height for displaying items in a legend.
          +     * @param {Number} verticalGap Vertical distance between items in a legend.
          +     * @protected
          +     */
          +    _setColumnArrays: function(items, limit, verticalGap)
          +    {
          +        var item = items[0],
          +            columnArray = [[item]],
          +            i = 1,
          +            columnIterator = 0,
          +            len = items.length,
          +            totalHeight = item.height,
          +            itemHeight,
          +            totalHeightArray = [[totalHeight]];
          +        for(; i < len; ++i)
          +        {
          +            item = items[i];
          +            itemHeight = item.height;
          +            if((totalHeight + verticalGap + itemHeight) <= limit)
          +            {
          +                totalHeight += verticalGap + itemHeight;
          +                columnArray[columnIterator].push(item);
          +            }
          +            else
          +            {
          +                totalHeight = verticalGap + itemHeight;
          +                if(columnArray[columnIterator])
          +                {
          +                    columnIterator += 1;
          +                }
          +                columnArray[columnIterator] = [item];
          +            }
          +            totalHeightArray[columnIterator] = totalHeight;
          +        }
          +        VerticalLegendLayout.columnArray = columnArray;
          +        VerticalLegendLayout.totalHeightArray = totalHeightArray;
          +    },
          +
          +    /**
          +     * Returns the starting y-coordinate for a column of legend items.
          +     *
          +     * @method getStartPoint
          +     * @param {Number} h Height of the legend.
          +     * @param {Number} totalHeight Total height of all labels in the column.
          +     * @param {String} align Vertical alignment of items for the legend.
          +     * @param {Object} padding Object contain left, top, right and bottom padding properties.
          +     * @return Number
          +     * @protected
          +     */
          +    getStartPoint: function(h, totalHeight, align, padding)
          +    {
          +        var startPoint;
          +        switch(align)
          +        {
          +            case TOP :
          +                startPoint = padding.top;
          +            break;
          +            case "middle" :
          +                startPoint = (h - totalHeight) * 0.5;
          +            break;
          +            case BOTTOM :
          +                startPoint = h - totalHeight - padding.bottom;
          +            break;
          +        }
          +        return startPoint;
          +    }
          +},
          +
          +CartesianChartLegend = Y.Base.create("cartesianChartLegend", Y.CartesianChart, [], {
          +    /**
          +     * Redraws and position all the components of the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     */
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var w = this.get("width"),
          +            h = this.get("height"),
          +            layoutBoxDimensions = this._getLayoutBoxDimensions(),
          +            leftPaneWidth = layoutBoxDimensions.left,
          +            rightPaneWidth = layoutBoxDimensions.right,
          +            topPaneHeight = layoutBoxDimensions.top,
          +            bottomPaneHeight = layoutBoxDimensions.bottom,
          +            leftAxesCollection = this.get("leftAxesCollection"),
          +            rightAxesCollection = this.get("rightAxesCollection"),
          +            topAxesCollection = this.get("topAxesCollection"),
          +            bottomAxesCollection = this.get("bottomAxesCollection"),
          +            i = 0,
          +            l,
          +            axis,
          +            graphOverflow = "visible",
          +            graph = this.get("graph"),
          +            topOverflow,
          +            bottomOverflow,
          +            leftOverflow,
          +            rightOverflow,
          +            graphWidth,
          +            graphHeight,
          +            graphX,
          +            graphY,
          +            allowContentOverflow = this.get("allowContentOverflow"),
          +            diff,
          +            rightAxesXCoords,
          +            leftAxesXCoords,
          +            topAxesYCoords,
          +            bottomAxesYCoords,
          +            legend = this.get("legend"),
          +            graphRect = {};
          +
          +        if(leftAxesCollection)
          +        {
          +            leftAxesXCoords = [];
          +            l = leftAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                leftAxesXCoords.unshift(leftPaneWidth);
          +                leftPaneWidth += leftAxesCollection[i].get("width");
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            rightAxesXCoords = [];
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                rightPaneWidth += rightAxesCollection[i].get("width");
          +                rightAxesXCoords.unshift(w - rightPaneWidth);
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            topAxesYCoords = [];
          +            l = topAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                topAxesYCoords.unshift(topPaneHeight);
          +                topPaneHeight += topAxesCollection[i].get("height");
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            bottomAxesYCoords = [];
          +            l = bottomAxesCollection.length;
          +            for(i = l - 1; i > -1; --i)
          +            {
          +                bottomPaneHeight += bottomAxesCollection[i].get("height");
          +                bottomAxesYCoords.unshift(h - bottomPaneHeight);
          +            }
          +        }
          +        
          +        graphWidth = w - (leftPaneWidth + rightPaneWidth);
          +        graphHeight = h - (bottomPaneHeight + topPaneHeight);
          +        graphRect.left = leftPaneWidth;
          +        graphRect.top = topPaneHeight;
          +        graphRect.bottom = h - bottomPaneHeight;
          +        graphRect.right = w - rightPaneWidth;
          +        if(!allowContentOverflow)
          +        {
          +            topOverflow = this._getTopOverflow(leftAxesCollection, rightAxesCollection);
          +            bottomOverflow = this._getBottomOverflow(leftAxesCollection, rightAxesCollection);
          +            leftOverflow = this._getLeftOverflow(bottomAxesCollection, topAxesCollection);
          +            rightOverflow = this._getRightOverflow(bottomAxesCollection, topAxesCollection);
          +            
          +            diff = topOverflow - topPaneHeight;
          +            if(diff > 0)
          +            {
          +                graphRect.top = topOverflow;
          +                if(topAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = topAxesYCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        topAxesYCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = bottomOverflow - bottomPaneHeight;
          +            if(diff > 0)
          +            {
          +                graphRect.bottom = h - bottomOverflow;
          +                if(bottomAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = bottomAxesYCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        bottomAxesYCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +
          +            diff = leftOverflow - leftPaneWidth;
          +            if(diff > 0)
          +            {
          +                graphRect.left = leftOverflow;
          +                if(leftAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = leftAxesXCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        leftAxesXCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = rightOverflow - rightPaneWidth;
          +            if(diff > 0)
          +            {
          +                graphRect.right = w - rightOverflow;
          +                if(rightAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = rightAxesXCoords.length;
          +                    for(; i < l; ++i)
          +                    {
          +                        rightAxesXCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +        }
          +        graphWidth = graphRect.right - graphRect.left;
          +        graphHeight = graphRect.bottom - graphRect.top;
          +        graphX = graphRect.left;
          +        graphY = graphRect.top;
          +        if(legend)
          +        {
          +            if(legend.get("includeInChartLayout"))
          +            {
          +                switch(legend.get("position"))
          +                {
          +                    case "left" : 
          +                        legend.set("y", graphY);
          +                        legend.set("height", graphHeight);
          +                    break;
          +                    case "top" :
          +                        legend.set("x", graphX);
          +                        legend.set("width", graphWidth);
          +                    break;
          +                    case "bottom" : 
          +                        legend.set("x", graphX);
          +                        legend.set("width", graphWidth);
          +                    break;
          +                    case "right" :
          +                        legend.set("y", graphY);
          +                        legend.set("height", graphHeight);
          +                    break;
          +                }
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            l = topAxesCollection.length;
          +            i = 0;
          +            for(; i < l; i++)
          +            {
          +                axis = topAxesCollection[i];
          +                if(axis.get("width") !== graphWidth)
          +                {
          +                    axis.set("width", graphWidth);
          +                }
          +                axis.get("boundingBox").setStyle("left", graphX + PX);
          +                axis.get("boundingBox").setStyle("top", topAxesYCoords[i] + PX);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            l = bottomAxesCollection.length;
          +            i = 0;
          +            for(; i < l; i++)
          +            {
          +                axis = bottomAxesCollection[i];
          +                if(axis.get("width") !== graphWidth)
          +                {
          +                    axis.set("width", graphWidth);
          +                }
          +                axis.get("boundingBox").setStyle("left", graphX + PX);
          +                axis.get("boundingBox").setStyle("top", bottomAxesYCoords[i] + PX);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(leftAxesCollection)
          +        {
          +            l = leftAxesCollection.length;
          +            i = 0;
          +            for(; i < l; ++i)
          +            {
          +                axis = leftAxesCollection[i];
          +                axis.get("boundingBox").setStyle("top", graphY + PX);
          +                axis.get("boundingBox").setStyle("left", leftAxesXCoords[i] + PX);
          +                if(axis.get("height") !== graphHeight)
          +                {
          +                    axis.set("height", graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(; i < l; ++i)
          +            {
          +                axis = rightAxesCollection[i];
          +                axis.get("boundingBox").setStyle("top", graphY + PX);
          +                axis.get("boundingBox").setStyle("left", rightAxesXCoords[i] + PX);
          +                if(axis.get("height") !== graphHeight)
          +                {
          +                    axis.set("height", graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = "hidden";
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.get("boundingBox").setStyle("left", graphX + PX);
          +            graph.get("boundingBox").setStyle("top", graphY + PX);
          +            graph.set("width", graphWidth);
          +            graph.set("height", graphHeight);
          +            graph.get("boundingBox").setStyle("overflow", graphOverflow);
          +        }
          +
          +        if(this._overlay)
          +        {
          +            this._overlay.setStyle("left", graphX + PX);
          +            this._overlay.setStyle("top", graphY + PX);
          +            this._overlay.setStyle("width", graphWidth + PX);
          +            this._overlay.setStyle("height", graphHeight + PX);
          +        }
          +    },
          +
          +    /**
          +     * Positions the legend in a chart and returns the properties of the legend to be used in the 
          +     * chart's layout algorithm.
          +     *
          +     * @method _getLayoutDimensions
          +     * @return {Object} The left, top, right and bottom values for the legend.
          +     * @protected
          +     */
          +    _getLayoutBoxDimensions: function()
          +    {
          +        var box = {
          +                top: 0,
          +                right: 0,
          +                bottom: 0,
          +                left: 0
          +            },
          +            legend = this.get("legend"),
          +            position,
          +            direction,
          +            dimension,
          +            size,
          +            w = this.get(WIDTH),
          +            h = this.get(HEIGHT),
          +            gap;
          +        if(legend && legend.get("includeInChartLayout"))
          +        {
          +            gap = legend.get("styles").gap;
          +            position = legend.get(POSITION);
          +            if(position != EXTERNAL)
          +            {
          +                direction = legend.get("direction");
          +                dimension = direction == HORIZONTAL ? HEIGHT : WIDTH;
          +                size = legend.get(dimension);
          +                box[position] = size + gap;
          +                switch(position)
          +                {
          +                    case TOP :
          +                        legend.set(_Y, 0); 
          +                    break;
          +                    case BOTTOM : 
          +                        legend.set(_Y, h - size); 
          +                    break;
          +                    case RIGHT :
          +                        legend.set(_X, w - size);
          +                    break;
          +                    case LEFT: 
          +                        legend.set(_X, 0);
          +                    break;
          +                }
          +            }
          +        }
          +        return box;
          +    },
          +
          +    /**
          +     * Destructor implementation for the CartesianChart class. Calls destroy on all axes, series, legend (if available) and the Graph instance.
          +     * Removes the tooltip and overlay HTML elements.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        var legend = this.get("legend");
          +        if(legend)
          +        {
          +            legend.destroy(true);
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        legend: LEGEND
          +    }
          +});
          +
          +Y.CartesianChart = CartesianChartLegend;
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianSeries.js
          new file mode 100644
          index 000000000..358005a2e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CartesianSeries.js
          @@ -0,0 +1,839 @@
          +/**
          + * The CartesianSeries class creates a chart with horizontal and vertical axes.
          + *
          + * @module charts
          + * @class CartesianSeries
          + * @extends Base
          + * @uses Renderer
          + * @constructor
          + */
          +Y.CartesianSeries = Y.Base.create("cartesianSeries", Y.Base, [Y.Renderer], {
          +    /**
          +     * Storage for `xDisplayName` attribute.
          +     *
          +     * @property _xDisplayName
          +     * @type String
          +     * @private
          +     */
          +    _xDisplayName: null,
          +
          +    /**
          +     * Storage for `yDisplayName` attribute.
          +     *
          +     * @property _yDisplayName
          +     * @type String
          +     * @private
          +     */
          +    _yDisplayName: null,
          +    
          +    /**
          +     * Th x-coordinate for the left edge of the series.
          +     *
          +     * @property _leftOrigin
          +     * @type String
          +     * @private
          +     */
          +    _leftOrigin: null,
          +
          +    /**
          +     * The y-coordinate for the bottom edge of the series.
          +     * 
          +     * @property _bottomOrigin
          +     * @type String
          +     * @private
          +     */
          +    _bottomOrigin: null,
          +
          +    /**
          +     * @method render
          +     * @private
          +     */
          +    render: function()
          +    {
          +        this._setCanvas();
          +        this.addListeners();
          +        this.set("rendered", true);
          +        this.validate();
          +    },
          +
          +    /**
          +     * Adds event listeners.
          +     *
          +     * @method addListeners
          +     * @private
          +     */
          +    addListeners: function()
          +    {
          +        var xAxis = this.get("xAxis"),
          +            yAxis = this.get("yAxis");
          +        if(xAxis)
          +        {
          +            xAxis.after("dataReady", Y.bind(this._xDataChangeHandler, this));
          +            xAxis.after("dataUpdate", Y.bind(this._xDataChangeHandler, this));
          +        }
          +        if(yAxis)
          +        {
          +            yAxis.after("dataReady", Y.bind(this._yDataChangeHandler, this));
          +            yAxis.after("dataUpdate", Y.bind(this._yDataChangeHandler, this));
          +        }
          +        this.after("xAxisChange", this._xAxisChangeHandler);
          +        this.after("yAxisChange", this._yAxisChangeHandler);
          +        this.after("stylesChange", function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after("widthChange", function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after("heightChange", function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after("visibleChange", this._handleVisibleChange);
          +    },
          +  
          +    /**
          +     * Event handler for the xAxisChange event.
          +     *
          +     * @method _xAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _xAxisChangeHandler: function(e)
          +    {
          +        var xAxis = this.get("xAxis");
          +        xAxis.after("dataReady", Y.bind(this._xDataChangeHandler, this));
          +        xAxis.after("dataUpdate", Y.bind(this._xDataChangeHandler, this));
          +    },
          +    
          +    /**
          +     * Event handler the yAxisChange event.
          +     *
          +     * @method _yAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _yAxisChangeHandler: function(e)
          +    {
          +        var yAxis = this.get("yAxis");
          +        yAxis.after("dataReady", Y.bind(this._yDataChangeHandler, this));
          +        yAxis.after("dataUpdate", Y.bind(this._yDataChangeHandler, this));
          +    },
          +
          +    /**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     */
          +    GUID: "yuicartesianseries",
          +
          +    /**
          +     * Event handler for xDataChange event.
          +     *
          +     * @method _xDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     */
          +    _xDataChangeHandler: function(event)
          +    {
          +        var axesReady = this._updateAxisData();
          +        if(axesReady)
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    /**
          +     * Event handler for yDataChange event.
          +     *
          +     * @method _yDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     */
          +    _yDataChangeHandler: function(event)
          +    {
          +        var axesReady = this._updateAxisData();
          +        if(axesReady)
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    /**
          +     * Checks to ensure that both xAxis and yAxis data are available. If so, set the `xData` and `yData` attributes and return `true`. Otherwise, return `false`.
          +     *
          +     * @method _updateAxisData
          +     * @return Boolean
          +     * @private 
          +     */
          +    _updateAxisData: function()
          +    {
          +        var xAxis = this.get("xAxis"),
          +            yAxis = this.get("yAxis"),
          +            xKey = this.get("xKey"),
          +            yKey = this.get("yKey"),
          +            yData,
          +            xData;
          +        if(!xAxis || !yAxis || !xKey || !yKey)
          +        {
          +            return false;
          +        }
          +        xData = xAxis.getDataByKey(xKey);
          +        yData = yAxis.getDataByKey(yKey);
          +        if(!xData || !yData)
          +        {
          +            return false;
          +        }
          +        this.set("xData", xData.concat());
          +        this.set("yData", yData.concat());
          +        return true;
          +    },
          +
          +    /**
          +     * Draws the series is the xAxis and yAxis data are both available.
          +     *
          +     * @method validate
          +     * @private
          +     */
          +    validate: function()
          +    {
          +        if((this.get("xData") && this.get("yData")) || this._updateAxisData())
          +        {
          +            this.draw();
          +        }
          +        else
          +        {
          +            this.fire("drawingComplete");
          +        }
          +    },
          +
          +    /**
          +     * Creates a `Graphic` instance.
          +     *
          +     * @method _setCanvas
          +     * @protected
          +     */
          +    _setCanvas: function()
          +    {
          +        var graph = this.get("graph"),
          +            graphic = graph.get("graphic");
          +        this.set("graphic", graphic);
          +    },
          +
          +    /**
          +     * Calculates the coordinates for the series.
          +     *
          +     * @method setAreaData
          +     * @protected
          +     */
          +    setAreaData: function()
          +    {
          +        var isNumber = Y_Lang.isNumber,
          +            nextX, nextY,
          +            graph = this.get("graph"),
          +            w = graph.get("width"),
          +            h = graph.get("height"),
          +            xAxis = this.get("xAxis"),
          +            yAxis = this.get("yAxis"),
          +            xData = this.get("xData").concat(),
          +            yData = this.get("yData").concat(),
          +            xValue,
          +            yValue,
          +            xOffset = xAxis.getEdgeOffset(xData.length, w),
          +            yOffset = yAxis.getEdgeOffset(yData.length, h),
          +            padding = this.get("styles").padding,
          +			leftPadding = padding.left,
          +			topPadding = padding.top,
          +			dataWidth = w - (leftPadding + padding.right + xOffset),
          +			dataHeight = h - (topPadding + padding.bottom + yOffset),
          +			xcoords = [],
          +			ycoords = [],
          +			xMax = xAxis.get("maximum"),
          +			xMin = xAxis.get("minimum"),
          +			yMax = yAxis.get("maximum"),
          +			yMin = yAxis.get("minimum"),
          +            xScaleFactor = dataWidth / (xMax - xMin),
          +			yScaleFactor = dataHeight / (yMax - yMin),
          +            dataLength,
          +            direction = this.get("direction"),
          +            i = 0,
          +            xMarkerPlane = [],
          +            yMarkerPlane = [],
          +            xMarkerPlaneOffset = this.get("xMarkerPlaneOffset"),
          +            yMarkerPlaneOffset = this.get("yMarkerPlaneOffset"),
          +            graphic = this.get("graphic");
          +        graphic.set("width", w);
          +        graphic.set("height", h);
          +        dataLength = xData.length;
          +        xOffset *= 0.5;
          +        yOffset *= 0.5;
          +        //Assuming a vertical graph has a range/category for its vertical axis.    
          +        if(direction === "vertical")
          +        {
          +            yData = yData.reverse();
          +        }
          +        this._leftOrigin = Math.round(((0 - xMin) * xScaleFactor) + leftPadding + xOffset);
          +        this._bottomOrigin = Math.round((dataHeight + topPadding + yOffset)); 
          +        for (; i < dataLength; ++i) 
          +		{
          +            xValue = parseFloat(xData[i]);
          +            yValue = parseFloat(yData[i]);
          +            if(isNumber(xValue))
          +            {
          +                nextX = Math.round((((xValue - xMin) * xScaleFactor) + leftPadding + xOffset));
          +            }
          +            else
          +            {
          +                nextX = NaN;
          +            }
          +            if(isNumber(yValue))
          +            {
          +			    nextY = Math.round(((dataHeight + topPadding + yOffset) - (yValue - yMin) * yScaleFactor));
          +            }
          +            else
          +            {
          +                nextY = NaN;
          +            }
          +            xcoords.push(nextX);
          +            ycoords.push(nextY);
          +            xMarkerPlane.push({start:nextX - xMarkerPlaneOffset, end: nextX + xMarkerPlaneOffset});
          +            yMarkerPlane.push({start:nextY - yMarkerPlaneOffset, end: nextY + yMarkerPlaneOffset});
          +        }
          +        this.set("xcoords", xcoords);
          +		this.set("ycoords", ycoords);
          +        this.set("xMarkerPlane", xMarkerPlane);
          +        this.set("yMarkerPlane", yMarkerPlane);
          +        this._dataLength = dataLength;
          +    },
          +
          +    /**
          +     * Draws the series.
          +     *
          +     * @method draw
          +     * @protected
          +     */
          +    draw: function()
          +    {
          +        var graph = this.get("graph"),
          +            w = graph.get("width"),
          +            h = graph.get("height");
          +        if(this.get("rendered"))
          +        {
          +            if((isFinite(w) && isFinite(h) && w > 0 && h > 0) && ((this.get("xData") && this.get("yData")) || this._updateAxisData()))
          +            {
          +                if(this._drawing)
          +                {
          +                    this._callLater = true;
          +                    return;
          +                }
          +                this._drawing = true;
          +                this._callLater = false;
          +                this.setAreaData();
          +                if(this.get("xcoords") && this.get("ycoords"))
          +                {
          +                    this.drawSeries();
          +                }
          +                this._drawing = false;
          +                if(this._callLater)
          +                {
          +                    this.draw();
          +                }
          +                else
          +                {
          +                    this._toggleVisible(this.get("visible"));
          +                    this.fire("drawingComplete");
          +                }
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Default value for plane offsets when the parent chart's `interactiveType` is `planar`. 
          +     *
          +     * @property _defaultPlaneOffset
          +     * @type Number
          +     * @private
          +     */
          +    _defaultPlaneOffset: 4,
          +    
          +    /**
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        return {padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }};
          +    },
          +
          +    /**
          +     * Collection of default colors used for lines in a series when not specified by user.
          +     *
          +     * @property _defaultLineColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultLineColors:["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"],
          +
          +    /**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultFillColors:["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"],
          +    
          +    /**
          +     * Collection of default colors used for marker borders in a series when not specified by user.
          +     *
          +     * @property _defaultBorderColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultBorderColors:["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"],
          +    
          +    /**
          +     * Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.
          +     *
          +     * @property _defaultSliceColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultSliceColors: ["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"],
          +
          +    /**
          +     * Parses a color based on a series order and type.
          +     *
          +     * @method _getDefaultColor
          +     * @param {Number} index Index indicating the series order.
          +     * @param {String} type Indicates which type of object needs the color.
          +     * @return String
          +     * @protected
          +     */
          +    _getDefaultColor: function(index, type)
          +    {
          +        var colors = {
          +                line: this._defaultLineColors,
          +                fill: this._defaultFillColors,
          +                border: this._defaultBorderColors,
          +                slice: this._defaultSliceColors
          +            },
          +            col = colors[type],
          +            l = col.length;
          +        index = index || 0;
          +        if(index >= l)
          +        {
          +            index = index % l;
          +        }
          +        type = type || "fill";
          +        return colors[type][index];
          +    },
          +    
          +    /**
          +     * Shows/hides contents of the series.
          +     *
          +     * @method _handleVisibleChange
          +     * @param {Object} e Event object.
          +     * @protected
          +     */
          +    _handleVisibleChange: function(e) 
          +    {
          +        this._toggleVisible(this.get("visible"));
          +    },
          +
          +    /**
          +     * Returns the sum of all values for the series.
          +     *
          +     * @method getTotalValues
          +     * @return Number
          +     */
          +    getTotalValues: function()
          +    {
          +        var total = this.get("valueAxis").getTotalByKey(this.get("valueKey"));
          +        return total;
          +    },
          +
          +    /**
          +     * Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        if(this._path)
          +        {
          +            this._path.destroy();
          +        }
          +        if(this._lineGraphic)
          +        {
          +            this._lineGraphic.destroy();
          +            this._lineGraphic = null;
          +        }
          +        if(this.get("graphic"))
          +        {
          +            this.get("graphic").destroy();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Name used for for displaying data related to the x-coordinate.
          +         *
          +         * @attribute xDisplayName
          +         * @type String
          +         */
          +        xDisplayName: {
          +            getter: function()
          +            {
          +                return this._xDisplayName || this.get("xKey");
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._xDisplayName = val.toString();
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Name used for for displaying data related to the y-coordinate.
          +         *
          +         * @attribute yDisplayName
          +         * @type String
          +         */
          +        yDisplayName: {
          +            getter: function()
          +            {
          +                return this._yDisplayName || this.get("yKey");
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._yDisplayName = val.toString();
          +                return val;
          +            }
          +        },
          +        
          +        /**
          +         * Name used for for displaying category data
          +         *
          +         * @attribute categoryDisplayName
          +         * @type String
          +         * @readOnly
          +         */
          +        categoryDisplayName: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get("direction") == "vertical" ? this.get("yDisplayName") : this.get("xDisplayName");
          +            }
          +        },
          +
          +        /**
          +         * Name used for for displaying value data
          +         *
          +         * @attribute valueDisplayName
          +         * @type String
          +         * @readOnly
          +         */
          +        valueDisplayName: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get("direction") == "vertical" ? this.get("xDisplayName") : this.get("yDisplayName");
          +            }
          +        },
          +        
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default cartesian
          +         */
          +        type: {		
          +            value: "cartesian"
          +        },
          +
          +        /**
          +         * Order of this instance of this `type`.
          +         *
          +         * @attribute order
          +         * @type Number
          +         */
          +        order: {},
          +
          +        /**
          +         * Order of the instance
          +         *
          +         * @attribute graphOrder
          +         * @type Number
          +         */
          +        graphOrder: {},
          +
          +        /**
          +         * x coordinates for the series.
          +         *
          +         * @attribute xcoords
          +         * @type Array
          +         */
          +        xcoords: {},
          +        
          +        /**
          +         * y coordinates for the series
          +         *
          +         * @attribute ycoords
          +         * @type Array
          +         */
          +        ycoords: {},
          +
          +        /**
          +         * Reference to the `Chart` application.
          +         *
          +         * @attribute chart
          +         * @type ChartBase
          +         * @readOnly
          +         */
          +        chart: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get("graph").get("chart");
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the `Graph` in which the series is drawn into.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         */
          +        graph: {},
          +
          +        /**
          +         * Reference to the `Axis` instance used for assigning 
          +         * x-values to the graph.
          +         *
          +         * @attribute xAxis
          +         * @type Axis
          +         */
          +        xAxis: {},
          +        
          +        /**
          +         * Reference to the `Axis` instance used for assigning 
          +         * y-values to the graph.
          +         *
          +         * @attribute yAxis
          +         * @type Axis
          +         */
          +        yAxis: {},
          +        
          +        /**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the x-axis `Axis` instance.
          +         *
          +         * @attribute xKey
          +         * @type String
          +         */
          +        xKey: {
          +            setter: function(val)
          +            {
          +                return val.toString();
          +            }
          +        },
          +
          +        /**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the y-axis `Axis` instance.
          +         *
          +         * @attribute yKey
          +         * @type String
          +         */
          +        yKey: {
          +            setter: function(val)
          +            {
          +                return val.toString();
          +            }
          +        },
          +
          +        /**
          +         * Array of x values for the series.
          +         *
          +         * @attribute xData
          +         * @type Array
          +         */
          +        xData: {},
          +
          +        /**
          +         * Array of y values for the series.
          +         *
          +         * @attribute yData
          +         * @type Array
          +         */
          +        yData: {},
          +       
          +        /**
          +         * Indicates whether the Series has been through its initial set up.
          +         *
          +         * @attribute rendered
          +         * @type Boolean
          +         */
          +        rendered: {
          +            value: false
          +        },
          +
          +        /*
          +         * Returns the width of the parent graph
          +         *
          +         * @attribute width
          +         * @type Number
          +         */
          +        width: {
          +            readOnly: true,
          +            
          +            getter: function()
          +            {
          +                this.get("graph").get("width");
          +            }
          +        },
          +
          +        /**
          +         * Returns the height of the parent graph
          +         *
          +         * @attribute height
          +         * @type Number
          +         */
          +        height: {
          +            readOnly: true,
          +            
          +            getter: function()
          +            {
          +                this.get("graph").get("height");
          +            }
          +        },
          +
          +        /**
          +         * Indicates whether to show the series
          +         *
          +         * @attribute visible
          +         * @type Boolean
          +         * @default true
          +         */
          +        visible: {
          +            value: true
          +        },
          +
          +        /**
          +         * Collection of area maps along the xAxis. Used to determine mouseover for multiple
          +         * series.
          +         *
          +         * @attribute xMarkerPlane
          +         * @type Array
          +         */
          +        xMarkerPlane: {},
          +        
          +        /**
          +         * Collection of area maps along the yAxis. Used to determine mouseover for multiple
          +         * series.
          +         *
          +         * @attribute yMarkerPlane
          +         * @type Array
          +         */
          +        yMarkerPlane: {},
          +
          +        /**
          +         * Distance from a data coordinate to the left/right for setting a hotspot.
          +         *
          +         * @attribute xMarkerPlaneOffset
          +         * @type Number
          +         */
          +        xMarkerPlaneOffset: {
          +            getter: function() {
          +                var marker = this.get("styles").marker;
          +                if(marker && marker.width && isFinite(marker.width))
          +                {
          +                    return marker.width * 0.5;
          +                }
          +                return this._defaultPlaneOffset;
          +            }
          +        },
          +
          +        /**
          +         * Distance from a data coordinate to the top/bottom for setting a hotspot.
          +         *
          +         * @attribute yMarkerPlaneOffset
          +         * @type Number
          +         */
          +        yMarkerPlaneOffset: {
          +            getter: function() {
          +                var marker = this.get("styles").marker;
          +                if(marker && marker.height && isFinite(marker.height))
          +                {
          +                    return marker.height * 0.5;
          +                }
          +                return this._defaultPlaneOffset;
          +            }
          +        },
          +
          +        /**
          +         * Direction of the series
          +         *
          +         * @attribute direction
          +         * @type String
          +         */
          +        direction: {
          +            value: "horizontal"
          +        },
          +
          +        /**
          +         * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +         *
          +         * @attribute groupMarkers
          +         * @type Boolean
          +         */
          +        groupMarkers: {
          +            getter: function()
          +            {
          +                if(this._groupMarkers === undefined)
          +                {
          +                    return this.get("graph").get("groupMarkers");
          +                }
          +                else
          +                {
          +                    return this._groupMarkers;
          +                }
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._groupMarkers = val;
          +                return val;
          +            }
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CategoryAxis.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CategoryAxis.js
          new file mode 100644
          index 000000000..74434c96f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CategoryAxis.js
          @@ -0,0 +1,277 @@
          +/**
          + * CategoryAxis manages category data on an axis.
          + *
          + * @module charts
          + * @class CategoryAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + */
          +function CategoryAxis(config)
          +{
          +	CategoryAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +CategoryAxis.NAME = "categoryAxis";
          +
          +Y.extend(CategoryAxis, Y.AxisType,
          +{
          +    /**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     */
          +    formatLabel: function(val, format)
          +    {
          +        return val;
          +    },
          +
          +    /**
          +     * Object storing key data.
          +     *
          +     * @property _indices
          +     * @private
          +     */
          +    _indices: null,
          +
          +    /**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     */
          +    GUID: "yuicategoryaxis",
          +
          +    /**
          +     * Type of data used in `Axis`.
          +     *
          +     * @property _dataType
          +     * @readOnly
          +     * @private
          +     */
          +    _type: "category",
          +        
          +    /**
          +     * Calculates the maximum and minimum values for the `Axis`.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     */
          +    _updateMinAndMax: function()
          +    {
          +        this._dataMaximum = Math.max(this.get("data").length - 1, 0);
          +        this._dataMinimum = 0;
          +    },
          +
          +    /**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     */
          +    _getKeyArray: function(key, data)
          +    {
          +        var i = 0,
          +            obj,
          +            keyArr = [],
          +            labels = [],
          +            len = data.length;
          +        if(!this._indices)
          +        {
          +            this._indices = {};
          +        }
          +        for(; i < len; ++i)
          +        {
          +            obj = data[i];
          +            keyArr[i] = i;
          +            labels[i] = obj[key];
          +        }
          +        this._indices[key] = keyArr;
          +        return labels;
          +    },
          +
          +    /**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     */
          +    _setDataByKey: function(key)
          +    {
          +        var i,
          +            obj, 
          +            arr = [], 
          +            labels = [], 
          +            dv = this._dataClone.concat(), 
          +            len = dv.length;
          +        if(!this._indices)
          +        {
          +            this._indices = {};
          +        }
          +        for(i = 0; i < len; ++i)
          +        {
          +            obj = dv[i];
          +            arr[i] = i;
          +            labels[i] = obj[key];
          +        }
          +        this._indices[key] = arr;
          +        this.get("keys")[key] = labels.concat();
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    /**
          +     * Returns an array of values based on an identifier key.
          +     *
          +     * @method getDataByKey
          +     * @param {String} value value used to identify the array
          +     * @return Array
          +     */
          +    getDataByKey: function (value)
          +    {
          +        if(!this._indices)
          +        {
          +            this.get("keys");
          +        }
          +        var keys = this._indices;
          +        if(keys[value])
          +        {
          +            return keys[value];
          +        }
          +        return null;
          +    },
          +
          +    /**
          +     * Returns the total number of majorUnits that will appear on an axis.
          +     *
          +     * @method getTotalMajorUnits
          +     * @param {Object} majorUnit Object containing properties related to the majorUnit.
          +     * @param {Number} len Length of the axis.
          +     * @return Number
          +     */
          +    getTotalMajorUnits: function(majorUnit, len)
          +    {
          +        return this.get("data").length;
          +    },
          +    
          +    /**
          +     * Returns the distance between major units on an axis.
          +     *
          +     * @method getMajorUnitDistance
          +     * @param {Number} len Number of ticks
          +     * @param {Number} uiLen Size of the axis.
          +     * @param {Object} majorUnit Hash of properties used to determine the majorUnit
          +     * @return Number
          +     */
          +    getMajorUnitDistance: function(len, uiLen, majorUnit)
          +    {
          +        var dist;
          +        if(majorUnit.determinant === "count")
          +        {
          +            dist = uiLen/len;
          +        }
          +        else if(majorUnit.determinant === "distance")
          +        {
          +            dist = majorUnit.distance;
          +        }
          +        return dist;
          +    },
          +   
          +    /**
          +     * Gets the distance that the first and last ticks are offset from there respective
          +     * edges.
          +     *
          +     * @method getEdgeOffset
          +     * @param {Number} ct Number of ticks on the axis.
          +     * @param {Number} l Length (in pixels) of the axis.
          +     * @return Number
          +     */
          +    getEdgeOffset: function(ct, l)
          +    {
          +        return l/ct;
          +    },
          +
          +    /**
          +     * Returns a value based of a key value and an index.
          +     *
          +     * @method getKeyValueAt
          +     * @param {String} key value used to look up the correct array
          +     * @param {Number} index within the array
          +     * @return String 
          +     */
          +    getKeyValueAt: function(key, index)
          +    {
          +        var value = NaN,
          +            keys = this.get("keys");
          +        if(keys[key] && keys[key][index]) 
          +        {
          +            value = keys[key][index];
          +        }
          +        return value;
          +    },
          +   
          +    /**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     */
          +    getLabelByIndex: function(i, l)
          +    {
          +        var label,
          +            data = this.get("data"),
          +            position = this.get("position");
          +        if(position == "bottom" || position == "top")
          +        {
          +            label = data[i];
          +        }
          +        else
          +        {
          +            label = data[l - (i + 1)];
          +        }   
          +        return label;
          +    },
          +
          +    /**
          +     * Returns a string corresponding to the first label on an 
          +     * axis.
          +     *
          +     * @method getMinimumValue
          +     * @return String
          +     */
          +    getMinimumValue: function()
          +    {
          +        var data = this.get("data"),
          +            label = data[0];
          +        return label;
          +    },
          +
          +    /**
          +     * Returns a string corresponding to the last label on an 
          +     * axis.
          +     *
          +     * @method getMaximumValue
          +     * @return String
          +     */
          +    getMaximumValue: function()
          +    {
          +        var data = this.get("data"),
          +            len = data.length - 1,
          +            label = data[len];
          +        return label;
          +    }
          +});
          +
          +Y.CategoryAxis = CategoryAxis;
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Chart.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Chart.js
          new file mode 100644
          index 000000000..54d659b3a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Chart.js
          @@ -0,0 +1,19 @@
          +/**
          + * The Chart class is the basic application used to create a chart.
          + *
          + * @module charts
          + * @class Chart
          + * @constructor
          + */
          +function Chart(cfg)
          +{
          +    if(cfg.type != "pie")
          +    {
          +        return new Y.CartesianChart(cfg);
          +    }
          +    else
          +    {
          +        return new Y.PieChart(cfg);
          +    }
          +}
          +Y.Chart = Chart;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartBase.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartBase.js
          new file mode 100644
          index 000000000..2940cd99d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartBase.js
          @@ -0,0 +1,1183 @@
          +/**
          + * The ChartBase class is an abstract class used to create charts.
          + *
          + * @module charts
          + * @class ChartBase
          + * @constructor
          + */
          +function ChartBase() {}
          +
          +ChartBase.ATTRS = {
          +    /**
          +     * Sets the `aria-label` for the chart.
          +     *
          +     * @attribute ariaLabel
          +     * @type String
          +     */
          +    ariaLabel: {
          +        value: "Chart Application",
          +
          +        setter: function(val)
          +        {
          +            var cb = this.get("contentBox");
          +            if(cb)
          +            {
          +                cb.setAttribute("aria-label", val);
          +            }
          +            return val;
          +        }
          +    },
          +    
          +    /**
          +     * Sets the aria description for the chart.
          +     *
          +     * @attribute ariaDescription
          +     * @type String
          +     */
          +    ariaDescription: {
          +        value: "Use the up and down keys to navigate between series. Use the left and right keys to navigate through items in a series.",
          +
          +        setter: function(val)
          +        {
          +            if(this._description)
          +            {
          +                this._description.setContent("");
          +                this._description.appendChild(DOCUMENT.createTextNode(val));
          +            }
          +            return val;
          +        }
          +    },
          +    
          +    /**
          +     * Reference to the default tooltip available for the chart.
          +     * <p>Contains the following properties:</p>
          +     *  <dl>
          +     *      <dt>node</dt><dd>Reference to the actual dom node</dd>
          +     *      <dt>showEvent</dt><dd>Event that should trigger the tooltip</dd>
          +     *      <dt>hideEvent</dt><dd>Event that should trigger the removal of a tooltip (can be an event or an array of events)</dd>
          +     *      <dt>styles</dt><dd>A hash of style properties that will be applied to the tooltip node</dd>
          +     *      <dt>show</dt><dd>Indicates whether or not to show the tooltip</dd>
          +     *      <dt>markerEventHandler</dt><dd>Displays and hides tooltip based on marker events</dd>
          +     *      <dt>planarEventHandler</dt><dd>Displays and hides tooltip based on planar events</dd>
          +     *      <dt>markerLabelFunction</dt><dd>Reference to the function used to format a marker event triggered tooltip's text. The method contains 
          +     *      the following arguments:
          +     *  <dl>
          +     *      <dt>categoryItem</dt><dd>An object containing the following:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     *      <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided).</dd>
          +     *      <dt>key</dt><dd>The key of the category.</dd>
          +     *      <dt>value</dt><dd>The value of the category.</dd>
          +     *  </dl>
          +     *  </dd>
          +     *  <dt>valueItem</dt><dd>An object containing the following:
          +     *      <dl>
          +     *          <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +     *          <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     *          <dt>key</dt><dd>The key for the series.</dd>
          +     *          <dt>value</dt><dd>The value for the series item.</dd> 
          +     *      </dl>
          +     *  </dd>
          +     *  <dt>itemIndex</dt><dd>The index of the item within the series.</dd>
          +     *  <dt>series</dt><dd> The `CartesianSeries` instance of the item.</dd>
          +     *  <dt>seriesIndex</dt><dd>The index of the series in the `seriesCollection`.</dd>
          +     *  </dl>
          +     *  The method returns an `HTMLElement` which is written into the DOM using `appendChild`. If you override this method and choose to return an html string, you
          +     *  will also need to override the tooltip's `setTextFunction` method to accept an html string.
          +     *  </dd>
          +     *  <dt>planarLabelFunction</dt><dd>Reference to the function used to format a planar event triggered tooltip's text
          +     *  <dl>
          +     *      <dt>categoryAxis</dt><dd> `CategoryAxis` Reference to the categoryAxis of the chart.
          +     *      <dt>valueItems</dt><dd>Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The value axis of the series.</dd>
          +     *      <dt>key</dt><dd>The key for the series.</dd>
          +     *      <dt>value</dt><dd>The value for the series item.</dd>
          +     *      <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     *  </dl> 
          +     *  </dd>
          +     *      <dt>index</dt><dd>The index of the item within its series.</dd>
          +     *      <dt>seriesArray</dt><dd>Array of series instances for each value item.</dd>
          +     *      <dt>seriesIndex</dt><dd>The index of the series in the `seriesCollection`.</dd>
          +     *  </dl>
          +     *  </dd>
          +     *  </dl>
          +     *  The method returns an `HTMLElement` which is written into the DOM using `appendChild`. If you override this method and choose to return an html string, you
          +     *  will also need to override the tooltip's `setTextFunction` method to accept an html string.
          +     *  </dd>
          +     *  <dt>setTextFunction</dt><dd>Method that writes content returned from `planarLabelFunction` or `markerLabelFunction` into the the tooltip node.
          +     *  has the following signature:
          +     *  <dl>
          +     *      <dt>label</dt><dd>The `HTMLElement` that the content is to be added.</dd>
          +     *      <dt>val</dt><dd>The content to be rendered into tooltip. This can be a `String` or `HTMLElement`. If an HTML string is used, it will be rendered as a
          +     *      string.</dd>
          +     *  </dl>
          +     *  </dd>
          +     *  </dl>
          +     * @attribute tooltip
          +     * @type Object
          +     */ 
          +    tooltip: {
          +        valueFn: "_getTooltip",
          +
          +        setter: function(val)
          +        {
          +            return this._updateTooltip(val);
          +        }
          +    },
          +
          +    /** 
          +     * The key value used for the chart's category axis. 
          +     *
          +     * @attribute categoryKey
          +     * @type String
          +     * @default category
          +     */
          +    categoryKey: {
          +        value: "category"
          +    },
          +        
          +    /**
          +     * Indicates the type of axis to use for the category axis.
          +     *
          +     *  <dl>
          +     *      <dt>category</dt><dd>Specifies a `CategoryAxis`.</dd>
          +     *      <dt>time</dt><dd>Specifies a `TimeAxis</dd>
          +     *  </dl>
          +     *
          +     * @attribute categoryType
          +     * @type String
          +     * @default category
          +     */
          +    categoryType:{
          +        value:"category"
          +    },
          +
          +    /**
          +     * Indicates the the type of interactions that will fire events.
          +     *
          +     *  <dl>
          +     *      <dt>marker</dt><dd>Events will be broadcasted when the mouse interacts with individual markers.</dd>
          +     *      <dt>planar</dt><dd>Events will be broadcasted when the mouse intersects the plane of any markers on the chart.</dd>
          +     *      <dt>none</dt><dd>No events will be broadcasted.</dd>
          +     *  </dl>
          +     *
          +     * @attribute interactionType
          +     * @type String
          +     * @default marker
          +     */
          +    interactionType: {
          +        value: "marker"
          +    },
          +
          +    /**
          +     * Data used to generate the chart.
          +     * 
          +     * @attribute dataProvider
          +     * @type Array
          +     */
          +    dataProvider: {
          +        setter: function(val)
          +        {
          +            return this._setDataValues(val);
          +        }
          +    },
          +        
          +    /**
          +     * A collection of keys that map to the series axes. If no keys are set,
          +     * they will be generated automatically depending on the data structure passed into 
          +     * the chart.
          +     *
          +     * @attribute seriesKeys
          +     * @type Array
          +     */
          +    seriesKeys: {},
          +
          +    /**
          +     * Reference to all the axes in the chart.
          +     *
          +     * @attribute axesCollection
          +     * @type Array
          +     */
          +    axesCollection: {},
          +
          +    /**
          +     * Reference to graph instance.
          +     * 
          +     * @attribute graph
          +     * @type Graph 
          +     */
          +    graph: {
          +        valueFn: "_getGraph"
          +    },
          +
          +    /**
          +     * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +     *
          +     * @attribute groupMarkers
          +     * @type Boolean
          +     */
          +    groupMarkers: {
          +        value: false,
          +
          +        setter: function(val)
          +        {
          +            if(this.get("graph"))
          +            {
          +                this.get("graph").set("groupMarkers", val);
          +            }
          +            return val;
          +        }
          +    }
          +};
          +
          +ChartBase.prototype = {
          +    /**
          +     * Handler for itemRendered event.
          +     *
          +     * @method _itemRendered
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _itemRendered: function(e)
          +    {
          +        this._itemRenderQueue = this._itemRenderQueue.splice(1 + Y.Array.indexOf(this._itemRenderQueue, e.currentTarget), 1);
          +        if(this._itemRenderQueue.length < 1)
          +        {
          +            this._redraw();
          +        }
          +    },
          +
          +    /**
          +     * Default value function for the `Graph` attribute.
          +     *
          +     * @method _getGraph
          +     * @return Graph
          +     * @private
          +     */
          +    _getGraph: function()
          +    {
          +        var graph = new Y.Graph({
          +            chart:this,
          +            groupMarkers: this.get("groupMarkers")    
          +        });
          +        graph.after("chartRendered", Y.bind(function(e) {
          +            this.fire("chartRendered");
          +        }, this));
          +        return graph; 
          +    },
          +
          +    /**
          +     * Returns a series instance by index or key value.
          +     *
          +     * @method getSeries
          +     * @param val
          +     * @return CartesianSeries
          +     */
          +    getSeries: function(val)
          +    {
          +        var series = null, 
          +            graph = this.get("graph");
          +        if(graph)
          +        {
          +            if(Y_Lang.isNumber(val))
          +            {
          +                series = graph.getSeriesByIndex(val);
          +            }
          +            else
          +            {
          +                series = graph.getSeriesByKey(val);
          +            }
          +        }
          +        return series;
          +    },
          +
          +    /**
          +     * Returns an `Axis` instance by key reference. If the axis was explicitly set through the `axes` attribute,
          +     * the key will be the same as the key used in the `axes` object. For default axes, the key for
          +     * the category axis is the value of the `categoryKey` (`category`). For the value axis, the default 
          +     * key is `values`.
          +     *
          +     * @method getAxisByKey
          +     * @param {String} val Key reference used to look up the axis.
          +     * @return Axis
          +     */
          +    getAxisByKey: function(val)
          +    {
          +        var axis,
          +            axes = this.get("axes");
          +        if(axes && axes.hasOwnProperty(val))
          +        {
          +            axis = axes[val];
          +        }
          +        return axis;
          +    },
          +
          +    /**
          +     * Returns the category axis for the chart.
          +     *
          +     * @method getCategoryAxis
          +     * @return Axis
          +     */
          +    getCategoryAxis: function()
          +    {
          +        var axis,
          +            key = this.get("categoryKey"),
          +            axes = this.get("axes");
          +        if(axes.hasOwnProperty(key))
          +        {
          +            axis = axes[key];
          +        }
          +        return axis;
          +    },
          +
          +    /**
          +     * Default direction of the chart.
          +     *
          +     * @property _direction
          +     * @type String
          +     * @default horizontal
          +     * @private
          +     */
          +    _direction: "horizontal",
          +    
          +    /**
          +     * Storage for the `dataProvider` attribute.
          +     *
          +     * @property _dataProvider
          +     * @type Array
          +     * @private
          +     */
          +    _dataProvider: null,
          +
          +    /**
          +     * Setter method for `dataProvider` attribute.
          +     *
          +     * @method _setDataValues
          +     * @param {Array} val Array to be set as `dataProvider`.
          +     * @return Array
          +     * @private
          +     */
          +    _setDataValues: function(val)
          +    {
          +        if(Y_Lang.isArray(val[0]))
          +        {
          +            var hash, 
          +                dp = [], 
          +                cats = val[0], 
          +                i = 0, 
          +                l = cats.length, 
          +                n, 
          +                sl = val.length;
          +            for(; i < l; ++i)
          +            {
          +                hash = {category:cats[i]};
          +                for(n = 1; n < sl; ++n)
          +                {
          +                    hash["series" + n] = val[n][i];
          +                }
          +                dp[i] = hash; 
          +            }
          +            return dp;
          +        }
          +        return val;
          +    },
          +
          +    /**
          +     * Storage for `seriesCollection` attribute.
          +     *
          +     * @property _seriesCollection
          +     * @type Array
          +     * @private 
          +     */
          +    _seriesCollection: null,
          +
          +    /**
          +     * Setter method for `seriesCollection` attribute.
          +     *
          +     * @property _setSeriesCollection
          +     * @param {Array} val Array of either `CartesianSeries` instances or objects containing series attribute key value pairs.
          +     * @private
          +     */
          +    _setSeriesCollection: function(val)
          +    {
          +        this._seriesCollection = val;
          +    },
          +    /**
          +     * Helper method that returns the axis class that a key references.
          +     *
          +     * @method _getAxisClass
          +     * @param {String} t The type of axis.
          +     * @return Axis
          +     * @private
          +     */
          +    _getAxisClass: function(t)
          +    {
          +        return this._axisClass[t];
          +    },
          +  
          +    /**
          +     * Key value pairs of axis types. 
          +     *
          +     * @property _axisClass
          +     * @type Object
          +     * @private
          +     */
          +    _axisClass: {
          +        stacked: Y.StackedAxis,
          +        numeric: Y.NumericAxis,
          +        category: Y.CategoryAxis,
          +        time: Y.TimeAxis
          +    },
          +
          +    /**
          +     * Collection of axes.
          +     *
          +     * @property _axes
          +     * @type Array
          +     * @private
          +     */
          +    _axes: null,
          +
          +    /**
          +     * @method initializer
          +     * @private
          +     */
          +    initializer: function()
          +    {
          +        this._itemRenderQueue = [];
          +        this._seriesIndex = -1;
          +        this._itemIndex = -1;
          +        this.after("dataProviderChange", this._dataProviderChangeHandler);
          +    },
          +
          +    /**
          +     * @method renderUI
          +     * @private
          +     */
          +    renderUI: function()
          +    {
          +        var tt = this.get("tooltip"),
          +            bb = this.get("boundingBox"),
          +            cb = this.get("contentBox");
          +        //move the position = absolute logic to a class file
          +        bb.setStyle("position", "absolute");
          +        cb.setStyle("position", "absolute");
          +        this._addAxes();
          +        this._addSeries();
          +        if(tt && tt.show)
          +        {
          +            this._addTooltip();
          +        }
          +        this._setAriaElements(bb, cb);
          +    },
          +   
          +    /**
          +     * Creates an aria `live-region`, `aria-label` and `aria-describedby` for the Chart.
          +     *
          +     * @method _setAriaElements
          +     * @param {Node} cb Reference to the Chart's `contentBox` attribute.
          +     * @private
          +     */
          +    _setAriaElements: function(bb, cb)
          +    {
          +        var description = this._getAriaOffscreenNode(),
          +            id = this.get("id") + "_description",
          +            liveRegion = this._getAriaOffscreenNode();
          +        cb.set("tabIndex", 0);
          +        cb.set("role", "img");
          +        cb.setAttribute("aria-label", this.get("ariaLabel"));
          +        cb.setAttribute("aria-describedby", id);
          +        description.set("id", id);
          +        description.set("tabIndex", -1);
          +        description.appendChild(DOCUMENT.createTextNode(this.get("ariaDescription")));
          +        liveRegion.set("id", "live-region");
          +        liveRegion.set("aria-live", "polite");
          +        liveRegion.set("aria-atomic", "true");
          +        liveRegion.set("role", "status");
          +        bb.setAttribute("role", "application");
          +        bb.appendChild(description);
          +        bb.appendChild(liveRegion);
          +        this._description = description;
          +        this._liveRegion = liveRegion;
          +    },
          +
          +    /**
          +     * Sets a node offscreen for use as aria-description or aria-live-regin.
          +     *
          +     * @method _setOffscreen
          +     * @return Node 
          +     * @private
          +     */
          +    _getAriaOffscreenNode: function()  
          +    {
          +        var node = Y.Node.create("<div></div>"),
          +            ie = Y.UA.ie,
          +            clipRect = (ie && ie < 8) ? "rect(1px 1px 1px 1px)" : "rect(1px, 1px, 1px, 1px)";
          +        node.setStyle("position", "absolute");
          +        node.setStyle("height", "1px"); 
          +        node.setStyle("width", "1px"); 
          +        node.setStyle("overflow", "hidden");
          +        node.setStyle("clip", clipRect); 
          +        return node;
          +    },
          +  
          +    /**
          +     * @method syncUI
          +     * @private
          +     */
          +    syncUI: function()
          +    {
          +        this._redraw();
          +    },
          +
          +    /**
          +     * @method bindUI
          +     * @private
          +     */
          +    bindUI: function()
          +    {
          +        this.after("tooltipChange", Y.bind(this._tooltipChangeHandler, this));
          +        this.after("widthChange", this._sizeChanged);
          +        this.after("heightChange", this._sizeChanged);
          +        var tt = this.get("tooltip"),
          +            hideEvent = "mouseout",
          +            showEvent = "mouseover",
          +            cb = this.get("contentBox"),
          +            interactionType = this.get("interactionType"),
          +            i = 0,
          +            len,
          +            markerClassName = "." + SERIES_MARKER,
          +            isTouch = ((WINDOW && ("ontouchstart" in WINDOW)) && !(Y.UA.chrome && Y.UA.chrome < 6));
          +        Y.on("keydown", Y.bind(function(e) {
          +            var key = e.keyCode,
          +                numKey = parseFloat(key),
          +                msg;
          +            if(numKey > 36 && numKey < 41)
          +            {
          +                e.halt();
          +                msg = this._getAriaMessage(numKey);
          +                this._liveRegion.setContent("");
          +                this._liveRegion.appendChild(DOCUMENT.createTextNode(msg));
          +            }
          +        }, this), this.get("contentBox"));
          +        if(interactionType == "marker")
          +        {
          +            //if touch capabilities, toggle tooltip on touchend. otherwise, the tooltip attribute's hideEvent/showEvent types.
          +            hideEvent = tt.hideEvent;
          +            showEvent = tt.showEvent;
          +            if(isTouch)
          +            {
          +                Y.delegate("touchend", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                //hide active tooltip if the chart is touched
          +                Y.on("touchend", Y.bind(function(e) {
          +                    e.halt(true);
          +                    if(this._activeMarker)
          +                    {
          +                        this._activeMarker = null;
          +                        this.hideTooltip(e);
          +                    }
          +                }, this));
          +            }
          +            else
          +            {
          +                Y.delegate("mouseenter", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate("mousedown", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate("mouseup", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate("mouseleave", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate("click", Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate("mousemove", Y.bind(this._positionTooltip, this), cb, markerClassName);
          +            }
          +        }
          +        else if(interactionType == "planar")
          +        {
          +            if(isTouch)
          +            {
          +                this._overlay.on("touchend", Y.bind(this._planarEventDispatcher, this));
          +            }
          +            else
          +            {
          +                this._overlay.on("mousemove", Y.bind(this._planarEventDispatcher, this));
          +                this.on("mouseout", this.hideTooltip);
          +            }
          +        }
          +        if(tt)
          +        {
          +            this.on("markerEvent:touchend", Y.bind(function(e) {
          +                var marker = e.series.get("markers")[e.index];
          +                if(this._activeMarker && marker === this._activeMarker)
          +                {
          +                    this._activeMarker = null;
          +                    this.hideTooltip(e);
          +                }
          +                else
          +                {
          +
          +                    this._activeMarker = marker;
          +                    tt.markerEventHandler.apply(this, [e]);
          +                }
          +            }, this));
          +            if(hideEvent && showEvent && hideEvent == showEvent)
          +            {
          +                this.on(interactionType + "Event:" + hideEvent, this.toggleTooltip);
          +            }
          +            else
          +            {
          +                if(showEvent)
          +                {
          +                    this.on(interactionType + "Event:" + showEvent, tt[interactionType + "EventHandler"]);
          +                }
          +                if(hideEvent)
          +                {
          +                    if(Y_Lang.isArray(hideEvent))
          +                    {
          +                        len = hideEvent.length;
          +                        for(; i < len; ++i)
          +                        {
          +                            this.on(interactionType + "Event:" + hideEvent[i], this.hideTooltip);
          +                        }
          +                    }
          +                    this.on(interactionType + "Event:" + hideEvent, this.hideTooltip);
          +                }
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Event handler for marker events.
          +     *
          +     * @method _markerEventDispatcher
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _markerEventDispatcher: function(e)
          +    {
          +        var type = e.type,
          +            cb = this.get("contentBox"),
          +            markerNode = e.currentTarget,
          +            strArr = markerNode.getAttribute("id").split("_"),
          +            index = strArr.pop(),
          +            seriesIndex = strArr.pop(),
          +            series = this.getSeries(parseInt(seriesIndex, 10)),
          +            items = this.getSeriesItems(series, index),
          +            isTouch = e && e.hasOwnProperty("changedTouches"),
          +            pageX = isTouch ? e.changedTouches[0].pageX : e.pageX,
          +            pageY = isTouch ? e.changedTouches[0].pageY : e.pageY,
          +            x = pageX - cb.getX(),
          +            y = pageY - cb.getY();
          +        if(type == "mouseenter")
          +        {
          +            type = "mouseover";
          +        }
          +        else if(type == "mouseleave")
          +        {
          +            type = "mouseout";
          +        }
          +        series.updateMarkerState(type, index);
          +        e.halt();
          +        /**
          +         * Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseover event.
          +         * 
          +         *
          +         * @event markerEvent:mouseover
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  <dl>
          +         *      <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>
          +         *      <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>
          +         *      <dt>node</dt><dd>The dom node of the marker.</dd>
          +         *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +         *      <dt>index</dt><dd>Index of the marker in the series.</dd>
          +         *      <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>
          +         *  </dl>
          +         */
          +        /**
          +         * Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseout event.
          +         *
          +         * @event markerEvent:mouseout
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  <dl>
          +         *      <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>
          +         *      <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>
          +         *      <dt>node</dt><dd>The dom node of the marker.</dd>
          +         *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +         *      <dt>index</dt><dd>Index of the marker in the series.</dd>
          +         *      <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>
          +         *  </dl>
          +         */
          +        /**
          +         * Broadcasts when `interactionType` is set to `marker` and a series marker has received a mousedown event.
          +         *
          +         * @event markerEvent:mousedown
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  <dl>
          +         *      <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>
          +         *      <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>
          +         *      <dt>node</dt><dd>The dom node of the marker.</dd>
          +         *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +         *      <dt>index</dt><dd>Index of the marker in the series.</dd>
          +         *      <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>
          +         *  </dl>
          +         */
          +        /**
          +         * Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseup event.
          +         *
          +         * @event markerEvent:mouseup
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  <dl>
          +         *      <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>
          +         *      <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>
          +         *      <dt>node</dt><dd>The dom node of the marker.</dd>
          +         *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +         *      <dt>index</dt><dd>Index of the marker in the series.</dd>
          +         *      <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>
          +         *  </dl>
          +         */
          +        /**
          +         * Broadcasts when `interactionType` is set to `marker` and a series marker has received a click event.
          +         *
          +         * @event markerEvent:click
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  <dl>
          +         *      <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>
          +         *      <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>
          +         *      <dt>node</dt><dd>The dom node of the marker.</dd>
          +         *      <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +         *      <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>
          +         *      <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>
          +         *      <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +         *      <dt>index</dt><dd>Index of the marker in the series.</dd>
          +         *      <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>
          +         *      <dt>originEvent</dt><dd>Underlying dom event.</dd>
          +         *  </dl>
          +         */
          +        this.fire("markerEvent:" + type, {
          +            originEvent: e,
          +            pageX:pageX, 
          +            pageY:pageY, 
          +            categoryItem:items.category, 
          +            valueItem:items.value, 
          +            node:markerNode, 
          +            x:x, 
          +            y:y, 
          +            series:series, 
          +            index:index, 
          +            seriesIndex:seriesIndex
          +        });
          +    },
          +
          +    /**
          +     * Event handler for dataProviderChange.
          +     *
          +     * @method _dataProviderChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _dataProviderChangeHandler: function(e)
          +    {
          +        var dataProvider = this.get("dataProvider"),
          +            axes = this.get("axes"),
          +            i,
          +            axis;
          +        this._seriesIndex = -1;
          +        this._itemIndex = -1;
          +        if(axes)
          +        {
          +            for(i in axes)
          +            {
          +                if(axes.hasOwnProperty(i))
          +                {
          +                    axis = axes[i];
          +                    if(axis instanceof Y.Axis)
          +                    {
          +                        if(axis.get("position") != "none")
          +                        {
          +                            this._addToAxesRenderQueue(axis);
          +                        }
          +                        axis.set("dataProvider", dataProvider);
          +                    }
          +                }
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Event listener for toggling the tooltip. If a tooltip is visible, hide it. If not, it 
          +     * will create and show a tooltip based on the event object.
          +     * 
          +     * @method toggleTooltip
          +     * @param {Object} e Event object.
          +     */
          +    toggleTooltip: function(e)
          +    {
          +        var tt = this.get("tooltip");
          +        if(tt.visible)
          +        {
          +            this.hideTooltip();
          +        }
          +        else
          +        {
          +            tt.markerEventHandler.apply(this, [e]);
          +        }
          +    },
          +
          +    /**
          +     * Shows a tooltip
          +     *
          +     * @method _showTooltip
          +     * @param {String} msg Message to dispaly in the tooltip.
          +     * @param {Number} x x-coordinate 
          +     * @param {Number} y y-coordinate
          +     * @private
          +     */
          +    _showTooltip: function(msg, x, y)
          +    {
          +        var tt = this.get("tooltip"),
          +            node = tt.node;
          +        if(msg)
          +        {
          +            tt.visible = true;
          +            tt.setTextFunction(node, msg);
          +            node.setStyle("top", y + "px");
          +            node.setStyle("left", x + "px");
          +            node.setStyle("visibility", "visible");
          +        }
          +    },
          +
          +    /**
          +     * Positions the tooltip
          +     *
          +     * @method _positionTooltip
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _positionTooltip: function(e)
          +    {
          +        var tt = this.get("tooltip"),
          +            node = tt.node,
          +            cb = this.get("contentBox"),
          +            x = (e.pageX + 10) - cb.getX(),
          +            y = (e.pageY + 10) - cb.getY();
          +        if(node)
          +        {
          +            node.setStyle("left", x + "px");
          +            node.setStyle("top", y + "px");
          +        }
          +    },
          +
          +    /**
          +     * Hides the default tooltip
          +     *
          +     * @method hideTooltip
          +     */
          +    hideTooltip: function()
          +    {
          +        var tt = this.get("tooltip"),
          +            node = tt.node;
          +        tt.visible = false;
          +        node.set("innerHTML", "");
          +        node.setStyle("left", -10000);
          +        node.setStyle("top", -10000);
          +        node.setStyle("visibility", "hidden");
          +    },
          +
          +    /**
          +     * Adds a tooltip to the dom.
          +     *
          +     * @method _addTooltip
          +     * @private
          +     */
          +    _addTooltip: function()
          +    {
          +        var tt = this.get("tooltip"),
          +            id = this.get("id") + "_tooltip",
          +            cb = this.get("contentBox"),
          +            oldNode = DOCUMENT.getElementById(id);
          +        if(oldNode)
          +        {
          +            cb.removeChild(oldNode);
          +        }
          +        tt.node.set("id", id);
          +        tt.node.setStyle("visibility", "hidden");
          +        cb.appendChild(tt.node);
          +    },
          +
          +    /**
          +     * Updates the tooltip attribute.
          +     *
          +     * @method _updateTooltip
          +     * @param {Object} val Object containing properties for the tooltip.
          +     * @return Object
          +     * @private
          +     */
          +    _updateTooltip: function(val)
          +    {
          +        var tt = this._tooltip,
          +            i,
          +            styles,
          +            node,
          +            props = {
          +                markerLabelFunction:"markerLabelFunction",
          +                planarLabelFunction:"planarLabelFunction",
          +                setTextFunction:"setTextFunction",
          +                showEvent:"showEvent",
          +                hideEvent:"hideEvent",
          +                markerEventHandler:"markerEventHandler",
          +                planarEventHandler:"planarEventHandler",
          +                show:"show"
          +            };
          +        if(Y_Lang.isObject(val))
          +        {
          +            styles = val.styles;
          +            node = Y.one(val.node) || tt.node;
          +            if(styles)
          +            {
          +                for(i in styles)
          +                {
          +                    if(styles.hasOwnProperty(i))
          +                    {
          +                        node.setStyle(i, styles[i]);
          +                    }
          +                }
          +            }
          +            for(i in props)
          +            {
          +                if(val.hasOwnProperty(i))
          +                {
          +                    tt[i] = val[i];
          +                }
          +            }
          +            tt.node = node;
          +        }
          +        return tt;
          +    },
          +
          +    /**
          +     * Default getter for `tooltip` attribute.
          +     *
          +     * @method _getTooltip
          +     * @return Object
          +     * @private
          +     */
          +    _getTooltip: function()
          +    {
          +        var node = DOCUMENT.createElement("div"),
          +            tt = {
          +                setTextFunction: this._setText,
          +                markerLabelFunction: this._tooltipLabelFunction,
          +                planarLabelFunction: this._planarLabelFunction,
          +                show: true,
          +                hideEvent: "mouseout",
          +                showEvent: "mouseover",
          +                markerEventHandler: function(e)
          +                {
          +                    var tt = this.get("tooltip"),
          +                    msg = tt.markerLabelFunction.apply(this, [e.categoryItem, e.valueItem, e.index, e.series, e.seriesIndex]);
          +                    this._showTooltip(msg, e.x + 10, e.y + 10);
          +                },
          +                planarEventHandler: function(e)
          +                {
          +                    var tt = this.get("tooltip"),
          +                        msg ,
          +                        categoryAxis = this.get("categoryAxis");
          +                    msg = tt.planarLabelFunction.apply(this, [categoryAxis, e.valueItem, e.index, e.items, e.seriesIndex]);
          +                    this._showTooltip(msg, e.x + 10, e.y + 10);
          +                }
          +            };
          +        node = Y.one(node);
          +        node.set("id", this.get("id") + "_tooltip");
          +        node.setStyle("fontSize", "85%");
          +        node.setStyle("opacity", "0.83");
          +        node.setStyle("position", "absolute");
          +        node.setStyle("paddingTop", "2px");
          +        node.setStyle("paddingRight", "5px");
          +        node.setStyle("paddingBottom", "4px");
          +        node.setStyle("paddingLeft", "2px");
          +        node.setStyle("backgroundColor", "#fff");
          +        node.setStyle("border", "1px solid #dbdccc");
          +        node.setStyle("pointerEvents", "none");
          +        node.setStyle("zIndex", 3);
          +        node.setStyle("whiteSpace", "noWrap");
          +        node.setStyle("visibility", "hidden");
          +        tt.node = Y.one(node);
          +        this._tooltip = tt;
          +        return tt;
          +    },
          +
          +    /**
          +     * Formats tooltip text when `interactionType` is `planar`.
          +     *
          +     * @method _planarLabelFunction
          +     * @param {Axis} categoryAxis Reference to the categoryAxis of the chart.
          +     * @param {Array} valueItems Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The value axis of the series.</dd>
          +     *      <dt>key</dt><dd>The key for the series.</dd>
          +     *      <dt>value</dt><dd>The value for the series item.</dd>
          +     *      <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     *  </dl> 
          +     *  @param {Number} index The index of the item within its series.
          +     *  @param {Array} seriesArray Array of series instances for each value item.
          +     *  @param {Number} seriesIndex The index of the series in the `seriesCollection`.
          +     *  @return {String | HTML} 
          +     * @private
          +     */
          +    _planarLabelFunction: function(categoryAxis, valueItems, index, seriesArray, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement("div"),
          +            valueItem,
          +            i = 0,
          +            len = seriesArray.length,
          +            axis,
          +            categoryValue,
          +            seriesValue,
          +            series;
          +        if(categoryAxis)
          +        {
          +            categoryValue = categoryAxis.get("labelFunction").apply(this, [categoryAxis.getKeyValueAt(this.get("categoryKey"), index), categoryAxis.get("labelFormat")]);
          +            if(Y_Lang.isString(categoryValue))
          +            {
          +                categoryValue = DOCUMENT.createTextNode(categoryValue);
          +            }
          +            msg.appendChild(categoryValue);
          +        }
          +
          +        for(; i < len; ++i)
          +        {
          +            series = seriesArray[i];
          +            if(series.get("visible"))
          +            {
          +                valueItem = valueItems[i];
          +                axis = valueItem.axis;
          +                seriesValue =  axis.get("labelFunction").apply(this, [axis.getKeyValueAt(valueItem.key, index), axis.get("labelFormat")]);
          +                msg.appendChild(DOCUMENT.createElement("br"));
          +                msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName));
          +                msg.appendChild(DOCUMENT.createTextNode(": "));
          +                if(Y_Lang.isString(seriesValue))
          +                {
          +                    seriesValue = DOCUMENT.createTextNode(seriesValue);
          +                }
          +                msg.appendChild(seriesValue);
          +            }
          +        }
          +        return msg;
          +    },
          +
          +    /**
          +     * Formats tooltip text when `interactionType` is `marker`.
          +     *
          +     * @method _tooltipLabelFunction
          +     * @param {Object} categoryItem An object containing the following:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     *      <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>
          +     *      <dt>key</dt><dd>The key of the category.</dd>
          +     *      <dt>value</dt><dd>The value of the category</dd>
          +     *  </dl>
          +     * @param {Object} valueItem An object containing the following:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +     *      <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     *      <dt>key</dt><dd>The key for the series.</dd>
          +     *      <dt>value</dt><dd>The value for the series item.</dd> 
          +     *  </dl>
          +     * @param {Number} itemIndex The index of the item within the series.
          +     * @param {CartesianSeries} series The `CartesianSeries` instance of the item.
          +     * @param {Number} seriesIndex The index of the series in the `seriesCollection`.
          +     * @return {String | HTML}
          +     * @private
          +     */
          +    _tooltipLabelFunction: function(categoryItem, valueItem, itemIndex, series, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement("div"),
          +            categoryValue = categoryItem.axis.get("labelFunction").apply(this, [categoryItem.value, categoryItem.axis.get("labelFormat")]),
          +            seriesValue = valueItem.axis.get("labelFunction").apply(this, [valueItem.value, valueItem.axis.get("labelFormat")]);
          +        msg.appendChild(DOCUMENT.createTextNode(categoryItem.displayName)); 
          +        msg.appendChild(DOCUMENT.createTextNode(": ")); 
          +        if(Y_Lang.isString(categoryValue))
          +        {
          +            categoryValue = DOCUMENT.createTextNode(categoryValue);
          +        }
          +        msg.appendChild(categoryValue);
          +        msg.appendChild(DOCUMENT.createElement("br"));
          +        msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName)); 
          +        msg.appendChild(DOCUMENT.createTextNode(": ")); 
          +        if(Y_Lang.isString(seriesValue))
          +        {
          +            seriesValue = DOCUMENT.createTextNode(seriesValue);
          +        }
          +        msg.appendChild(seriesValue);
          +        return msg; 
          +    },
          +
          +    /**
          +     * Event handler for the tooltipChange.
          +     *
          +     * @method _tooltipChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _tooltipChangeHandler: function(e)
          +    {
          +        if(this.get("tooltip"))
          +        {
          +            var tt = this.get("tooltip"),
          +                node = tt.node,
          +                show = tt.show,
          +                cb = this.get("contentBox");
          +            if(node && show)
          +            {
          +                if(!cb.contains(node))
          +                {
          +                    this._addTooltip();
          +                }
          +            }
          +        }
          +    },
          +    
          +    /**
          +     * Updates the content of text field. This method writes a value into a text field using 
          +     * `appendChild`. If the value is a `String`, it is converted to a `TextNode` first. 
          +     *
          +     * @method _setText
          +     * @param label {HTMLElement} label to be updated
          +     * @param val {String} value with which to update the label
          +     * @private
          +     */
          +    _setText: function(textField, val)
          +    { 
          +        textField.setContent("");
          +        if(Y_Lang.isNumber(val))
          +        {
          +            val = val + "";
          +        }
          +        else if(!val)
          +        {
          +            val = "";
          +        }
          +        if(IS_STRING(val))
          +        {
          +            val = DOCUMENT.createTextNode(val);
          +        }
          +        textField.appendChild(val);
          +    }
          +};
          +Y.ChartBase = ChartBase;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartLegend.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartLegend.js
          new file mode 100644
          index 000000000..768fbcc8e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ChartLegend.js
          @@ -0,0 +1,768 @@
          +/**
          + * ChartLegend provides a legend for a chart.
          + *
          + * @class ChartLegend
          + * @module charts
          + * @submodule charts-legend
          + * @extends Widget
          + */
          +Y.ChartLegend = Y.Base.create("chartlegend", Y.Widget, [Y.Renderer], {
          +    /**
          +     * Initializes the chart.
          +     *
          +     * @method initializer
          +     * @private
          +     */
          +    initializer: function()
          +    {
          +        this._items = [];
          +    },
          +
          +    /**
          +     * @method renderUI
          +     * @private
          +     */
          +    renderUI: function()
          +    {
          +        var bb = this.get("boundingBox"),
          +            cb = this.get("contentBox"),
          +            styles = this.get("styles").background,
          +            background = new Y.Rect({
          +                graphic: cb,
          +                fill: styles.fill,
          +                stroke: styles.border
          +            });
          +        bb.setStyle("display", "block");
          +        bb.setStyle("position", "absolute");
          +        this.set("background", background);
          +    },
          +    
          +    /**
          +     * @method bindUI
          +     * @private
          +     */
          +    bindUI: function()
          +    {
          +        this.get("chart").after("seriesCollectionChange", this._updateHandler);
          +        this.after("stylesChange", this._updateHandler);
          +        this.after("positionChange", this._positionChangeHandler);
          +        this.after("widthChange", this._handleSizeChange);
          +        this.after("heightChange", this._handleSizeChange);
          +    },
          +    
          +    /**
          +     * @method syncUI
          +     * @private
          +     */
          +    syncUI: function()
          +    {
          +        var w = this.get("width"),
          +            h = this.get("height");
          +        if(isFinite(w) && isFinite(h) && w > 0 && h > 0)
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    /**
          +     * Handles changes to legend.
          +     *
          +     * @method _updateHandler
          +     * @param {Object} e Event object
          +     * @private
          +     */
          +    _updateHandler: function(e)
          +    {
          +        if(this.get("rendered"))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    /** 
          +     * Handles position changes.
          +     *
          +     * @method _positionChangeHandler
          +     * @parma {Object} e Event object
          +     * @private
          +     */
          +    _positionChangeHandler: function(e)
          +    {
          +        var chart = this.get("chart"),
          +            parentNode = this._parentNode;
          +        if(parentNode && ((chart && this.get("includeInChartLayout"))))
          +        {
          +            this.fire("legendRendered");
          +        }
          +        else if(this.get("rendered"))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    /**
          +     * Updates the legend when the size changes.
          +     *
          +     * @method _handleSizeChange
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _handleSizeChange: function(e)
          +    {
          +        var attrName = e.attrName,
          +            pos = this.get(POSITION),
          +            vert = pos == LEFT || pos == RIGHT,
          +            hor = pos == BOTTOM || pos == TOP;
          +        if((hor && attrName == WIDTH) || (vert && attrName == HEIGHT))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    /**
          +     * Draws the legend
          +     *
          +     * @method _drawLegend
          +     * @private
          +     */
          +    _drawLegend: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        if(this.get("includeInChartLayout"))
          +        {
          +            this.get("chart")._itemRenderQueue.unshift(this);
          +        }
          +        var chart = this.get("chart"),
          +            node = this.get("contentBox"),
          +            seriesCollection = chart.get("seriesCollection"),
          +            series,
          +            styles = this.get("styles"),
          +            padding = styles.padding,
          +            itemStyles = styles.item,
          +            seriesStyles,
          +            hSpacing = itemStyles.hSpacing,
          +            vSpacing = itemStyles.vSpacing,
          +            hAlign = styles.hAlign,
          +            vAlign = styles.vAlign,
          +            marker = styles.marker,
          +            labelStyles = itemStyles.label,
          +            displayName,
          +            layout = this._layout[this.get("direction")],
          +            i, 
          +            len,
          +            isArray,
          +            shape,
          +            shapeClass,
          +            item,
          +            fill,
          +            border,
          +            fillColors,
          +            borderColors,
          +            borderWeight,
          +            items = [],
          +            markerWidth = marker.width,
          +            markerHeight = marker.height,
          +            totalWidth = 0 - hSpacing,
          +            totalHeight = 0 - vSpacing,
          +            maxWidth = 0,
          +            maxHeight = 0,
          +            itemWidth,
          +            itemHeight;
          +        if(marker && marker.shape)
          +        {
          +            shape = marker.shape;
          +        }
          +        this._destroyLegendItems();
          +        if(chart instanceof Y.PieChart)
          +        {
          +            series = seriesCollection[0];
          +            displayName = series.get("categoryAxis").getDataByKey(series.get("categoryKey")); 
          +            seriesStyles = series.get("styles").marker;
          +            fillColors = seriesStyles.fill.colors;
          +            borderColors = seriesStyles.border.colors;
          +            borderWeight = seriesStyles.border.weight;
          +            i = 0;
          +            len = displayName.length;
          +            shape = shape || Y.Circle;
          +            isArray = Y.Lang.isArray(shape);
          +            for(; i < len; ++i)
          +            {
          +                shape = isArray ? shape[i] : shape;
          +                fill = {
          +                    color: fillColors[i]
          +                };
          +                border = {
          +                    colors: borderColors[i],
          +                    weight: borderWeight
          +                };
          +                displayName = chart.getSeriesItems(series, i).category.value;
          +                item = this._getLegendItem(node, this._getShapeClass(shape), fill, border, labelStyles, markerWidth, markerHeight, displayName);
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                maxWidth = Math.max(maxWidth, itemWidth);
          +                maxHeight = Math.max(maxHeight, itemHeight);
          +                totalWidth += itemWidth + hSpacing;
          +                totalHeight += itemHeight + vSpacing;
          +                items.push(item);
          +            }
          +        }
          +        else
          +        {
          +            i = 0;
          +            len = seriesCollection.length;
          +            for(; i < len; ++i)
          +            {
          +                series = seriesCollection[i];
          +                seriesStyles = this._getStylesBySeriesType(series, shape);
          +                if(!shape)
          +                {
          +                    shape = seriesStyles.shape;
          +                    if(!shape)
          +                    {
          +                        shape = Y.Circle;
          +                    }
          +                }
          +                shapeClass = Y.Lang.isArray(shape) ? shape[i] : shape;
          +                item = this._getLegendItem(node, this._getShapeClass(shape), seriesStyles.fill, seriesStyles.border, labelStyles, markerWidth, markerHeight, series.get("valueDisplayName"));
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                maxWidth = Math.max(maxWidth, itemWidth);
          +                maxHeight = Math.max(maxHeight, itemHeight);
          +                totalWidth += itemWidth + hSpacing;
          +                totalHeight += itemHeight + vSpacing;
          +                items.push(item);
          +            }
          +        }
          +        this.set("items", items);
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawLegend();
          +        }
          +        else
          +        {
          +            layout._positionLegendItems.apply(this, [items, maxWidth, maxHeight, totalWidth, totalHeight, padding, hSpacing, vSpacing, hAlign, vAlign]);
          +            this._updateBackground(styles);
          +            this.fire("legendRendered");
          +        }
          +    },
          +
          +    /**
          +     * Updates the background for the legend.
          +     *
          +     * @method _updateBackground
          +     * @param {Object} styles Reference to the legend's styles attribute
          +     * @private
          +     */
          +    _updateBackground: function(styles)
          +    {
          +        var backgroundStyles = styles.background,
          +            contentRect = this._contentRect,
          +            padding = styles.padding,
          +            x = contentRect.left - padding.left,
          +            y = contentRect.top - padding.top,
          +            w = contentRect.right - x + padding.right,
          +            h = contentRect.bottom - y + padding.bottom;
          +        this.get("background").set({
          +            fill: backgroundStyles.fill,
          +            stroke: backgroundStyles.border,
          +            width: w,
          +            height: h,
          +            x: x,
          +            y: y
          +        });
          +    },
          +
          +    /**
          +     * Retrieves the marker styles based on the type of series. For series that contain a marker, the marker styles are returned.
          +     * 
          +     * @method _getStylesBySeriesType
          +     * @param {CartesianSeries | PieSeries} The series in which the style properties will be received.
          +     * @return Object An object containing fill, border and shape information.
          +     * @private
          +     */
          +    _getStylesBySeriesType: function(series)
          +    {
          +        var styles = series.get("styles");
          +        if(series instanceof Y.LineSeries || series instanceof Y.StackedLineSeries)
          +        {
          +            styles = series.get("styles").line;
          +            return {
          +                border: {
          +                    weight: 1,
          +                    color: styles.color
          +                },
          +                fill: {
          +                    color: styles.color
          +                }
          +            };
          +        }
          +        else if(series instanceof Y.AreaSeries || series instanceof Y.StackedAreaSeries)
          +        {
          +            series = series.get("styles").fill;
          +            return {
          +                border: {
          +                    weight: 1,
          +                    color: styles.color
          +                },
          +                fill: {
          +                    color: styles.color
          +                }
          +            };
          +        }
          +        else 
          +        {
          +            styles = series.get("styles").marker;
          +            return {
          +                fill: styles.fill,
          +
          +                border: {
          +                    weight: styles.border.weight,
          +
          +                    color: styles.border.color,
          +
          +                    shape: styles.shape
          +                },
          +                shape: styles.shape
          +            };
          +        }
          +    },
          +
          +    /**
          +     * Returns a legend item consisting of the following properties:
          +     *  <dl>
          +     *    <dt>node</dt><dd>The `Node` containing the legend item elements.</dd>
          +     *      <dt>shape</dt><dd>The `Shape` element for the legend item.</dd>
          +     *      <dt>textNode</dt><dd>The `Node` containing the text></dd>
          +     *      <dt>text</dt><dd></dd>
          +     *  </dl>
          +     *
          +     * @method _getLegendItem
          +     * @param {Node} shapeProps Reference to the `node` attribute.
          +     * @param {String | Class} shapeClass The type of shape
          +     * @param {Object} fill Properties for the shape's fill
          +     * @param {Object} border Properties for the shape's border
          +     * @param {String} text String to be rendered as the legend's text
          +     * @param {Number} width Total width of the legend item
          +     * @param {Number} height Total height of the legend item
          +     * @param {HTML | String} text Text for the legendItem
          +     * @return Object
          +     * @private
          +     */
          +    _getLegendItem: function(node, shapeClass, fill, border, labelStyles, w, h, text) 
          +    {
          +        var containerNode = Y.one(DOCUMENT.createElement("div")),
          +            textField = Y.one(DOCUMENT.createElement("span")),
          +            shape,
          +            dimension,
          +            padding,
          +            left,
          +            item;
          +        containerNode.setStyle(POSITION, "absolute");
          +        textField.setStyle(POSITION, "absolute");
          +        textField.setStyles(labelStyles);
          +        textField.appendChild(DOCUMENT.createTextNode(text));
          +        containerNode.appendChild(textField);
          +        node.appendChild(containerNode);
          +        dimension = textField.get("offsetHeight");
          +        padding = dimension - h;
          +        left = w + padding + 2;
          +        textField.setStyle("left", left + PX);
          +        containerNode.setStyle("height", dimension + PX);
          +        containerNode.setStyle("width", (left + textField.get("offsetWidth")) + PX);
          +        shape = new shapeClass({
          +            fill: fill,
          +            stroke: border,
          +            width: w,
          +            height: h,
          +            x: padding * 0.5,
          +            y: padding * 0.5,
          +            w: w,
          +            h: h,
          +            graphic: containerNode
          +        });
          +        textField.setStyle("left", dimension + PX);
          +        item = {
          +            node: containerNode,
          +            width: containerNode.get("offsetWidth"),
          +            height: containerNode.get("offsetHeight"),
          +            shape: shape,
          +            textNode: textField,
          +            text: text
          +        };
          +        this._items.push(item);
          +        return item;
          +    },
          +
          +    /**
          +     * Evaluates and returns correct class for drawing a shape.
          +     *
          +     * @method _getShapeClass
          +     * @return Shape
          +     * @private
          +     */
          +    _getShapeClass: function()
          +    {   
          +        var graphic = this.get("background").get("graphic");
          +        return graphic._getShapeClass.apply(graphic, arguments);
          +    },
          +    
          +    /**
          +     * Returns the default hash for the `styles` attribute.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var styles = { 
          +            padding: {
          +                top: 8,
          +                right: 8,
          +                bottom: 8,
          +                left: 9
          +            },
          +            gap: 10,
          +            hAlign: "center",
          +            vAlign: "top",
          +            marker: this._getPlotDefaults(),
          +            item: {
          +                hSpacing: 10,
          +                vSpacing: 5,
          +                label: {
          +                    color:"#808080",
          +                    fontSize:"85%"
          +                }
          +            },
          +            background: {
          +                shape: "rect",
          +                fill:{
          +                    color:"#faf9f2"
          +                },
          +                border: {
          +                    color:"#dad8c9",
          +                    weight: 1
          +                }
          +            }
          +        };
          +        return styles;
          +    },
          +
          +    /**
          +     * Gets the default values for series that use the utility. This method is used by
          +     * the class' `styles` attribute's getter to get build default values.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     */
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            width: 10,
          +            height: 10
          +        };
          +        return defs;
          +    },
          +
          +    /**
          +     * Destroys legend items.
          +     *
          +     * @method _destroyLegendItems
          +     * @private
          +     */
          +    _destroyLegendItems: function()
          +    {
          +        var item;
          +        if(this._items)
          +        {
          +            while(this._items.length > 0)
          +            {
          +                item = this._items.shift();
          +                item.shape.get("graphic").destroy();
          +                item.node.empty();
          +                item.node.remove(true);
          +                item = null;
          +            }
          +        }
          +        this._items = [];
          +    },
          +
          +    /**
          +     * Maps layout classes.
          +     *
          +     * @property _layout
          +     * @private
          +     */
          +    _layout: {
          +        vertical: VerticalLegendLayout,
          +        horizontal: HorizontalLegendLayout
          +    },
          +
          +    /**
          +     * Destructor implementation ChartLegend class. Removes all items and the Graphic instance from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        var graphic = this.get("graphic");
          +        this._destroyLegendItems();
          +        if(graphic)
          +        {
          +            graphic.destroy();
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Indicates whether the chart's contentBox is the parentNode for the legend.
          +         *
          +         * @attribute includeInChartLayout
          +         * @type Boolean
          +         * @private
          +         */
          +        includeInChartLayout: {
          +            value: false
          +        },
          +
          +        /**
          +         * Reference to the `Chart` instance.
          +         *
          +         * @attribute chart
          +         * @type Chart
          +         */
          +        chart: {
          +            setter: function(val)
          +            {
          +                this.after("legendRendered", Y.bind(val._itemRendered, val));
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Indicates the direction in relation of the legend's layout. The `direction` of the legend is determined by its
          +         * `position` value.
          +         *
          +         * @attribute direction
          +         * @type String
          +         */
          +        direction: {
          +            value: "vertical"
          +        },
          +       
          +        /**
          +         * Indicates the position and direction of the legend. Possible values are `left`, `top`, `right` and `bottom`. Values of `left` and
          +         * `right` values have a `direction` of `vertical`. Values of `top` and `bottom` values have a `direction` of `horizontal`.
          +         *
          +         * @attribute position
          +         * @type String
          +         */
          +        position: {
          +            lazyAdd: false,
          +
          +            value: "right",
          +
          +            setter: function(val)
          +            {
          +                if(val == TOP || val == BOTTOM)
          +                {
          +                    this.set("direction", HORIZONTAL);
          +                }
          +                else if(val == LEFT || val == RIGHT)
          +                {
          +                    this.set("direction", VERTICAL);
          +                }
          +                return val;
          +            }
          +        },
          + 
          +        /**
          +         * The width of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`. By default, the legend is included in the layout of the `Chart` that 
          +         * it references. Under this circumstance, `width` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is determined by the 
          +         * direction of the legend. If the `position` is `left` or `right` or the `direction` is `vertical`, width is `readOnly`. If the position is `top` or `bottom` or the `direction`
          +         * is `horizontal`, width can be explicitly set. If width is not explicitly set, the width will be determined by the width of the legend's parent element.
          +         *
          +         * @attribute width
          +         * @type Number
          +         */
          +        width: {
          +            getter: function()
          +            {
          +                var chart = this.get("chart"),
          +                    parentNode = this._parentNode;
          +                if(parentNode)
          +                {
          +                    if((chart && this.get("includeInChartLayout")) || this._width)
          +                    {
          +                        if(!this._width)
          +                        {
          +                            this._width = 0;
          +                        }
          +                        return this._width;
          +                    }
          +                    else
          +                    {
          +                        return parentNode.get("offsetWidth");
          +                    }
          +                }
          +                return "";
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._width = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * The height of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`. By default, the legend is included in the layout of the `Chart` that 
          +         * it references. Under this circumstance, `height` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is determined by the 
          +         * direction of the legend. If the `position` is `top` or `bottom` or the `direction` is `horizontal`, height is `readOnly`. If the position is `left` or `right` or the `direction`
          +         * is `vertical`, height can be explicitly set. If height is not explicitly set, the height will be determined by the width of the legend's parent element.
          +         *
          +         * @attribute height 
          +         * @type Number
          +         */
          +        height: {
          +            valueFn: "_heightGetter",
          +
          +            getter: function()
          +            {
          +                var chart = this.get("chart"),
          +                    parentNode = this._parentNode;
          +                if(parentNode) 
          +                {
          +                    if((chart && this.get("includeInChartLayout")) || this._height)
          +                    {
          +                        if(!this._height)
          +                        {
          +                            this._height = 0;
          +                        }
          +                        return this._height;
          +                    }
          +                    else
          +                    {
          +                        return parentNode.get("offsetHeight");
          +                    }
          +                }
          +                return "";
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._height = val;
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Indicates the x position of legend.
          +         *
          +         * @attribute x
          +         * @type Number
          +         * @readOnly
          +         */
          +        x: {
          +            lazyAdd: false,
          +
          +            value: 0,
          +            
          +            setter: function(val)
          +            {
          +                var node = this.get("boundingBox");
          +                if(node)
          +                {
          +                    node.setStyle(LEFT, val + PX);
          +                }
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Indicates the y position of legend.
          +         *
          +         * @attribute y
          +         * @type Number
          +         * @readOnly
          +         */
          +        y: {
          +            lazyAdd: false,
          +
          +            value: 0,
          +            
          +            setter: function(val)
          +            {
          +                var node = this.get("boundingBox");
          +                if(node)
          +                {
          +                    node.setStyle(TOP, val + PX);
          +                }
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Background for the legend.
          +         *
          +         * @attribute background
          +         * @type Rect
          +         */
          +        background: {}
          +
          +        /**
          +         * Properties used to display and style the ChartLegend.  This attribute is inherited from `Renderer`. Below are the default values:
          +         *
          +         *  <dl>
          +         *      <dt>gap</dt><dd>Distance, in pixels, between the `ChartLegend` instance and the chart's content. When `ChartLegend` is rendered within a `Chart` instance this value is applied.</dd>
          +         *      <dt>hAlign</dt><dd>Defines the horizontal alignment of the `items` in a `ChartLegend` rendered in a horizontal direction. This value is applied when the instance's `position` is set to top or bottom. This attribute can be set to left, center or right. The default value is center.</dd>
          +         *      <dt>vAlign</dt><dd>Defines the vertical alignment of the `items` in a `ChartLegend` rendered in vertical direction. This value is applied when the instance's `position` is set to left or right. The attribute can be set to top, middle or bottom. The default value is middle.</dd>
          +         *      <dt>item</dt><dd>Set of style properties applied to the `items` of the `ChartLegend`.
          +         *          <dl>
          +         *              <dt>hSpacing</dt><dd>Horizontal distance, in pixels, between legend `items`.</dd>
          +         *              <dt>vSpacing</dt><dd>Vertical distance, in pixels, between legend `items`.</dd>
          +         *              <dt>label</dt><dd>Properties for the text of an `item`.
          +         *                  <dl>
          +         *                      <dt>color</dt><dd>Color of the text. The default values is "#808080".</dd>
          +         *                      <dt>fontSize</dt><dd>Font size for the text. The default value is "85%".</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *              <dt>marker</dt><dd>Properties for the `item` markers.
          +         *                  <dl>
          +         *                      <dt>width</dt><dd>Specifies the width of the markers.</dd>
          +         *                      <dt>height</dt><dd>Specifies the height of the markers.</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>background</dt><dd>Properties for the `ChartLegend` background.
          +         *          <dl>
          +         *              <dt>fill</dt><dd>Properties for the background fill.
          +         *                  <dl>
          +         *                      <dt>color</dt><dd>Color for the fill. The default value is "#faf9f2".</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *              <dt>border</dt><dd>Properties for the background border.
          +         *                  <dl>
          +         *                      <dt>color</dt><dd>Color for the border. The default value is "#dad8c9".</dd>
          +         *                      <dt>weight</dt><dd>Weight of the border. The default values is 1.</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *          </dl>
          +         *      </dd>
          +         * </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CircleGroup.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CircleGroup.js
          new file mode 100755
          index 000000000..260212065
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CircleGroup.js
          @@ -0,0 +1,59 @@
          +/**
          + * Abstract class for creating groups of circles with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupCircle
          + * @constructor
          + */
          + CircleGroup = function(cfg)
          + {
          +    CircleGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + CircleGroup.NAME = "circleGroup";
          +
          + Y.extend(CircleGroup, Y.ShapeGroup, {    
          +    /**
          +     * Algorithm for drawing shape.
          +     *
          +     * @method drawShape
          +     * @param {Object} cfg Parameters used to draw the shape.
          +     */
          +    drawShape: function(cfg)
          +    {
          +        this.drawCircle(cfg.x, cfg.y, cfg.radius);
          +    }
          + });
          +
          +CircleGroup.ATTRS = Y.merge(Y.ShapeGroup.ATTRS, {
          +    dimensions: {
          +        getter: function()
          +        {
          +            var dimensions = this._dimensions,
          +                radius,
          +                yRadius,
          +                width,
          +                height;
          +            if(dimensions.hasOwnProperty("radius"))
          +            {
          +                return dimensions;
          +            }
          +            else
          +            {
          +                width = dimensions.width;
          +                height = dimensions.height;
          +                radius = Y_Lang.isArray(width) ? this._getRadiusCollection(width) : (width * 0.5);
          +                yRadius = radius;
          +                return {
          +                    width: width,
          +                    height: height,
          +                    radius: radius,
          +                    yRadius: yRadius
          +                };
          +            }
          +        }
          +    }
          +});
          +    
          +CircleGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.CircleGroup = CircleGroup;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ColumnSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ColumnSeries.js
          new file mode 100644
          index 000000000..d3dab589c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ColumnSeries.js
          @@ -0,0 +1,149 @@
          +/**
          + * The ColumnSeries class renders columns positioned horizontally along a category or time axis. The columns'
          + * lengths are proportional to the values they represent along a vertical axis.
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class ColumnSeries
          + * @extends MarkerSeries
          + * @uses Histogram
          + * @constructor
          + */
          +Y.ColumnSeries = Y.Base.create("columnSeries", Y.MarkerSeries, [Y.Histogram], {
          +    /**
          +     * Helper method for calculating the size of markers. 
          +     *
          +     * @method _getMarkerDimensions
          +     * @param {Number} xcoord The x-coordinate representing the data point for the marker.
          +     * @param {Number} ycoord The y-coordinate representing the data point for the marker.
          +     * @param {Number} calculatedSize The calculated size for the marker. For a `BarSeries` is it the width. For a `ColumnSeries` it is the height.
          +     * @param {Number} offset Distance of position offset dictated by other marker series in the same graph.
          +     * @return Object
          +     * @private
          +     */
          +    _getMarkerDimensions: function(xcoord, ycoord, calculatedSize, offset)
          +    {
          +        var config = {
          +            left: xcoord + offset
          +        };
          +        if(this._bottomOrigin >= ycoord)
          +        {
          +            config.top = ycoord;
          +            config.calculatedSize = this._bottomOrigin - config.top;
          +        }
          +        else
          +        {
          +            config.top = this._bottomOrigin;
          +            config.calculatedSize = ycoord - this._bottomOrigin;
          +        }
          +        return config;
          +    },
          +
          +    /**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers && this._markers[i])
          +        {
          +            var styles = Y.clone(this.get("styles").marker),
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get("xcoords"),
          +                ycoords = this.get("ycoords"),
          +                marker = this._markers[i],
          +                markers,
          +                graph = this.get("graph"),
          +                seriesStyles,
          +                seriesCollection = graph.seriesTypes[this.get("type")],
          +                seriesLen = seriesCollection.length,
          +                seriesSize = 0,
          +                offset = 0,
          +                renderer,
          +                n = 0,
          +                xs = [],
          +                order = this.get("order"),
          +                config;
          +            markerStyles = state == "off" || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]); 
          +            markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], styles.width, offset);
          +            markerStyles.height = config.calculatedSize;
          +            markerStyles.width = Math.min(this._maxSize, markerStyles.width);
          +            marker.set(markerStyles);
          +            for(; n < seriesLen; ++n)
          +            {
          +                xs[n] = xcoords[i] + seriesSize;
          +                seriesStyles = seriesCollection[n].get("styles").marker;
          +                seriesSize += Math.min(this._maxSize, seriesStyles.width);
          +                if(order > n)
          +                {
          +                    offset = seriesSize;
          +                }
          +                offset -= seriesSize/2;
          +            }
          +            for(n = 0; n < seriesLen; ++n)
          +            {
          +                markers = seriesCollection[n].get("markers");
          +                if(markers)
          +                {
          +                    renderer = markers[i];
          +                    if(renderer && renderer !== undefined)
          +                    {
          +                        renderer.set("x", (xs[n] - seriesSize/2));
          +                    }
          +                }
          +            }
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @readOnly
          +         * @default column
          +         */
          +        type: {
          +            value: "column"
          +        }
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>width</dt><dd>indicates the width of the marker. The default value is 12.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSeries.js
          new file mode 100644
          index 000000000..4ddee6581
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSeries.js
          @@ -0,0 +1,267 @@
          +/**
          + * The ComboSeries class renders a combination of lines, plots and area fills in a single series. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, lines and plots 
          + * are rendered and area is not. 
          + *
          + * @module charts
          + * @class ComboSeries
          + * @extends CartesianSeries 
          + * @uses Fills
          + * @uses Lines
          + * @uses Plots
          + * @constructor
          + */
          +Y.ComboSeries = Y.Base.create("comboSeries", Y.CartesianSeries, [Y.Fills, Y.Lines, Y.Plots], {
          +	/**
          +     * @protected
          +     * 
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        if(this.get("showAreaFill"))
          +        {
          +            this.drawFill.apply(this, this._getClosingPoints());
          +        }
          +        if(this.get("showLines")) 
          +        {
          +            this.drawLines();
          +        }
          +        if(this.get("showMarkers"))
          +        {
          +            this.drawPlots();
          +        }   
          +    },
          +    
          +    /**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     */
          +    _toggleVisible: function(visible)
          +    {
          +        var markers,
          +            marker,
          +            len,
          +            i;
          +        if(this.get("showAreaFill") && this._path)
          +        {
          +            this._path.set("visible", visible);
          +        }
          +        if(this.get("showLines") && this._lineGraphic)
          +        {
          +            this._lineGraphic.set("visible", visible);
          +        }
          +        if(this.get("showMarkers"))
          +        {
          +            markers = this.get("markers");
          +            if(markers)
          +            {
          +                i = 0;
          +                len = markers.length;
          +                for(; i < len; ++i)
          +                {
          +                    marker = markers[i];
          +                    if(marker)
          +                    {
          +                        marker.set("visible", visible);
          +                    }
          +                }
          +            }
          +        }
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Returns the default hash for the `styles` attribute.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var styles = Y.ComboSeries.superclass._getDefaultStyles();
          +        styles.line = this._getLineDefaults();
          +        styles.marker = this._getPlotDefaults();
          +        styles.area = this._getAreaDefaults();
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default combo
          +         */
          +        type: {
          +            value:"combo"
          +        },
          +
          +        /**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default false
          +         */
          +        showAreaFill: {
          +            value: false
          +        },
          +
          +        /**
          +         * Indicates whether lines are displayed.
          +         *
          +         * @attribute showLines
          +         * @type Boolean
          +         * @default true
          +         */
          +        showLines: {
          +            value: true
          +        },
          +
          +        /**
          +         * Indicates whether markers are displayed.
          +         *
          +         * @attribute showMarkers
          +         * @type Boolean
          +         * @default true
          +         */
          +        showMarkers: {
          +            value: true
          +        },
          +
          +        /**
          +         * Reference to the styles of the markers. These styles can also
          +         * be accessed through the `styles` attribute. Below are default
          +         * values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>
          +         *      <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute marker
          +         * @type Object
          +         */
          +        marker: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get("styles").marker;
          +            },
          +            setter: function(val)
          +            {
          +                this.set("styles", {marker:val});
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the styles of the lines. These styles can also be accessed through the `styles` attribute.
          +         * Below are the default values:
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      `["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]`
          +         *      <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +         *      <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +         *      <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *      <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +         *      <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +         *      <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *  </dl>
          +         *
          +         * @attribute line
          +         * @type Object
          +         */
          +        line: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get("styles").line;
          +            },
          +            setter: function(val)
          +            {
          +                this.set("styles", {line:val});
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the styles of the area fills. These styles can also be accessed through the `styles` attribute.
          +         * Below are the default values:
          +         *
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *      </dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          +         *  </dl>
          +         *
          +         * @attribute area
          +         * @type Object
          +         */
          +        area: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get("styles").area;
          +            },
          +            setter: function(val)
          +            {
          +                this.set("styles", {area:val});
          +            }
          +        }
          +
          +        /**
          +         * Style properties for the series. Contains a key indexed hash of the following:
          +         *  <dl>
          +         *      <dt>marker</dt><dd>Style properties for the markers in the series. Specific style attributes are listed
          +         *      <a href="#attr_marker">here</a>.</dd>
          +         *      <dt>line</dt><dd>Style properties for the lines in the series. Specific
          +         *      style attributes are listed <a href="#attr_line">here</a>.</dd>
          +         *      <dt>area</dt><dd>Style properties for the area fills in the series. Specific style attributes are listed
          +         *      <a href="#attr_area">here</a>.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSplineSeries.js
          new file mode 100644
          index 000000000..f1bd37a23
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ComboSplineSeries.js
          @@ -0,0 +1,48 @@
          +/**
          + * The ComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, splines and plots 
          + * are rendered and areaspline is not. 
          + *
          + * @module charts
          + * @class ComboSplineSeries
          + * @extends ComboSeries
          + * @extends CurveUtil
          + * @constructor
          + */
          +Y.ComboSplineSeries = Y.Base.create("comboSplineSeries", Y.ComboSeries, [Y.CurveUtil], {
          +    /**
          +     * @protected
          +     * 
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        if(this.get("showAreaFill"))
          +        {
          +            this.drawAreaSpline();
          +        }
          +        if(this.get("showLines")) 
          +        {
          +            this.drawSpline();
          +        }
          +        if(this.get("showMarkers"))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default comboSpline
          +         */
          +        type: {
          +            value : "comboSpline"
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CurveUtil.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CurveUtil.js
          new file mode 100644
          index 000000000..551a6f6d8
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/CurveUtil.js
          @@ -0,0 +1,119 @@
          +/**
          + * Utility class used for calculating curve points.
          + *
          + * @module charts
          + * @class CurveUtil
          + * @constructor
          + */
          +function CurveUtil()
          +{
          +}
          +
          +CurveUtil.prototype = {
          +    /**
          +     * Creates an array of start, end and control points for splines.
          +     *
          +     * @method getCurveControlPoints
          +     * @param {Array} xcoords Collection of x-coordinates used for calculate the curves
          +     * @param {Array} ycoords Collection of y-coordinates used for calculate the curves
          +     * @return Object
          +     * @protected
          +     */
          +    getCurveControlPoints: function(xcoords, ycoords) 
          +    {
          +		var outpoints = [],
          +            i = 1,
          +            l = xcoords.length - 1,
          +		    xvals = [],
          +		    yvals = [];
          +		
          +		
          +		// Too few points, need at least two
          +		if (l < 1) 
          +        {
          +			return null;
          +		} 
          +        
          +        outpoints[0] = {
          +            startx: xcoords[0], 
          +            starty: ycoords[0],
          +            endx: xcoords[1],
          +            endy: ycoords[1]
          +        };
          +        
          +		// Special case, the Bezier should be a straight line
          +        if (l === 1) 
          +        {
          +			outpoints[0].ctrlx1 = (2.0*xcoords[0] + xcoords[1])/3.0;  
          +			outpoints[0].ctrly2 = (2.0*ycoords[0] + ycoords[1])/3.0;
          +			outpoints[0].ctrlx2 = 2.0*outpoints[0].ctrlx1 - xcoords[0];
          +            outpoints[0].ctrly2 = 2.0*outpoints[0].ctrly1 - ycoords[0];
          +            return outpoints;
          +		}
          +
          +		for (; i < l; ++i) 
          +        {
          +			outpoints.push({startx: Math.round(xcoords[i]), starty: Math.round(ycoords[i]), endx: Math.round(xcoords[i+1]), endy: Math.round(ycoords[i+1])});
          +			xvals[i] = 4.0 * xcoords[i] + 2*xcoords[i+1];
          +			yvals[i] = 4.0*ycoords[i] + 2*ycoords[i+1];
          +		}
          +		
          +		xvals[0] = xcoords[0] + (2.0 * xcoords[1]);
          +		xvals[l-1] = (8.0 * xcoords[l-1] + xcoords[l]) / 2.0;
          +		xvals = this.getControlPoints(xvals.concat());
          +        yvals[0] = ycoords[0] + (2.0 * ycoords[1]);
          +		yvals[l-1] = (8.0 * ycoords[l-1] + ycoords[l]) / 2.0;	
          +		yvals = this.getControlPoints(yvals.concat());
          +		
          +        for (i = 0; i < l; ++i) 
          +        {
          +			outpoints[i].ctrlx1 = Math.round(xvals[i]);
          +            outpoints[i].ctrly1 = Math.round(yvals[i]);
          +			
          +			if (i < l-1) 
          +            {
          +				outpoints[i].ctrlx2 = Math.round(2*xcoords[i+1] - xvals[i+1]);
          +                outpoints[i].ctrly2 = Math.round(2*ycoords[i+1] - yvals[i+1]);
          +			}
          +			else 
          +            {
          +				outpoints[i].ctrlx2 = Math.round((xcoords[l] + xvals[l-1])/2);
          +                outpoints[i].ctrly2 = Math.round((ycoords[l] + yvals[l-1])/2);
          +			}
          +		}
          +		
          +		return outpoints;	
          +	},
          +
          +    /**
          +     * Gets the control points for the curve.
          +     *
          +     * @method getControlPoints
          +     * @param {Array} vals Collection of values coords used to generate control points.
          +     * @return Array
          +     * @private
          +     */
          +	getControlPoints: function(vals) 
          +    {
          +		var l = vals.length,
          +            x = [],
          +            tmp = [],
          +            b = 2.0,
          +            i = 1;
          +		x[0] = vals[0] / b;
          +		for (; i < l; ++i) 
          +        {
          +			tmp[i] = 1/b;
          +			b = (i < l-1 ? 4.0 : 3.5) - tmp[i];
          +			x[i] = (vals[i] - x[i-1]) / b;
          +		}
          +		
          +		for (i = 1; i < l; ++i) 
          +        {
          +			x[l-i-1] -= tmp[l-i] * x[l-i];
          +		}
          +		
          +		return x;
          +	}
          +};
          +Y.CurveUtil = CurveUtil;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/DiamondGroup.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/DiamondGroup.js
          new file mode 100755
          index 000000000..dc34cdc0e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/DiamondGroup.js
          @@ -0,0 +1,29 @@
          +/**
          + * Abstract class for creating groups of diamonds with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupDiamond
          + * @constructor
          + */
          + DiamondGroup = function(cfg)
          + {
          +    DiamondGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + DiamondGroup.NAME = "diamondGroup";
          +
          + Y.extend(DiamondGroup, Y.ShapeGroup, {    
          +    /**
          +     * Updates the diamond.
          +     *
          +     * @method _draw
          +     * @private
          +     */
          +    drawShape: function(cfg)
          +    {
          +        this.drawDiamond(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +DiamondGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.DiamondGroup = DiamondGroup;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/EllipseGroup.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/EllipseGroup.js
          new file mode 100755
          index 000000000..648804ffe
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/EllipseGroup.js
          @@ -0,0 +1,29 @@
          +/**
          + * Abstract class for creating groups of diamonds with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class EllipseGroup
          + * @constructor
          + */
          + EllipseGroup = function(cfg)
          + {
          +    EllipseGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + EllipseGroup.NAME = "diamondGroup";
          +
          + Y.extend(EllipseGroup, Y.ShapeGroup, {    
          +    /**
          +     * Updates the diamond.
          +     *
          +     * @method _draw
          +     * @private
          +     */
          +    drawShape: function(cfg)
          +    {
          +        this.drawEllipse(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +EllipseGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.EllipseGroup = EllipseGroup;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Fills.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Fills.js
          new file mode 100644
          index 000000000..a9192fdc0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Fills.js
          @@ -0,0 +1,363 @@
          +/**
          + * Utility class used for drawing area fills.
          + *
          + * @module charts
          + * @class Fills
          + * @constructor
          + */
          +function Fills(cfg)
          +{
          +    var attrs = {
          +        area: {
          +            getter: function()
          +            {
          +                return this._defaults || this._getAreaDefaults();
          +            },
          +
          +            setter: function(val)
          +            {
          +                var defaults = this._defaults || this._getAreaDefaults();
          +                this._defaults = Y.merge(defaults, val);
          +            }
          +        }
          +    };
          +    this.addAttrs(attrs, cfg);
          +    this.get("styles");
          +}
          +
          +Fills.prototype = {
          +    /**
          +     * Returns a path shape used for drawing fills.
          +     *
          +     * @method _getPath
          +     * @return Path
          +     * @private
          +     */
          +    _getPath: function()
          +    {
          +        var path = this._path;
          +        if(!path)
          +        {
          +            path = this.get("graph").get("graphic").addShape({type:"path"});
          +            this._path = path;
          +        }
          +        return path;
          +    },
          +    
          +    /**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     */
          +    _toggleVisible: function(visible)
          +    {   
          +        if(this._path)
          +        {
          +            this._path.set("visible", visible);
          +        }
          +    },
          +
          +    /**
          +     * Draws fill
          +     *
          +     * @method drawFill
          +     * @param {Array} xcoords The x-coordinates for the series.
          +     * @param {Array} ycoords The y-coordinates for the series.
          +     * @protected
          +     */
          +    drawFill: function(xcoords, ycoords)
          +    {
          +        if(xcoords.length < 1) 
          +        {
          +            return;
          +        }
          +        var len = xcoords.length,
          +            firstX = xcoords[0],
          +            firstY = ycoords[0],
          +            lastValidX = firstX,
          +            lastValidY = firstY,
          +            nextX,
          +            nextY,
          +            i = 1,
          +            styles = this.get("styles").area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get("graphOrder"), "slice");
          +        path.clear();
          +        path.set("fill", {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set("stroke", {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i < len; i = ++i)
          +        {
          +            nextX = xcoords[i];
          +            nextY = ycoords[i];
          +            if(isNaN(nextY))
          +            {
          +                lastValidX = nextX;
          +                lastValidY = nextY;
          +                continue;
          +            }
          +            path.lineTo(nextX, nextY);
          +            lastValidX = nextX;
          +            lastValidY = nextY;
          +        }
          +        path.end();
          +    },
          +	
          +    /**
          +     * Draws a fill for a spline
          +     *
          +     * @method drawAreaSpline
          +     * @protected
          +     */
          +    drawAreaSpline: function()
          +    {
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            curvecoords = this.getCurveControlPoints(xcoords, ycoords),
          +            len = curvecoords.length,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            firstX = xcoords[0],
          +            firstY = ycoords[0],
          +            styles = this.get("styles").area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get("graphOrder"), "slice");
          +        path.set("fill", {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set("stroke", {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i < len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        if(this.get("direction") === "vertical")
          +        {
          +            path.lineTo(this._leftOrigin, y);
          +            path.lineTo(this._leftOrigin, firstY);
          +        }
          +        else
          +        {
          +            path.lineTo(x, this._bottomOrigin);
          +            path.lineTo(firstX, this._bottomOrigin);
          +        }
          +        path.lineTo(firstX, firstY);
          +        path.end();
          +    },
          +    
          +    /**
          +     * Draws a a stacked area spline
          +     *
          +     * @method drawStackedAreaSpline
          +     * @protected
          +     */
          +    drawStackedAreaSpline: function()
          +    {
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            curvecoords,
          +            order = this.get("order"),
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            seriesCollection = graph.seriesTypes[type],
          +            prevXCoords,
          +            prevYCoords,
          +            len,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            firstX,
          +            firstY,
          +            styles = this.get("styles").area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get("graphOrder"), "slice");
          +        firstX = xcoords[0];
          +        firstY = ycoords[0];
          +        curvecoords = this.getCurveControlPoints(xcoords, ycoords);
          +        len = curvecoords.length;
          +        path.set("fill", {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set("stroke", {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i < len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        if(order > 0)
          +        {
          +            prevXCoords = seriesCollection[order - 1].get("xcoords").concat().reverse();
          +            prevYCoords = seriesCollection[order - 1].get("ycoords").concat().reverse();
          +            curvecoords = this.getCurveControlPoints(prevXCoords, prevYCoords);
          +            i = 0;
          +            len = curvecoords.length;
          +            path.lineTo(prevXCoords[0], prevYCoords[0]);
          +            for(; i < len; i = ++i)
          +            {
          +                x = curvecoords[i].endx;
          +                y = curvecoords[i].endy;
          +                cx1 = curvecoords[i].ctrlx1;
          +                cx2 = curvecoords[i].ctrlx2;
          +                cy1 = curvecoords[i].ctrly1;
          +                cy2 = curvecoords[i].ctrly2;
          +                path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +            }
          +        }
          +        else
          +        {
          +            if(this.get("direction") === "vertical")
          +            {
          +                path.lineTo(this._leftOrigin, ycoords[ycoords.length-1]);
          +                path.lineTo(this._leftOrigin, firstY);
          +            }
          +            else
          +            {
          +                path.lineTo(xcoords[xcoords.length-1], this._bottomOrigin);
          +                path.lineTo(firstX, this._bottomOrigin);
          +            }
          +
          +        }
          +        path.lineTo(firstX, firstY);
          +        path.end();
          +    },
          +    
          +    /**
          +     * Storage for default area styles.
          +     *
          +     * @property _defaults
          +     * @type Object
          +     * @private
          +     */
          +    _defaults: null,
          +
          +    /**
          +     * Concatenates coordinate array with correct coordinates for closing an area fill.
          +     *
          +     * @method _getClosingPoints
          +     * @return Array
          +     * @protected
          +     */
          +    _getClosingPoints: function()
          +    {
          +        var xcoords = this.get("xcoords").concat(),
          +            ycoords = this.get("ycoords").concat();
          +        if(this.get("direction") === "vertical")
          +        {
          +            xcoords.push(this._leftOrigin);
          +            xcoords.push(this._leftOrigin);
          +            ycoords.push(ycoords[ycoords.length - 1]);
          +            ycoords.push(ycoords[0]);
          +        }
          +        else
          +        {
          +            xcoords.push(xcoords[xcoords.length - 1]);
          +            xcoords.push(xcoords[0]);
          +            ycoords.push(this._bottomOrigin);
          +            ycoords.push(this._bottomOrigin);
          +        }
          +        xcoords.push(xcoords[0]);
          +        ycoords.push(ycoords[0]);
          +        return [xcoords, ycoords];
          +    },
          +
          +    /**
          +     * Concatenates coordinate array with the correct coordinates for closing an area stack.
          +     *
          +     * @method _getStackedClosingPoints
          +     * @return Array
          +     * @protected
          +     */
          +    _getStackedClosingPoints: function()
          +    {
          +        var order = this.get("order"),
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            direction = this.get("direction"),
          +            seriesCollection = graph.seriesTypes[type],
          +            prevXCoords,
          +            prevYCoords,
          +            allXCoords = this.get("xcoords").concat(),
          +            allYCoords = this.get("ycoords").concat(),
          +            firstX = allXCoords[0],
          +            firstY = allYCoords[0];
          +        
          +        if(order > 0)
          +        {
          +            prevXCoords = seriesCollection[order - 1].get("xcoords").concat();
          +            prevYCoords = seriesCollection[order - 1].get("ycoords").concat();
          +            allXCoords = allXCoords.concat(prevXCoords.concat().reverse());
          +            allYCoords = allYCoords.concat(prevYCoords.concat().reverse());
          +            allXCoords.push(allXCoords[0]);
          +            allYCoords.push(allYCoords[0]);
          +        }
          +        else
          +        {
          +            if(direction === "vertical")
          +            {
          +                allXCoords.push(this._leftOrigin);
          +                allXCoords.push(this._leftOrigin);
          +                allYCoords.push(allYCoords[allYCoords.length-1]);
          +                allYCoords.push(firstY);
          +            }
          +            else
          +            {
          +                allXCoords.push(allXCoords[allXCoords.length-1]);
          +                allXCoords.push(firstX);
          +                allYCoords.push(this._bottomOrigin);
          +                allYCoords.push(this._bottomOrigin);
          +            }
          +        }
          +        return [allXCoords, allYCoords];
          +    },
          +
          +    /**
          +     * Returns default values for area styles.
          +     *
          +     * @method _getAreaDefaults
          +     * @return Object
          +     * @private
          +     */
          +    _getAreaDefaults: function()
          +    {
          +        return {
          +        };
          +    }
          +};
          +Y.augment(Fills, Y.Attribute);
          +Y.Fills = Fills;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Graph.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Graph.js
          new file mode 100644
          index 000000000..371d15054
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Graph.js
          @@ -0,0 +1,792 @@
          +/**
          + * Graph manages and contains series instances for a `CartesianChart`
          + * instance.
          + *
          + * @module charts
          + * @class Graph
          + * @constructor
          + * @extends Widget
          + * @uses Renderer
          + */
          +Y.Graph = Y.Base.create("graph", Y.Widget, [Y.Renderer], {
          +    /**
          +     * @method bindUI
          +     * @private
          +     */
          +    bindUI: function()
          +    {
          +        var bb = this.get("boundingBox");
          +        bb.setStyle("position", "absolute");
          +        this.after("widthChange", this._sizeChangeHandler);
          +        this.after("heightChange", this._sizeChangeHandler);
          +        this.after("stylesChange", this._updateStyles);
          +    },
          +
          +    /**
          +     * @method syncUI
          +     * @private
          +     */
          +    syncUI: function()
          +    {
          +        var background,
          +            cb,
          +            bg,
          +            sc = this.get("seriesCollection"),
          +            series,
          +            i = 0,
          +            len = sc.length,
          +            hgl = this.get("horizontalGridlines"),
          +            vgl = this.get("verticalGridlines");
          +        if(this.get("showBackground"))
          +        {
          +            background = this.get("background");
          +            cb = this.get("contentBox");
          +            bg = this.get("styles").background;
          +            bg.stroke = bg.border;
          +            bg.stroke.opacity = bg.stroke.alpha;
          +            bg.fill.opacity = bg.fill.alpha;
          +            bg.width = this.get("width");
          +            bg.height = this.get("height");
          +            bg.type = bg.shape;
          +            background.set(bg);
          +        }
          +        for(; i < len; ++i)
          +        {
          +            series = sc[i];
          +            if(series instanceof Y.CartesianSeries)
          +            {
          +                series.render();
          +            }
          +        }
          +        if(hgl && hgl instanceof Y.Gridlines)
          +        {
          +            hgl.draw();
          +        }
          +        if(vgl && vgl instanceof Y.Gridlines)
          +        {
          +            vgl.draw();
          +        }
          +    },
          +   
          +    /**
          +     * Object of arrays containing series mapped to a series type.
          +     *
          +     * @property seriesTypes
          +     * @type Object
          +     * @private
          +     */
          +    seriesTypes: null,
          +
          +    /**
          +     * Returns a series instance based on an index.
          +     * 
          +     * @method getSeriesByIndex
          +     * @param {Number} val index of the series
          +     * @return CartesianSeries
          +     */
          +    getSeriesByIndex: function(val)
          +    {
          +        var col = this.get("seriesCollection"),
          +            series;
          +        if(col && col.length > val)
          +        {
          +            series = col[val];
          +        }
          +        return series;
          +    },
          +
          +    /**
          +     * Returns a series instance based on a key value.
          +     * 
          +     * @method getSeriesByKey
          +     * @param {String} val key value of the series
          +     * @return CartesianSeries
          +     */
          +    getSeriesByKey: function(val)
          +    {
          +        var obj = this._seriesDictionary,
          +            series;
          +        if(obj && obj.hasOwnProperty(val))
          +        {
          +            series = obj[val];
          +        }
          +        return series;
          +    },
          +
          +    /**
          +     * Adds dispatcher to a `_dispatcher` used to
          +     * to ensure all series have redrawn before for firing event.
          +     *
          +     * @method addDispatcher
          +     * @param {CartesianSeries} val series instance to add
          +     * @protected
          +     */
          +    addDispatcher: function(val)
          +    {
          +        if(!this._dispatchers)
          +        {
          +            this._dispatchers = [];
          +        }
          +        this._dispatchers.push(val);
          +    },
          +
          +    /**
          +     * Collection of series to be displayed in the graph.
          +     *
          +     * @property _seriesCollection
          +     * @type Array
          +     * @private 
          +     */
          +    _seriesCollection: null,
          +    
          +    /**
          +     * Object containing key value pairs of `CartesianSeries` instances.
          +     *
          +     * @property _seriesDictionary
          +     * @type Object
          +     * @private
          +     */
          +    _seriesDictionary: null,
          +
          +    /**
          +     * Parses series instances to be displayed in the graph.
          +     *
          +     * @method _parseSeriesCollection
          +     * @param {Array} Collection of `CartesianSeries` instances or objects container `CartesianSeries` attributes values.
          +     * @private
          +     */
          +    _parseSeriesCollection: function(val)
          +    {
          +        if(!val)
          +        {
          +            return;
          +        }	
          +        var len = val.length,
          +            i = 0,
          +            series,
          +            seriesKey;
          +        if(!this.get("seriesCollection"))
          +        {
          +            this._seriesCollection = [];
          +        }
          +        if(!this._seriesDictionary)
          +        {
          +            this._seriesDictionary = {};
          +        }
          +        if(!this.seriesTypes)
          +        {
          +            this.seriesTypes = [];
          +        }
          +        for(; i < len; ++i)
          +        {	
          +            series = val[i];
          +            if(!(series instanceof Y.CartesianSeries) && !(series instanceof Y.PieSeries))
          +            {
          +                this._createSeries(series);
          +                continue;
          +            }
          +            this._addSeries(series);
          +        }
          +        len = this.get("seriesCollection").length;
          +        for(i = 0; i < len; ++i)
          +        {
          +            series = this.get("seriesCollection")[i];
          +            seriesKey = series.get("direction") == "horizontal" ? "yKey" : "xKey";
          +            this._seriesDictionary[series.get(seriesKey)] = series;
          +        }
          +    },
          +
          +    /**
          +     * Adds a series to the graph.
          +     *
          +     * @method _addSeries
          +     * @param {CartesianSeries} series Series to add to the graph.
          +     * @private
          +     */
          +    _addSeries: function(series)
          +    {
          +        var type = series.get("type"),
          +            seriesCollection = this.get("seriesCollection"),
          +            graphSeriesLength = seriesCollection.length,
          +            seriesTypes = this.seriesTypes,
          +            typeSeriesCollection;	
          +        if(!series.get("graph")) 
          +        {
          +            series.set("graph", this);
          +        }
          +        seriesCollection.push(series);
          +        if(!seriesTypes.hasOwnProperty(type))
          +        {
          +            this.seriesTypes[type] = [];
          +        }
          +        typeSeriesCollection = this.seriesTypes[type];
          +        series.set("graphOrder", graphSeriesLength);
          +        series.set("order", typeSeriesCollection.length);
          +        typeSeriesCollection.push(series);
          +        this.addDispatcher(series);
          +        series.after("drawingComplete", Y.bind(this._drawingCompleteHandler, this));
          +        this.fire("seriesAdded", series);
          +    },
          +
          +    /**
          +     * Creates a `CartesianSeries` instance from an object containing attribute key value pairs. The key value pairs include attributes for the specific series and a type value which defines the type of
          +     * series to be used. 
          +     *
          +     * @method createSeries
          +     * @param {Object} seriesData Series attribute key value pairs.
          +     * @private
          +     */
          +    _createSeries: function(seriesData)
          +    {
          +        var type = seriesData.type,
          +            seriesCollection = this.get("seriesCollection"),
          +            seriesTypes = this.seriesTypes,
          +            typeSeriesCollection,
          +            seriesType,
          +            series;
          +            seriesData.graph = this;
          +        if(!seriesTypes.hasOwnProperty(type))
          +        {
          +            seriesTypes[type] = [];
          +        }
          +        typeSeriesCollection = seriesTypes[type];
          +        seriesData.graph = this;
          +        seriesData.order = typeSeriesCollection.length;
          +        seriesData.graphOrder = seriesCollection.length;
          +        seriesType = this._getSeries(seriesData.type);
          +        series = new seriesType(seriesData);
          +        this.addDispatcher(series);
          +        series.after("drawingComplete", Y.bind(this._drawingCompleteHandler, this));
          +        typeSeriesCollection.push(series);
          +        seriesCollection.push(series);
          +    },
          +    
          +    /**
          +     * String reference for pre-defined `Series` classes.
          +     *
          +     * @property _seriesMap
          +     * @type Object
          +     * @private
          +     */
          +    _seriesMap: {
          +        line : Y.LineSeries,
          +        column : Y.ColumnSeries,
          +        bar : Y.BarSeries,
          +        area :  Y.AreaSeries,
          +        candlestick : Y.CandlestickSeries,
          +        ohlc : Y.OHLCSeries,
          +        stackedarea : Y.StackedAreaSeries,
          +        stackedline : Y.StackedLineSeries,
          +        stackedcolumn : Y.StackedColumnSeries,
          +        stackedbar : Y.StackedBarSeries,
          +        markerseries : Y.MarkerSeries,
          +        spline : Y.SplineSeries,
          +        areaspline : Y.AreaSplineSeries,
          +        stackedspline : Y.StackedSplineSeries,
          +        stackedareaspline : Y.StackedAreaSplineSeries,
          +        stackedmarkerseries : Y.StackedMarkerSeries,
          +        pie : Y.PieSeries,
          +        combo : Y.ComboSeries,
          +        stackedcombo : Y.StackedComboSeries,
          +        combospline : Y.ComboSplineSeries,
          +        stackedcombospline : Y.StackedComboSplineSeries
          +    },
          +
          +    /**
          +     * Returns a specific `CartesianSeries` class based on key value from a look up table of a direct reference to a class. When specifying a key value, the following options
          +     * are available:
          +     *
          +     *  <table>
          +     *      <tr><th>Key Value</th><th>Class</th></tr>
          +     *      <tr><td>line</td><td>Y.LineSeries</td></tr>    
          +     *      <tr><td>column</td><td>Y.ColumnSeries</td></tr>    
          +     *      <tr><td>bar</td><td>Y.BarSeries</td></tr>    
          +     *      <tr><td>area</td><td>Y.AreaSeries</td></tr>    
          +     *      <tr><td>stackedarea</td><td>Y.StackedAreaSeries</td></tr>    
          +     *      <tr><td>stackedline</td><td>Y.StackedLineSeries</td></tr>    
          +     *      <tr><td>stackedcolumn</td><td>Y.StackedColumnSeries</td></tr>    
          +     *      <tr><td>stackedbar</td><td>Y.StackedBarSeries</td></tr>    
          +     *      <tr><td>markerseries</td><td>Y.MarkerSeries</td></tr>    
          +     *      <tr><td>spline</td><td>Y.SplineSeries</td></tr>    
          +     *      <tr><td>areaspline</td><td>Y.AreaSplineSeries</td></tr>    
          +     *      <tr><td>stackedspline</td><td>Y.StackedSplineSeries</td></tr>
          +     *      <tr><td>stackedareaspline</td><td>Y.StackedAreaSplineSeries</td></tr>
          +     *      <tr><td>stackedmarkerseries</td><td>Y.StackedMarkerSeries</td></tr>
          +     *      <tr><td>pie</td><td>Y.PieSeries</td></tr>
          +     *      <tr><td>combo</td><td>Y.ComboSeries</td></tr>
          +     *      <tr><td>stackedcombo</td><td>Y.StackedComboSeries</td></tr>
          +     *      <tr><td>combospline</td><td>Y.ComboSplineSeries</td></tr>
          +     *      <tr><td>stackedcombospline</td><td>Y.StackedComboSplineSeries</td></tr>
          +     *  </table>
          +     * 
          +     * When referencing a class directly, you can specify any of the above classes or any custom class that extends `CartesianSeries` or `PieSeries`.
          +     *
          +     * @method _getSeries
          +     * @param {String | Object} type Series type.
          +     * @return CartesianSeries
          +     * @private
          +     */
          +    _getSeries: function(type)
          +    {
          +        var seriesClass;
          +        if(Y_Lang.isString(type))
          +        {
          +            seriesClass = this._seriesMap[type];
          +        }
          +        else 
          +        {
          +            seriesClass = type;
          +        }
          +        return seriesClass;
          +    },
          +
          +    /**
          +     * Event handler for marker events.
          +     *
          +     * @method _markerEventHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _markerEventHandler: function(e)
          +    {
          +        var type = e.type,
          +            markerNode = e.currentTarget,
          +            strArr = markerNode.getAttribute("id").split("_"),
          +            series = this.getSeriesByIndex(strArr[1]),
          +            index = strArr[2];
          +        series.updateMarkerState(type, index);
          +    },
          +
          +    /**
          +     * Collection of `CartesianSeries` instances to be redrawn.
          +     *
          +     * @property _dispatchers
          +     * @type Array
          +     * @private
          +     */
          +    _dispatchers: null,
          +
          +    /**
          +     * Updates the `Graph` styles.
          +     *
          +     * @method _updateStyles
          +     * @private
          +     */
          +    _updateStyles: function()
          +    {
          +        var styles = this.get("styles").background,
          +            border = styles.border;
          +            border.opacity = border.alpha;
          +            styles.stroke = border;
          +            styles.fill.opacity = styles.fill.alpha;
          +        this.get("background").set(styles);
          +        this._sizeChangeHandler();
          +    },
          +
          +    /**
          +     * Event handler for size changes.
          +     *
          +     * @method _sizeChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _sizeChangeHandler: function(e)
          +    {
          +        var hgl = this.get("horizontalGridlines"),
          +            vgl = this.get("verticalGridlines"),
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            bg = this.get("styles").background,
          +            weight,
          +            background;
          +        if(bg && bg.border)
          +        {
          +            weight = bg.border.weight || 0;
          +        }
          +        if(this.get("showBackground"))
          +        {
          +            background = this.get("background");
          +            if(w && h)
          +            {
          +                background.set("width", w);
          +                background.set("height", h);
          +            }
          +        }
          +        if(this._gridlines)
          +        {
          +            this._gridlines.clear();
          +        }
          +        if(hgl && hgl instanceof Y.Gridlines)
          +        {
          +            hgl.draw();
          +        }
          +        if(vgl && vgl instanceof Y.Gridlines)
          +        {
          +            vgl.draw();
          +        }
          +        this._drawSeries();
          +    },
          +
          +    /**
          +     * Draws each series.
          +     *
          +     * @method _drawSeries
          +     * @private
          +     */
          +    _drawSeries: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        var sc,
          +            i,
          +            len,
          +            graphic = this.get("graphic");
          +        graphic.set("autoDraw", false);
          +        this._callLater = false;
          +        this._drawing = true;
          +        sc = this.get("seriesCollection");
          +        i = 0;
          +        len = sc.length;
          +        for(; i < len; ++i)
          +        {
          +            sc[i].draw();
          +            if((!sc[i].get("xcoords") || !sc[i].get("ycoords")) && !sc[i] instanceof Y.PieSeries)
          +            {
          +                this._callLater = true;
          +                break;
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawSeries();
          +        }
          +    },  
          +
          +    /**
          +     * Event handler for series drawingComplete event.
          +     *
          +     * @method _drawingCompleteHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _drawingCompleteHandler: function(e)
          +    {
          +        var series = e.currentTarget,
          +            graphic,
          +            index = Y.Array.indexOf(this._dispatchers, series);
          +        if(index > -1)
          +        {
          +            this._dispatchers.splice(index, 1);
          +        }
          +        if(this._dispatchers.length < 1)
          +        {
          +            graphic = this.get("graphic");
          +            if(!graphic.get("autoDraw"))
          +            {
          +                graphic._redraw();
          +            }
          +            this.fire("chartRendered");
          +        }
          +    },
          +
          +    /**
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var defs = {
          +            background: {
          +                shape: "rect",
          +                fill:{
          +                    color:"#faf9f2"
          +                },
          +                border: {
          +                    color:"#dad8c9",
          +                    weight: 1
          +                }
          +            }
          +        };
          +        return defs;
          +    },
          +
          +    /**
          +     * Destructor implementation Graph class. Removes all Graphic instances from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     */
          +    destructor: function()
          +    {
          +        if(this._graphic)
          +        {
          +            this._graphic.destroy();
          +        }
          +        if(this._background)
          +        {
          +            this._background.get("graphic").destroy();
          +        }
          +        if(this._gridlines)
          +        {
          +            this._gridlines.get("graphic").destroy();
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * The x-coordinate for the graph.
          +         *
          +         * @attribute x
          +         * @type Number
          +         * @protected
          +         */
          +        x: {
          +            setter: function(val)
          +            {
          +                this.get("boundingBox").setStyle("left", val + "px");
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * The y-coordinate for the graph.
          +         *
          +         * @attribute y
          +         * @type Number
          +         * @protected
          +         */
          +        y: {
          +            setter: function(val)
          +            {
          +                this.get("boundingBox").setStyle("top", val + "px");
          +                return val;
          +            }
          +        },
          +
          +        /**
          +         * Reference to the chart instance using the graph.
          +         *
          +         * @attribute chart
          +         * @type ChartBase
          +         * @readOnly
          +         */
          +        chart: {},
          +
          +        /**
          +         * Collection of series. When setting the `seriesCollection` the array can contain a combination of either
          +         * `CartesianSeries` instances or object literals with properties that will define a series.
          +         *
          +         * @attribute seriesCollection
          +         * @type CartesianSeries
          +         */
          +        seriesCollection: {
          +            getter: function()
          +            {
          +                return this._seriesCollection;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._parseSeriesCollection(val);
          +                return this._seriesCollection;
          +            }
          +        },
          +       
          +        /**
          +         * Indicates whether the `Graph` has a background.
          +         *
          +         * @attribute showBackground
          +         * @type Boolean
          +         * @default true
          +         */
          +        showBackground: {
          +            value: true
          +        },
          +
          +        /**
          +         * Read-only hash lookup for all series on in the `Graph`.
          +         *
          +         * @attribute seriesDictionary
          +         * @type Object
          +         * @readOnly
          +         */
          +        seriesDictionary: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this._seriesDictionary;
          +            }
          +        },
          +
          +        /**
          +         * Reference to the horizontal `Gridlines` instance.
          +         *
          +         * @attribute horizontalGridlines
          +         * @type Gridlines
          +         * @default null
          +         */
          +        horizontalGridlines: {
          +            value: null,
          +
          +            setter: function(val)
          +            {
          +                var gl = this.get("horizontalGridlines");
          +                if(gl && gl instanceof Y.Gridlines)
          +                {
          +                    gl.remove();
          +                }
          +                if(val instanceof Y.Gridlines)
          +                {
          +                    gl = val;
          +                    val.set("graph", this);
          +                    return val;
          +                }
          +                else if(val && val.axis)
          +                {
          +                    gl = new Y.Gridlines({direction:"horizontal", axis:val.axis, graph:this, styles:val.styles});
          +                    return gl;
          +                }
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the vertical `Gridlines` instance.
          +         *
          +         * @attribute verticalGridlines
          +         * @type Gridlines
          +         * @default null
          +         */
          +        verticalGridlines: {
          +            value: null,
          +
          +            setter: function(val)
          +            {
          +                var gl = this.get("verticalGridlines");
          +                if(gl && gl instanceof Y.Gridlines)
          +                {
          +                    gl.remove();
          +                }
          +                if(val instanceof Y.Gridlines)
          +                {
          +                    gl = val;
          +                    val.set("graph", this);
          +                    return val;
          +                }
          +                else if(val && val.axis)
          +                {
          +                    gl = new Y.Gridlines({direction:"vertical", axis:val.axis, graph:this, styles:val.styles});
          +                    return gl;
          +                }
          +            }
          +        },
          +
          +        /**
          +         * Reference to graphic instance used for the background.
          +         *
          +         * @attribute background
          +         * @type Graphic
          +         * @readOnly
          +         */
          +        background: {
          +            getter: function()
          +            {
          +                if(!this._background)
          +                {
          +                    this._backgroundGraphic = new Y.Graphic({render:this.get("contentBox")});
          +                    this._backgroundGraphic.get("node").style.zIndex = 0; 
          +                    this._background = this._backgroundGraphic.addShape({type: "rect"});
          +                }
          +                return this._background;
          +            }
          +        },
          +
          +        /**
          +         * Reference to graphic instance used for gridlines.
          +         *
          +         * @attribute gridlines
          +         * @type Graphic
          +         * @readOnly
          +         */
          +        gridlines: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._gridlines)
          +                {
          +                    this._gridlinesGraphic = new Y.Graphic({render:this.get("contentBox")});
          +                    this._gridlinesGraphic.get("node").style.zIndex = 1; 
          +                    this._gridlines = this._gridlinesGraphic.addShape({type: "path"});
          +                }
          +                return this._gridlines;
          +            }
          +        },
          +        
          +        /**
          +         * Reference to graphic instance used for series.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         * @readOnly
          +         */
          +        graphic: {
          +            readOnly: true,
          +
          +            getter: function() 
          +            {
          +                if(!this._graphic)
          +                {
          +                    this._graphic = new Y.Graphic({render:this.get("contentBox")});
          +                    this._graphic.get("node").style.zIndex = 2; 
          +                    this._graphic.set("autoDraw", false);
          +                }
          +                return this._graphic;
          +            }
          +        },
          +
          +        /**
          +         * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +         *
          +         * @attribute groupMarkers
          +         * @type Boolean
          +         */
          +        groupMarkers: {
          +            value: false
          +        }
          +
          +        /**
          +         * Style properties used for drawing a background. Below are the default values:
          +         *  <dl>
          +         *      <dt>background</dt><dd>An object containing the following values:
          +         *          <dl>
          +         *              <dt>fill</dt><dd>Defines the style properties for the fill. Contains the following values:
          +         *                  <dl>
          +         *                      <dt>color</dt><dd>Color of the fill. The default value is #faf9f2.</dd>
          +         *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background fill. The default value is 1.</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *              <dt>border</dt><dd>Defines the style properties for the border. Contains the following values:
          +         *                  <dl>
          +         *                      <dt>color</dt><dd>Color of the border. The default value is #dad8c9.</dd>
          +         *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background border. The default value is 1.</dd>
          +         *                      <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *                  </dl>
          +         *              </dd>
          +         *          </dl>
          +         *      </dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Gridlines.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Gridlines.js
          new file mode 100644
          index 000000000..da7a3f109
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Gridlines.js
          @@ -0,0 +1,189 @@
          +/**
          + * Gridlines draws gridlines on a Graph.
          + *
          + * @module charts
          + * @class Gridlines
          + * @constructor
          + * @extends Base
          + * @uses Renderer
          + */
          +Y.Gridlines = Y.Base.create("gridlines", Y.Base, [Y.Renderer], {
          +    /**
          +     * Reference to the `Path` element used for drawing Gridlines.
          +     *
          +     * @property _path
          +     * @type Path
          +     * @private
          +     */
          +    _path: null,
          +
          +    /**
          +     * Removes the Gridlines.
          +     *
          +     * @method remove
          +     * @private
          +     */
          +    remove: function()
          +    {
          +        var path = this._path;
          +        if(path)
          +        {
          +            path.destroy();
          +        }
          +    },
          +
          +    /**
          +     * Draws the gridlines
          +     *
          +     * @method draw
          +     * @protected
          +     */
          +    draw: function()
          +    {
          +        if(this.get("axis") && this.get("graph"))
          +        {
          +            this._drawGridlines();
          +        }
          +    },
          +
          +    /**
          +     * Algorithm for drawing gridlines
          +     *
          +     * @method _drawGridlines
          +     * @private
          +     */
          +    _drawGridlines: function()
          +    {
          +        var path,
          +            axis = this.get("axis"),
          +            axisPosition = axis.get("position"),
          +            points,
          +            i = 0,
          +            l,
          +            direction = this.get("direction"),
          +            graph = this.get("graph"),
          +            w = graph.get("width"),
          +            h = graph.get("height"),
          +            line = this.get("styles").line,
          +            color = line.color,
          +            weight = line.weight,
          +            alpha = line.alpha,
          +            lineFunction = direction == "vertical" ? this._verticalLine : this._horizontalLine;
          +        if(isFinite(w) && isFinite(h) && w > 0 && h > 0)
          +        {
          +            if(axisPosition != "none" && axis && axis.get("tickPoints"))
          +            {
          +                points = axis.get("tickPoints");
          +                l = points.length;
          +            }
          +            else
          +            {
          +                points = [];
          +                l = axis.get("styles").majorUnit.count;
          +                for(; i < l; ++i)
          +                {
          +                    points[i] = {
          +                        x: w * (i/(l-1)),
          +                        y: h * (i/(l-1))
          +                    };
          +                }
          +                i = 0;
          +            }
          +            path = graph.get("gridlines");
          +            path.set("width", w);
          +            path.set("height", h);
          +            path.set("stroke", {
          +                weight: weight,
          +                color: color,
          +                opacity: alpha
          +            });
          +            for(; i < l; ++i)
          +            {
          +                lineFunction(path, points[i], w, h);
          +            }
          +            path.end();
          +        }
          +    },
          +
          +    /**
          +     * Algorithm for horizontal lines.
          +     *
          +     * @method _horizontalLine
          +     * @param {Path} path Reference to path element
          +     * @param {Object} pt Coordinates corresponding to a major unit of an axis.
          +     * @param {Number} w Width of the Graph
          +     * @param {Number} h Height of the Graph
          +     * @private
          +     */
          +    _horizontalLine: function(path, pt, w, h)
          +    {
          +        path.moveTo(0, pt.y);
          +        path.lineTo(w, pt.y);
          +    },
          +
          +    /**
          +     * Algorithm for vertical lines.
          +     *
          +     * @method _verticalLine
          +     * @param {Path} path Reference to path element
          +     * @param {Object} pt Coordinates corresponding to a major unit of an axis.
          +     * @param {Number} w Width of the Graph
          +     * @param {Number} h Height of the Graph
          +     * @private
          +     */
          +    _verticalLine: function(path, pt, w, h)
          +    {
          +        path.moveTo(pt.x, 0);
          +        path.lineTo(pt.x, h);
          +    },
          +    
          +    /**
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var defs = {
          +            line: {
          +                color:"#f0efe9",
          +                weight: 1,
          +                alpha: 1
          +            }
          +        };
          +        return defs;
          +    }
          +
          +},
          +{
          +    ATTRS: {
          +        /**
          +         * Indicates the direction of the gridline.
          +         *
          +         * @attribute direction
          +         * @type String
          +         */
          +        direction: {},
          +        
          +        /**
          +         * Indicate the `Axis` in which to bind
          +         * the gridlines.
          +         *
          +         * @attribute axis
          +         * @type Axis
          +         */
          +        axis: {},
          +        
          +        /**
          +         * Indicates the `Graph` in which the gridlines 
          +         * are drawn.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         */
          +        graph: {}
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Histogram.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Histogram.js
          new file mode 100644
          index 000000000..85a385517
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Histogram.js
          @@ -0,0 +1,219 @@
          +/**
          + * Histogram is the base class for Column and Bar series.
          + *
          + * @module charts
          + * @class Histogram
          + * @constructor
          + */
          +function Histogram(){}
          +
          +Histogram.prototype = {
          +    /**
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     * @protected
          +     */
          +    drawSeries: function()
          +    {
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var style = Y.clone(this.get("styles").marker),
          +            setSize,
          +            calculatedSize,
          +            xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            seriesCollection = graph.seriesTypes[type],
          +            seriesLen = seriesCollection.length,
          +            seriesSize = 0,
          +            totalSize = 0,
          +            offset = 0,
          +            ratio,
          +            renderer,
          +            order = this.get("order"),
          +            graphOrder = this.get("graphOrder"),
          +            left,
          +            marker,
          +            setSizeKey,
          +            calculatedSizeKey,
          +            config,
          +            fillColors = null,
          +            borderColors = null,
          +            xMarkerPlane = [],
          +            yMarkerPlane = [],
          +            xMarkerPlaneLeft,
          +            xMarkerPlaneRight,
          +            yMarkerPlaneTop,
          +            yMarkerPlaneBottom,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get("groupMarkers");
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        if(this.get("direction") == "vertical")
          +        {
          +            setSizeKey = "height";
          +            calculatedSizeKey = "width";
          +        }
          +        else
          +        {
          +            setSizeKey = "width";
          +            calculatedSizeKey = "height";
          +        }
          +        setSize = style[setSizeKey];
          +        calculatedSize = style[calculatedSizeKey];
          +        this._createMarkerCache();
          +        for(; i < seriesLen; ++i)
          +        {
          +            renderer = seriesCollection[i];
          +            seriesSize += renderer.get("styles").marker[setSizeKey];
          +            if(order > i) 
          +            {
          +                offset = seriesSize;
          +            }
          +        }
          +        totalSize = len * seriesSize;
          +        this._maxSize = graph.get(setSizeKey);
          +        if(totalSize > this._maxSize)
          +        {
          +            ratio = graph.get(setSizeKey)/totalSize;
          +            seriesSize *= ratio;
          +            offset *= ratio;
          +            setSize *= ratio;
          +            setSize = Math.max(setSize, 1);
          +            this._maxSize = setSize;
          +        }
          +        offset -= seriesSize/2;
          +        for(i = 0; i < len; ++i)
          +        {
          +            xMarkerPlaneLeft = xcoords[i] - seriesSize/2;
          +            xMarkerPlaneRight = xMarkerPlaneLeft + seriesSize;
          +            yMarkerPlaneTop = ycoords[i] - seriesSize/2;
          +            yMarkerPlaneBottom = yMarkerPlaneTop + seriesSize;
          +            xMarkerPlane.push({start: xMarkerPlaneLeft, end: xMarkerPlaneRight});
          +            yMarkerPlane.push({start: yMarkerPlaneTop, end: yMarkerPlaneBottom});
          +            if(isNaN(xcoords[i]) || isNaN(ycoords[i]))
          +            {
          +                this._markers.push(null);
          +                continue;
          +            }
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], calculatedSize, offset);
          +            if(!isNaN(config.calculatedSize) && config.calculatedSize > 0)
          +            {
          +                top = config.top;
          +                left = config.left;
          +
          +                if(groupMarkers)
          +                {
          +                    dimensions[setSizeKey][i] = setSize;
          +                    dimensions[calculatedSizeKey][i] = config.calculatedSize;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style[setSizeKey] = setSize;
          +                    style[calculatedSizeKey] = config.calculatedSize;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +
          +            }
          +            else if(!groupMarkers)
          +            {
          +                this._markers.push(null);
          +            }
          +        }
          +        this.set("xMarkerPlane", xMarkerPlane);
          +        this.set("yMarkerPlane", yMarkerPlane);
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +    
          +    /**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultFillColors: ["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"],
          +    
          +    /**
          +     * Gets the default style values for the markers.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @private
          +     */
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: "solid",
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 12,
          +            height: 12,
          +            shape: "rect",
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get("graphOrder"), "fill");
          +        defs.border.color = this._getDefaultColor(this.get("graphOrder"), "border");
          +        return defs;
          +    }
          +};
          +
          +Y.Histogram = Histogram;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LeftAxisLayout.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LeftAxisLayout.js
          new file mode 100644
          index 000000000..1924cd392
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LeftAxisLayout.js
          @@ -0,0 +1,361 @@
          +/**
          + * Algorithmic strategy for rendering a left axis.
          + *
          + * @module charts
          + * @class LeftAxisLayout
          + * @constructor
          + */
          +LeftAxisLayout = function() {};
          +
          +LeftAxisLayout.prototype = {
          +    /**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     */
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 0,
          +            right: 4,
          +            bottom: 0
          +        };
          +    },
          +
          +    /**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffset
          +     * @protected
          +     */
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get("styles").majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set("topTickOffset",  0);
          +        host.set("bottomTickOffset",  0);
          +        
          +        switch(display)
          +        {
          +            case "inside" :
          +                host.set("rightTickOffset",  tickLength);
          +                host.set("leftTickOffset", 0);
          +            break;
          +            case "outside" : 
          +                host.set("rightTickOffset", 0);
          +                host.set("leftTickOffset",  tickLength);
          +            break;
          +            case "cross":
          +                host.set("rightTickOffset", halfTick); 
          +                host.set("leftTickOffset",  halfTick);
          +            break;
          +            default:
          +                host.set("rightTickOffset", 0);
          +                host.set("leftTickOffset", 0);
          +            break;
          +        }
          +    },
          +    
          +    /**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path `Path` element in which to draw the tick.
          +     * @param {Object} pt Point on the axis in which the tick will intersect.
          +     * @param {Object} tickStyle Hash of properties to apply to the tick.
          +     * @protected
          +     */
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:padding.left, y:pt.y},
          +            end = {x:tickLength + padding.left, y:pt.y};
          +        host.drawLine(path, start, end);
          +    },
          +
          +    /**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @return {Object}
          +     * @protected
          +     */
          +    getLineStart: function()
          +    {
          +        var style = this.get("styles"),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:padding.left, y:0};
          +        if(display === "outside")
          +        {
          +            pt.x += tickLength;
          +        }
          +        else if(display === "cross")
          +        {
          +            pt.x += tickLength/2;
          +        }
          +        return pt; 
          +    },
          +    
          +    /**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} point Point on the axis in which the tick will intersect.
          +     * @return {Object} 
          +     * @protected
          +     */
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x - this.get("leftTickOffset"), y:point.y};
          +    },
          +    
          +    /**
          +     * Updates the value for the `maxLabelSize` for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     */
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelWidth;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelHeight;
          +        }
          +        else
          +        {
          +            max = (cosRadians * labelWidth) + (sinRadians * labelHeight);
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    /**
          +     * Determines the available label width when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     */
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitWidth)
          +        {
          +            var host = this,
          +                w = host._explicitWidth,
          +                totalTitleSize = host._totalTitleSize,
          +                leftTickOffset = host.get("leftTickOffset"),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  w - (leftTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    /**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     */
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get("styles").title.margin,
          +            props = host._titleRotationProps,
          +            w = bounds.right - bounds.left,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            x = (labelWidth * -0.5) + (w * 0.5),
          +            y = (host.get("height") * 0.5) - (labelHeight * 0.5);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin && margin.left)
          +        {
          +            x += margin.left;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    /**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     */
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get("leftTickOffset"),
          +            totalTitleSize = this._totalTitleSize,
          +            leftOffset = pt.x + totalTitleSize - tickOffset,
          +            topOffset = pt.y,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            maxLabelSize = host._maxLabelSize,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(rot === 0)
          +        {
          +            leftOffset -= labelWidth;
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else
          +        {
          +            leftOffset -= labelWidth + (labelHeight * absRot/360);
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = Math.round(maxLabelSize + leftOffset);
          +        props.y = Math.round(topOffset);
          +        this._rotate(label, props);
          +    },
          +
          +    /**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     */
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset,
          +            topOffset,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight;
          +        if(rot === 0)
          +        {
          +            leftOffset = labelWidth;
          +            topOffset = labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            topOffset = 0;
          +            leftOffset = labelWidth * 0.5;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else
          +        {
          +            leftOffset = labelWidth + (labelHeight * absRot/360);
          +            topOffset = labelHeight * 0.5;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    /**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     */
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else if(rot === 90)
          +        {
          +            transformOrigin = [0.5, 0];
          +        }
          +        else if(rot === -90)
          +        {
          +            transformOrigin = [0.5, 1];
          +        }
          +        else
          +        {
          +            transformOrigin = [1, 0.5];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    /**
          +     * Adjust the position of the Axis widget's content box for internal axes.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb Content box of the Axis.
          +     * @protected
          +     */
          +    offsetNodeForTick: function(cb)
          +    {
          +    },
          +
          +    /**
          +     * Sets the width of the axis based on its contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     */
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            graphic = this.get("graphic"),
          +            style = host.get("styles"),
          +            label = style.label,
          +            tickOffset = host.get("leftTickOffset"),
          +            max = host._maxLabelSize,
          +            totalTitleSize = this._totalTitleSize,
          +            ttl = Math.round(totalTitleSize + tickOffset + max + label.margin.right);
          +        if(this._explicitWidth)
          +        {
          +            ttl = this._explicitWidth;
          +        }
          +        this.set("calculatedWidth", ttl);
          +        graphic.set("x", ttl - tickOffset);
          +    }
          +};
          +
          +Y.LeftAxisLayout = LeftAxisLayout;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LineSeries.js
          new file mode 100644
          index 000000000..6a3e48f61
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/LineSeries.js
          @@ -0,0 +1,94 @@
          +/**
          + * The LineSeries class renders quantitative data on a graph by connecting relevant data points.
          + *
          + * @module charts
          + * @class LineSeries
          + * @extends CartesianSeries
          + * @uses Lines
          + * @constructor
          + */
          +Y.LineSeries = Y.Base.create("lineSeries", Y.CartesianSeries, [Y.Lines], {
          +    /**
          +     * @protected
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this.drawLines();
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Method used by `styles` setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     */
          +    _setStyles: function(val)
          +    {
          +        if(!val.line)
          +        {
          +            val = {line:val};
          +        }
          +        return Y.LineSeries.superclass._setStyles.apply(this, [val]);
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({line:this._getLineDefaults()}, Y.LineSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default line
          +         */
          +        type: {
          +            value:"line"
          +        }
          +
          +        /**
          +         * Style properties used for drawing lines. This attribute is inherited from `Renderer`. Below are the default values:
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      `["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]`
          +         *      <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +         *      <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +         *      <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *      <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +         *      <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +         *      <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Lines.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Lines.js
          new file mode 100644
          index 000000000..dbd36db85
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Lines.js
          @@ -0,0 +1,264 @@
          +/**
          + * Utility class used for drawing lines.
          + *
          + * @module charts
          + * @class Lines
          + * @constructor
          + */
          +function Lines(){}
          +
          +Lines.prototype = {
          +    /**
          +     * @property _lineDefaults
          +     * @type Object
          +     * @private
          +     */
          +    _lineDefaults: null,
          +    
          +    /**
          +     * Creates a graphic in which to draw a series.
          +     *
          +     * @method _getGraphic
          +     * @return Graphic
          +     * @private
          +     */
          +    _getGraphic: function()
          +    {
          +        var graphic = this.get("graphic") || this.get("graph").get("graphic");
          +        if(!this._lineGraphic)
          +        {
          +            this._lineGraphic = graphic.addShape({type: "path"});
          +        }
          +        this._lineGraphic.clear();
          +        return this._lineGraphic;
          +    },
          +    
          +    /**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     */
          +    _toggleVisible: function(visible)
          +    {
          +        if(this._lineGraphic)
          +        {
          +            this._lineGraphic.set("visible", visible);
          +        }
          +    },
          +
          +    /**
          +     * Draws lines for the series.
          +     *
          +     * @method drawLines
          +     * @protected
          +     */
          +    drawLines: function()
          +    {
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var isNumber = Y_Lang.isNumber,
          +            xcoords = this.get("xcoords").concat(),
          +            ycoords = this.get("ycoords").concat(),
          +            direction = this.get("direction"),
          +            len = direction === "vertical" ? ycoords.length : xcoords.length,
          +            lastPointValid,
          +            pointValid,
          +            noPointsRendered = true,
          +            lastValidX,
          +            lastValidY,
          +            nextX,
          +            nextY,
          +            i,
          +            styles = this.get("styles").line,
          +            lineType = styles.lineType,
          +            lc = styles.color || this._getDefaultColor(this.get("graphOrder"), "line"),
          +            lineAlpha = styles.alpha,
          +            dashLength = styles.dashLength,
          +            gapSpace = styles.gapSpace,
          +            connectDiscontinuousPoints = styles.connectDiscontinuousPoints,
          +            discontinuousType = styles.discontinuousType,
          +            discontinuousDashLength = styles.discontinuousDashLength,
          +            discontinuousGapSpace = styles.discontinuousGapSpace,
          +            path = this._getGraphic();
          +        path.set("stroke", {
          +            weight: styles.weight, 
          +            color: lc, 
          +            opacity: lineAlpha
          +        });
          +        for(i = 0; i < len; i = ++i)
          +        {
          +            nextX = xcoords[i];
          +            nextY = ycoords[i];
          +            pointValid = isNumber(nextX) && isNumber(nextY); 
          +            if(!pointValid)
          +            {
          +                lastPointValid = pointValid;
          +                continue;
          +            }
          +            if(noPointsRendered)
          +            {
          +                noPointsRendered = false;
          +                path.moveTo(nextX, nextY);
          +            }
          +            else if(lastPointValid)
          +            {
          +                if(lineType != "dashed")
          +                {
          +                    path.lineTo(nextX, nextY);
          +                }
          +                else
          +                {
          +                    this.drawDashedLine(path, lastValidX, lastValidY, nextX, nextY, 
          +                                                dashLength, 
          +                                                gapSpace);
          +                }
          +            }
          +            else if(!connectDiscontinuousPoints)
          +            {
          +                path.moveTo(nextX, nextY);
          +            }
          +            else
          +            {
          +                if(discontinuousType != "solid")
          +                {
          +                    this.drawDashedLine(path, lastValidX, lastValidY, nextX, nextY, 
          +                                                discontinuousDashLength, 
          +                                                discontinuousGapSpace);
          +                }
          +                else
          +                {
          +                    path.lineTo(nextX, nextY);
          +                }
          +            }
          +            lastValidX = nextX;
          +            lastValidY = nextY;
          +            lastPointValid = true;
          +        }
          +        path.end();
          +    },
          +    
          +    /**
          +     * Connects data points with a consistent curve for a series.
          +     * 
          +     * @method drawSpline
          +     * @protected
          +     */
          +    drawSpline: function()
          +    {
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            curvecoords = this.getCurveControlPoints(xcoords, ycoords),
          +            len = curvecoords.length,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            styles = this.get("styles").line,
          +            path = this._getGraphic(),
          +            lineAlpha = styles.alpha,
          +            color = styles.color || this._getDefaultColor(this.get("graphOrder"), "line");
          +        path.set("stroke", { 
          +            weight: styles.weight, 
          +            color: color, 
          +            opacity: lineAlpha
          +        });
          +        path.moveTo(xcoords[0], ycoords[0]);
          +        for(; i < len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        path.end();
          +    },
          +
          +    /**
          +     * Draws a dashed line between two points.
          +     * 
          +     * @method drawDashedLine
          +     * @param {Number} xStart	The x position of the start of the line
          +     * @param {Number} yStart	The y position of the start of the line
          +     * @param {Number} xEnd		The x position of the end of the line
          +     * @param {Number} yEnd		The y position of the end of the line
          +     * @param {Number} dashSize	the size of dashes, in pixels
          +     * @param {Number} gapSize	the size of gaps between dashes, in pixels
          +     * @private
          +     */
          +    drawDashedLine: function(path, xStart, yStart, xEnd, yEnd, dashSize, gapSize)
          +    {
          +        dashSize = dashSize || 10;
          +        gapSize = gapSize || 10;
          +        var segmentLength = dashSize + gapSize,
          +            xDelta = xEnd - xStart,
          +            yDelta = yEnd - yStart,
          +            delta = Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2)),
          +            segmentCount = Math.floor(Math.abs(delta / segmentLength)),
          +            radians = Math.atan2(yDelta, xDelta),
          +            xCurrent = xStart,
          +            yCurrent = yStart,
          +            i;
          +        xDelta = Math.cos(radians) * segmentLength;
          +        yDelta = Math.sin(radians) * segmentLength;
          +        
          +        for(i = 0; i < segmentCount; ++i)
          +        {
          +            path.moveTo(xCurrent, yCurrent);
          +            path.lineTo(xCurrent + Math.cos(radians) * dashSize, yCurrent + Math.sin(radians) * dashSize);
          +            xCurrent += xDelta;
          +            yCurrent += yDelta;
          +        }
          +        
          +        path.moveTo(xCurrent, yCurrent);
          +        delta = Math.sqrt((xEnd - xCurrent) * (xEnd - xCurrent) + (yEnd - yCurrent) * (yEnd - yCurrent));
          +        
          +        if(delta > dashSize)
          +        {
          +            path.lineTo(xCurrent + Math.cos(radians) * dashSize, yCurrent + Math.sin(radians) * dashSize);
          +        }
          +        else if(delta > 0)
          +        {
          +            path.lineTo(xCurrent + Math.cos(radians) * delta, yCurrent + Math.sin(radians) * delta);
          +        }
          +        
          +        path.moveTo(xEnd, yEnd);
          +    },
          +
          +    /**
          +     * Default values for `styles` attribute.
          +     *
          +     * @method _getLineDefaults
          +     * @return Object
          +     * @protected
          +     */
          +    _getLineDefaults: function()
          +    {
          +        return {
          +            alpha: 1,
          +            weight: 6,
          +            lineType:"solid", 
          +            dashLength:10, 
          +            gapSpace:10, 
          +            connectDiscontinuousPoints:true, 
          +            discontinuousType:"solid", 
          +            discontinuousDashLength:10, 
          +            discontinuousGapSpace:10
          +        };
          +    }
          +};
          +Y.augment(Lines, Y.Attribute);
          +Y.Lines = Lines;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/MarkerSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/MarkerSeries.js
          new file mode 100644
          index 000000000..646ddc203
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/MarkerSeries.js
          @@ -0,0 +1,103 @@
          +/**
          + * The MarkerSeries class renders quantitative data by plotting relevant data points 
          + * on a graph.
          + *
          + * @module charts
          + * @class MarkerSeries
          + * @extends CartesianSeries
          + * @uses Plots
          + * @constructor
          + */
          +Y.MarkerSeries = Y.Base.create("markerSeries", Y.CartesianSeries, [Y.Plots], {
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this.drawPlots();
          +    },
          +    
          +    /**
          +     * @protected
          +     *
          +     * Method used by `styles` setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     */
          +    _setStyles: function(val)
          +    {
          +        if(!val.marker)
          +        {
          +            val = {marker:val};
          +        }
          +        val = this._parseMarkerStyles(val);
          +        return Y.MarkerSeries.superclass._mergeStyles.apply(this, [val, this._getDefaultStyles()]);
          +    },
          +    
          +    /**
          +     * @protected
          +     *
          +     * Gets the default value for the `styles` attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({marker:this._getPlotDefaults()}, Y.MarkerSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},{
          +    ATTRS : {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default marker
          +         */
          +        type: {
          +            value:"marker"
          +        }
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `Renderer`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>
          +         *      <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/NumericAxis.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/NumericAxis.js
          new file mode 100644
          index 000000000..bf8363603
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/NumericAxis.js
          @@ -0,0 +1,681 @@
          +/**
          + * NumericAxis manages numeric data on an axis.
          + *
          + * @module charts
          + * @class NumericAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + */
          +function NumericAxis(config)
          +{
          +	NumericAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +NumericAxis.NAME = "numericAxis";
          +
          +NumericAxis.ATTRS = {
          +    /**
          +     * Indicates whether 0 should always be displayed.
          +     *
          +     * @attribute alwaysShowZero
          +     * @type Boolean
          +     */
          +	alwaysShowZero: {
          +	    value: true	
          +	},
          +    
          +    /**
          +     * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +     * to implement the arguments below and return a `String` or an `HTMLElement`. The default implementation of the method returns a `String`. The output of this method
          +     * will be rendered to the DOM using `appendChild`. If you override the `labelFunction` method and return an html string, you will also need to override the Axis' 
          +     * `appendLabelFunction` to accept html as a `String`.
          +     * <dl>
          +     *      <dt>val</dt><dd>Label to be formatted. (`String`)</dd>
          +     *      <dt>format</dt><dd>Object containing properties used to format the label. (optional)</dd>
          +     * </dl>
          +     *
          +     * @attribute labelFunction
          +     * @type Function
          +     */
          +    labelFunction: { 
          +        value: function(val, format)
          +        {
          +            if(format)
          +            {
          +                return Y.DataType.Number.format(val, format);
          +            }
          +            return val;
          +        }
          +    },
          +
          +    /**
          +     * Object containing properties used by the `labelFunction` to format a
          +     * label.
          +     *
          +     * @attribute labelFormat
          +     * @type Object
          +     */
          +    labelFormat: {
          +        value: {
          +            prefix: "",
          +            thousandsSeparator: "",
          +            decimalSeparator: "",
          +            decimalPlaces: "0",
          +            suffix: ""
          +        }
          +    }
          +};
          +
          +Y.extend(NumericAxis, Y.AxisType,
          +{
          +    /**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     */
          +    formatLabel: function(val, format)
          +    {
          +        if(format)
          +        {
          +            return Y.DataType.Number.format(val, format);
          +        }
          +        return val;
          +    },
          +
          +    /**
          +     * Returns the sum of all values per key.
          +     *
          +     * @method getTotalByKey
          +     * @param {String} key The identifier for the array whose values will be calculated.
          +     * @return Number
          +     */
          +    getTotalByKey: function(key)
          +    {
          +        var total = 0,
          +            values = this.getDataByKey(key),
          +            i = 0,
          +            val,
          +            len = values ? values.length : 0;
          +        for(; i < len; ++i)
          +        {
          +           val = parseFloat(values[i]);
          +           if(!isNaN(val))
          +           {
          +                total += val;
          +           }
          +        }
          +        return total;
          +    },
          +
          +    /**
          +     * Type of data used in `Axis`.
          +     *
          +     * @property _type
          +     * @readOnly
          +     * @private
          +     */
          +    _type: "numeric",
          +
          +    /**
          +     * Helper method for getting a `roundingUnit` when calculating the minimum and maximum values.
          +     *
          +     * @method _getMinimumUnit
          +     * @param {Number} max Maximum number
          +     * @param {Number} min Minimum number
          +     * @param {Number} units Number of units on the axis
          +     * @return Number
          +     * @private
          +     */
          +    _getMinimumUnit:function(max, min, units)
          +    {
          +        return this._getNiceNumber(Math.ceil((max - min)/units));
          +    },
          +
          +    /**
          +     * Calculates a nice rounding unit based on the range.
          +     *
          +     * @method _getNiceNumber
          +     * @param {Number} roundingUnit The calculated rounding unit.
          +     * @return Number
          +     * @private
          +     */
          +    _getNiceNumber: function(roundingUnit)
          +    {
          +        var tempMajorUnit = roundingUnit,
          +            order = Math.ceil(Math.log(tempMajorUnit) * 0.4342944819032518),
          +            roundedMajorUnit = Math.pow(10, order),
          +            roundedDiff;
          +
          +        if (roundedMajorUnit / 2 >= tempMajorUnit) 
          +        {
          +            roundedDiff = Math.floor((roundedMajorUnit / 2 - tempMajorUnit) / (Math.pow(10,order-1)/2));
          +            tempMajorUnit = roundedMajorUnit/2 - roundedDiff*Math.pow(10,order-1)/2;
          +        }
          +        else 
          +        {
          +            tempMajorUnit = roundedMajorUnit;
          +        }
          +        if(!isNaN(tempMajorUnit))
          +        {
          +            return tempMajorUnit;
          +        }
          +        return roundingUnit;
          +
          +    },
          +
          +    /**
          +     * Calculates the maximum and minimum values for the `Axis`.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     */
          +    _updateMinAndMax: function()
          +    {
          +        var data = this.get("data"),
          +            max, 
          +            min,
          +            len,
          +            num,
          +            i = 0,
          +            key,
          +            setMax = this.get("setMax"),
          +            setMin = this.get("setMin");
          +        if(!setMax || !setMin)
          +        {
          +            if(data && data.length && data.length > 0)
          +            {
          +                len = data.length;
          +                for(; i < len; i++)
          +                {	
          +                    num = data[i];
          +                    if(isNaN(num))
          +                    {
          +                        if(Y_Lang.isObject(num))
          +                        {
          +                            min = max = 0;
          +                            //hloc values
          +                            for(key in num)
          +                            {
          +                               if(num.hasOwnProperty(key))
          +                               {
          +                                    max = Math.max(num[key], max);
          +                                    min = Math.min(num[key], min);
          +                               }
          +                            }
          +                        }
          +                        max = setMax ? this._setMaximum : max;
          +                        min = setMin ? this._setMinimum : min;
          +                        continue;
          +                    }
          +                    
          +                    if(setMin)
          +                    {
          +                        min = this._setMinimum;
          +                    }
          +                    else if(min === undefined)
          +                    {
          +                        min = num;
          +                    }
          +                    else
          +                    {
          +                        min = Math.min(num, min); 
          +                    }
          +                    if(setMax)
          +                    {
          +                        max = this._setMaximum;
          +                    }
          +                    else if(max === undefined)
          +                    {
          +                        max = num;
          +                    }
          +                    else
          +                    {
          +                        max = Math.max(num, max);
          +                    }
          +                    
          +                    this._actualMaximum = max;
          +                    this._actualMinimum = min;
          +                }
          +            }
          +            this._roundMinAndMax(min, max, setMin, setMax);
          +        }
          +    },
          +
          +    /**
          +     * Rounds the mimimum and maximum values based on the `roundingUnit` attribute.
          +     *
          +     * @method _roundMinAndMax
          +     * @param {Number} min Minimum value
          +     * @param {Number} max Maximum value
          +     * @private
          +     */
          +    _roundMinAndMax: function(min, max, setMin, setMax)
          +    {
          +        var roundingUnit,
          +            minimumRange,
          +            minGreaterThanZero = min >= 0,
          +            maxGreaterThanZero = max > 0,
          +            dataRangeGreater,
          +            maxRound,
          +            minRound,
          +            topTicks,
          +            botTicks,
          +            tempMax,
          +            tempMin,
          +            units = this.getTotalMajorUnits() - 1,
          +            alwaysShowZero = this.get("alwaysShowZero"),
          +            roundingMethod = this.get("roundingMethod"),
          +            useIntegers = (max - min)/units >= 1;
          +        if(roundingMethod)
          +        {
          +            if(roundingMethod == "niceNumber")
          +            {
          +                roundingUnit = this._getMinimumUnit(max, min, units);
          +                if(minGreaterThanZero && maxGreaterThanZero)
          +                {
          +                    if((alwaysShowZero || min < roundingUnit) && !setMin)
          +                    {
          +                        min = 0;
          +                        roundingUnit = this._getMinimumUnit(max, min, units);
          +                    }
          +                    else
          +                    {
          +                       min = this._roundDownToNearest(min, roundingUnit);
          +                    }
          +                    if(setMax)
          +                    {
          +                        if(!alwaysShowZero)
          +                        {
          +                            min = max - (roundingUnit * units);
          +                        }
          +                    }
          +                    else if(setMin)
          +                    {
          +                        max = min + (roundingUnit * units);
          +                    }
          +                    else
          +                    {
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                }
          +                else if(maxGreaterThanZero && !minGreaterThanZero)
          +                {
          +                    if(alwaysShowZero)
          +                    {
          +                        topTicks = Math.round(units/((-1 * min)/max + 1));
          +                        topTicks = Math.max(Math.min(topTicks, units - 1), 1);
          +                        botTicks = units - topTicks;
          +                        tempMax = Math.ceil( max/topTicks );
          +                        tempMin = Math.floor( min/botTicks ) * -1;
          +                        
          +                        if(setMin)
          +                        {
          +                            while(tempMin < tempMax && botTicks >= 0)
          +                            {
          +                                botTicks--;
          +                                topTicks++;
          +                                tempMax = Math.ceil( max/topTicks );
          +                                tempMin = Math.floor( min/botTicks ) * -1;
          +                            }
          +                            //if there are any bottom ticks left calcualate the maximum by multiplying by the tempMin value
          +                            //if not, it's impossible to ensure that a zero is shown. skip it
          +                            if(botTicks > 0)
          +                            {
          +                                max = tempMin * topTicks;
          +                            }
          +                            else
          +                            {
          +                                max = min + (roundingUnit * units);
          +                            }
          +                        }
          +                        else if(setMax)
          +                        {
          +                            while(tempMax < tempMin && topTicks >= 0)
          +                            {
          +                                botTicks++;
          +                                topTicks--;
          +                                tempMin = Math.floor( min/botTicks ) * -1;
          +                                tempMax = Math.ceil( max/topTicks );
          +                            }
          +                            //if there are any top ticks left calcualate the minimum by multiplying by the tempMax value
          +                            //if not, it's impossible to ensure that a zero is shown. skip it
          +                            if(topTicks > 0)
          +                            {
          +                                min = tempMax * botTicks * -1;
          +                            }
          +                            else
          +                            {
          +                                min = max - (roundingUnit * units);
          +                            }
          +                        }
          +                        else
          +                        {
          +                            roundingUnit = Math.max(tempMax, tempMin);
          +                            roundingUnit = this._getNiceNumber(roundingUnit);  
          +                            max = roundingUnit * topTicks;
          +                            min = roundingUnit * botTicks * -1;
          +                        }
          +                    }
          +                    else 
          +                    {
          +                        if(setMax)
          +                        {
          +                            min = max - (roundingUnit * units);
          +                        }
          +                        else if(setMin)
          +                        {
          +                            max = min + (roundingUnit * units);
          +                        }
          +                        else
          +                        {
          +                            min = this._roundDownToNearest(min, roundingUnit);
          +                            max = this._roundUpToNearest(max, roundingUnit);
          +                        }
          +                    }
          +                }
          +                else
          +                {
          +                    if(setMin)
          +                    {
          +                        if(alwaysShowZero)
          +                        {
          +                            max = 0;
          +                        }
          +                        else
          +                        {
          +                            max = min + (roundingUnit * units);
          +                        }
          +                    }
          +                    else if(!setMax)
          +                    {
          +                        if(alwaysShowZero || max === 0 || max + roundingUnit > 0)
          +                        {
          +                            max = 0;
          +                            roundingUnit = this._getMinimumUnit(max, min, units);
          +                        }
          +                        else
          +                        {
          +                            max = this._roundUpToNearest(max, roundingUnit);
          +                        }
          +                        min = max - (roundingUnit * units);
          +                    }
          +                    else
          +                    {
          +                        min = max - (roundingUnit * units);
          +                    }
          +                }
          +            }
          +            else if(roundingMethod == "auto") 
          +            {
          +                if(minGreaterThanZero && maxGreaterThanZero)
          +                {
          +                    if((alwaysShowZero || min < (max-min)/units) && !setMin)
          +                    {
          +                        min = 0;
          +                    }
          +                
          +                    roundingUnit = (max - min)/units;
          +                    if(useIntegers)
          +                    {
          +                        roundingUnit = Math.ceil(roundingUnit);
          +                    }
          +                    max = min + (roundingUnit * units);
          +                }
          +                else if(maxGreaterThanZero && !minGreaterThanZero)
          +                {
          +                    if(alwaysShowZero)
          +                    {
          +                        topTicks = Math.round( units / ( (-1 * min) /max + 1) );
          +                        topTicks = Math.max(Math.min(topTicks, units - 1), 1);
          +                        botTicks = units - topTicks;
          +
          +                        if(useIntegers)
          +                        {
          +                            tempMax = Math.ceil( max/topTicks );
          +                            tempMin = Math.floor( min/botTicks ) * -1;
          +                        }
          +                        else
          +                        {
          +                            tempMax = max/topTicks;
          +                            tempMin = min/botTicks * -1;
          +                        }
          +                        roundingUnit = Math.max(tempMax, tempMin);
          +                        max = roundingUnit * topTicks;
          +                        min = roundingUnit * botTicks * -1;
          +                    }
          +                    else
          +                    {
          +                        roundingUnit = (max - min)/units;
          +                        if(useIntegers)
          +                        {
          +                            roundingUnit = Math.ceil(roundingUnit);
          +                        }
          +                        min = this._roundDownToNearest(min, roundingUnit);
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                }
          +                else
          +                {
          +                    roundingUnit = (max - min)/units;
          +                    if(useIntegers)
          +                    {   
          +                        roundingUnit = Math.ceil(roundingUnit);
          +                    }
          +                    if(alwaysShowZero || max === 0 || max + roundingUnit > 0)
          +                    {
          +                        max = 0;
          +                        roundingUnit = (max - min)/units;
          +                        if(useIntegers)
          +                        {
          +                            Math.ceil(roundingUnit);
          +                        }
          +                    }
          +                    else
          +                    {
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                    min = max - (roundingUnit * units);
          +
          +                }
          +            }
          +            else if(!isNaN(roundingMethod) && isFinite(roundingMethod))
          +            {
          +                roundingUnit = roundingMethod;
          +                minimumRange = roundingUnit * units;
          +                dataRangeGreater = (max - min) > minimumRange;
          +                minRound = this._roundDownToNearest(min, roundingUnit);
          +                maxRound = this._roundUpToNearest(max, roundingUnit);
          +                if(setMax)
          +                {
          +                    min = max - minimumRange;
          +                }
          +                else if(setMin)
          +                {
          +                    max = min + minimumRange;
          +                }
          +                else if(minGreaterThanZero && maxGreaterThanZero)
          +                {
          +                    if(alwaysShowZero || minRound <= 0)
          +                    {
          +                        min = 0;
          +                    }
          +                    else
          +                    {
          +                        min = minRound;
          +                    }
          +                    max = min + minimumRange;
          +                }
          +                else if(maxGreaterThanZero && !minGreaterThanZero)
          +                {
          +                    min = minRound;
          +                    max = min + minimumRange;
          +                }
          +                else
          +                {
          +                    if(alwaysShowZero || maxRound >= 0)
          +                    {
          +                        max = 0;
          +                    }
          +                    else
          +                    {
          +                        max = maxRound;
          +                    }
          +                    min = max - minimumRange;
          +                }
          +            }
          +        }
          +        this._dataMaximum = max;
          +        this._dataMinimum = min;
          +    },
          +
          +    /**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     */
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get("minimum"),
          +            max = this.get("maximum"),
          +            increm = (max - min)/(l-1),
          +            label,
          +            roundingMethod = this.get("roundingMethod");
          +            l -= 1;
          +        //respect the min and max. calculate all other labels.
          +        if(i === 0)
          +        {
          +            label = min;
          +        }
          +        else if(i === l)
          +        {
          +            label = max;
          +        }
          +        else
          +        {
          +            label = (i * increm);
          +            if(roundingMethod == "niceNumber")
          +            {
          +                label = this._roundToNearest(label, increm);
          +            }
          +            label += min;
          +        }
          +        return parseFloat(label);
          +    },
          +
          +    /**
          +     * Rounds a Number to the nearest multiple of an input. For example, by rounding
          +     * 16 to the nearest 10, you will receive 20. Similar to the built-in function Math.round().
          +     *
          +     * @method _roundToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     */
          +    _roundToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        var roundedNumber = Math.round(this._roundToPrecision(number / nearest, 10)) * nearest;
          +        return this._roundToPrecision(roundedNumber, 10);
          +    },
          +	
          +    /**
          +     * Rounds a Number up to the nearest multiple of an input. For example, by rounding
          +     * 16 up to the nearest 10, you will receive 20. Similar to the built-in function Math.ceil().
          +     *
          +     * @method _roundUpToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     */
          +    _roundUpToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        return Math.ceil(this._roundToPrecision(number / nearest, 10)) * nearest;
          +    },
          +	
          +    /**
          +     * Rounds a Number down to the nearest multiple of an input. For example, by rounding
          +     * 16 down to the nearest 10, you will receive 10. Similar to the built-in function Math.floor().
          +     *
          +     * @method _roundDownToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     */
          +    _roundDownToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        return Math.floor(this._roundToPrecision(number / nearest, 10)) * nearest;
          +    },
          +
          +    /**
          +     * Rounds a number to a certain level of precision. Useful for limiting the number of
          +     * decimal places on a fractional number.
          +     *
          +     * @method _roundToPrecision
          +     * @param {Number} number Number to round
          +     * @param {Number} precision Multiple to round towards.
          +     * @return Number
          +     * @private
          +     */
          +    _roundToPrecision: function(number, precision)
          +    {
          +        precision = precision || 0;
          +        var decimalPlaces = Math.pow(10, precision);
          +        return Math.round(decimalPlaces * number) / decimalPlaces;
          +    },
          +    
          +    /**
          +     * Checks to see if data extends beyond the range of the axis. If so,
          +     * that data will need to be hidden. This method is internal, temporary and subject
          +     * to removal in the future.
          +     *
          +     * @method _hasDataOverflow
          +     * @protected
          +     * @return Boolean
          +     */
          +    _hasDataOverflow: function()
          +    {
          +        var roundingMethod,
          +            min,
          +            max;
          +        if(this.get("setMin") || this.get("setMax"))
          +        {
          +            return true;
          +        }
          +        roundingMethod = this.get("roundingMethod");
          +        min = this._actualMinimum;
          +        max = this._actualMaximum;
          +        if(Y_Lang.isNumber(roundingMethod) && ((Y_Lang.isNumber(max) && max > this._dataMaximum) || (Y_Lang.isNumber(min) && min < this._dataMinimum)))
          +        {
          +            return true;
          +        }
          +        return false;
          +    }
          +});
          +
          +Y.NumericAxis = NumericAxis;
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChart.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChart.js
          new file mode 100644
          index 000000000..8803d9e77
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChart.js
          @@ -0,0 +1,465 @@
          +/**
          + * The PieChart class creates a pie chart
          + *
          + * @module charts
          + * @class PieChart
          + * @extends ChartBase
          + * @constructor
          + */
          +Y.PieChart = Y.Base.create("pieChart", Y.Widget, [Y.ChartBase], {
          +    /**
          +     * Calculates and returns a `seriesCollection`.
          +     *
          +     * @method _getSeriesCollection
          +     * @return Array
          +     * @private
          +     */
          +    _getSeriesCollection: function()
          +    {
          +        if(this._seriesCollection)
          +        {
          +            return this._seriesCollection;
          +        }
          +        var axes = this.get("axes"),
          +            sc = [], 
          +            seriesKeys,
          +            i = 0,
          +            l,
          +            type = this.get("type"),
          +            key,
          +            catAxis = "categoryAxis",
          +            catKey = "categoryKey",
          +            valAxis = "valueAxis",
          +            seriesKey = "valueKey";
          +        if(axes)
          +        {
          +            seriesKeys = axes.values.get("keyCollection");
          +            key = axes.category.get("keyCollection")[0];
          +            l = seriesKeys.length;
          +            for(; i < l; ++i)
          +            {
          +                sc[i] = {type:type};
          +                sc[i][catAxis] = "category";
          +                sc[i][valAxis] = "values";
          +                sc[i][catKey] = key;
          +                sc[i][seriesKey] = seriesKeys[i];
          +            }
          +        }
          +        this._seriesCollection = sc;
          +        return sc;
          +    },
          +
          +    /**
          +     * Creates `Axis` instances.
          +     *
          +     * @method _parseAxes
          +     * @param {Object} val Object containing `Axis` instances or objects in which to construct `Axis` instances.
          +     * @return Object
          +     * @private
          +     */
          +    _parseAxes: function(hash)
          +    {
          +        if(!this._axes)
          +        {
          +            this._axes = {};
          +        }
          +        var i, pos, axis, dh, config, axisClass,
          +            type = this.get("type"),
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            node = Y.Node.one(this._parentNode);
          +        if(!w)
          +        {
          +            this.set("width", node.get("offsetWidth"));
          +            w = this.get("width");
          +        }
          +        if(!h)
          +        {
          +            this.set("height", node.get("offsetHeight"));
          +            h = this.get("height");
          +        }
          +        for(i in hash)
          +        {
          +            if(hash.hasOwnProperty(i))
          +            {
          +                dh = hash[i];
          +                pos = type == "pie" ? "none" : dh.position;
          +                axisClass = this._getAxisClass(dh.type);
          +                config = {dataProvider:this.get("dataProvider")};
          +                if(dh.hasOwnProperty("roundingUnit"))
          +                {
          +                    config.roundingUnit = dh.roundingUnit;
          +                }
          +                config.keys = dh.keys;
          +                config.width = w;
          +                config.height = h;
          +                config.position = pos;
          +                config.styles = dh.styles;
          +                axis = new axisClass(config);
          +                axis.on("axisRendered", Y.bind(this._itemRendered, this));
          +                this._axes[i] = axis;
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Adds axes to the chart.
          +     *
          +     * @method _addAxes
          +     * @private
          +     */
          +    _addAxes: function()
          +    {
          +        var axes = this.get("axes"),
          +            i, 
          +            axis, 
          +            p;
          +        if(!axes)
          +        {
          +            this.set("axes", this._getDefaultAxes());
          +            axes = this.get("axes");
          +        }
          +        if(!this._axesCollection)
          +        {   
          +            this._axesCollection = [];
          +        }
          +        for(i in axes)
          +        {
          +            if(axes.hasOwnProperty(i))
          +            {
          +                axis = axes[i];
          +                p = axis.get("position");
          +                if(!this.get(p + "AxesCollection"))
          +                {
          +                    this.set(p + "AxesCollection", [axis]);
          +                }
          +                else
          +                {
          +                    this.get(p + "AxesCollection").push(axis);
          +                }
          +                this._axesCollection.push(axis);
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Renders the Graph.
          +     *
          +     * @method _addSeries
          +     * @private
          +     */
          +    _addSeries: function()
          +    {
          +        var graph = this.get("graph"),
          +            seriesCollection = this.get("seriesCollection");
          +        this._parseSeriesAxes(seriesCollection);
          +        graph.set("showBackground", false);
          +        graph.set("width", this.get("width"));
          +        graph.set("height", this.get("height"));
          +        graph.set("seriesCollection", seriesCollection);
          +        this._seriesCollection = graph.get("seriesCollection");
          +        graph.render(this.get("contentBox"));
          +    },
          +
          +    /**
          +     * Parse and sets the axes for the chart.
          +     *
          +     * @method _parseSeriesAxes
          +     * @param {Array} c A collection `PieSeries` instance.
          +     * @private
          +     */
          +    _parseSeriesAxes: function(c)
          +    {
          +        var i = 0, 
          +            len = c.length, 
          +            s,
          +            axes = this.get("axes"),
          +            axis;
          +        for(; i < len; ++i)
          +        {
          +            s = c[i];
          +            if(s)
          +            {
          +                //If series is an actual series instance, 
          +                //replace axes attribute string ids with axes
          +                if(s instanceof Y.PieSeries)
          +                {
          +                    axis = s.get("categoryAxis");
          +                    if(axis && !(axis instanceof Y.Axis))
          +                    {
          +                        s.set("categoryAxis", axes[axis]);
          +                    }
          +                    axis = s.get("valueAxis");
          +                    if(axis && !(axis instanceof Y.Axis))
          +                    {
          +                        s.set("valueAxis", axes[axis]);
          +                    }
          +                    continue;
          +                }
          +                s.categoryAxis = axes.category;
          +                s.valueAxis = axes.values;
          +                if(!s.type)
          +                {
          +                    s.type = this.get("type");
          +                }
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Generates and returns a key-indexed object containing `Axis` instances or objects used to create `Axis` instances.
          +     *
          +     * @method _getDefaultAxes
          +     * @return Object
          +     * @private
          +     */
          +    _getDefaultAxes: function()
          +    {
          +        var catKey = this.get("categoryKey"),
          +            seriesKeys = this.get("seriesKeys") || [], 
          +            seriesAxis = "numeric",
          +            i, 
          +            dv = this.get("dataProvider")[0];
          +        if(seriesKeys.length < 1)
          +        {
          +            for(i in dv)
          +            {
          +                if(i != catKey)
          +                {
          +                    seriesKeys.push(i);
          +                }
          +            }
          +            if(seriesKeys.length > 0)
          +            {
          +                this.set("seriesKeys", seriesKeys);
          +            }
          +        }
          +        return {
          +            values:{
          +                keys:seriesKeys,
          +                type:seriesAxis
          +            },
          +            category:{
          +                keys:[catKey],
          +                type:this.get("categoryType")
          +            }
          +        };
          +    },
          +        
          +    /**
          +     * Returns an object literal containing a categoryItem and a valueItem for a given series index.
          +     *
          +     * @method getSeriesItem
          +     * @param series Reference to a series.
          +     * @param index Index of the specified item within a series.
          +     * @return Object
          +     */
          +    getSeriesItems: function(series, index)
          +    {
          +        var categoryItem = {
          +                axis: series.get("categoryAxis"),
          +                key: series.get("categoryKey"),
          +                displayName: series.get("categoryDisplayName")
          +            },
          +            valueItem = {
          +                axis: series.get("valueAxis"),
          +                key: series.get("valueKey"),
          +                displayName: series.get("valueDisplayName")
          +            };
          +        categoryItem.value = categoryItem.axis.getKeyValueAt(categoryItem.key, index);
          +        valueItem.value = valueItem.axis.getKeyValueAt(valueItem.key, index);
          +        return {category:categoryItem, value:valueItem};
          +    },
          +
          +    /**
          +     * Handler for sizeChanged event.
          +     *
          +     * @method _sizeChanged
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _sizeChanged: function(e)
          +    {
          +        this._redraw();
          +    },
          +
          +    /**
          +     * Redraws the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     */
          +    _redraw: function()
          +    {
          +        var graph = this.get("graph"),
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            dimension;
          +        if(graph)
          +        {
          +            dimension = Math.min(w, h);
          +            graph.set("width", dimension);
          +            graph.set("height", dimension);
          +        }
          +    },
          +    
          +    /**
          +     * Formats tooltip text for a pie chart.
          +     *
          +     * @method _tooltipLabelFunction
          +     * @param {Object} categoryItem An object containing the following:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     *      <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>
          +     *      <dt>key</dt><dd>The key of the category.</dd>
          +     *      <dt>value</dt><dd>The value of the category</dd>
          +     *  </dl>
          +     * @param {Object} valueItem An object containing the following:
          +     *  <dl>
          +     *      <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +     *      <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     *      <dt>key</dt><dd>The key for the series.</dd>
          +     *      <dt>value</dt><dd>The value for the series item.</dd> 
          +     *  </dl>
          +     * @param {Number} itemIndex The index of the item within the series.
          +     * @param {CartesianSeries} series The `PieSeries` instance of the item.
          +     * @param {Number} seriesIndex The index of the series in the `seriesCollection`.
          +     * @return {HTML}
          +     * @private
          +     */
          +    _tooltipLabelFunction: function(categoryItem, valueItem, itemIndex, series, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement("div"),
          +            total = series.getTotalValues(),
          +            pct = Math.round((valueItem.value / total) * 10000)/100;
          +        msg.appendChild(DOCUMENT.createTextNode(categoryItem.displayName +
          +        ": " + categoryItem.axis.get("labelFunction").apply(this, [categoryItem.value, categoryItem.axis.get("labelFormat")]))); 
          +        msg.appendChild(DOCUMENT.createElement("br"));
          +        msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName + 
          +        ": " + valueItem.axis.get("labelFunction").apply(this, [valueItem.value, valueItem.axis.get("labelFormat")])));
          +        msg.appendChild(DOCUMENT.createElement("br"));
          +        msg.appendChild(DOCUMENT.createTextNode(pct + "%")); 
          +        return msg; 
          +    },
          +
          +    /**
          +     * Returns the appropriate message based on the key press.
          +     *
          +     * @method _getAriaMessage
          +     * @param {Number} key The keycode that was pressed.
          +     * @return String
          +     */
          +    _getAriaMessage: function(key)
          +    {
          +        var msg = "",
          +            categoryItem,
          +            items,
          +            series,
          +            valueItem,
          +            seriesIndex = 0,
          +            itemIndex = this._itemIndex,
          +            seriesCollection = this.get("seriesCollection"),
          +            len,
          +            total,
          +            pct,
          +            markers;
          +        series = this.getSeries(parseInt(seriesIndex, 10));
          +        markers = series.get("markers");
          +        len = markers && markers.length ? markers.length : 0;
          +        if(key === 37)
          +        {
          +            itemIndex = itemIndex > 0 ? itemIndex - 1 : len - 1;
          +        }
          +        else if(key === 39)
          +        {
          +            itemIndex = itemIndex >= len - 1 ? 0 : itemIndex + 1;
          +        }
          +        this._itemIndex = itemIndex;
          +        items = this.getSeriesItems(series, itemIndex);
          +        categoryItem = items.category;
          +        valueItem = items.value;
          +        total = series.getTotalValues();
          +        pct = Math.round((valueItem.value / total) * 10000)/100;
          +        if(categoryItem && valueItem)
          +        {
          +            msg += categoryItem.displayName + ": " + categoryItem.axis.formatLabel.apply(this, [categoryItem.value, categoryItem.axis.get("labelFormat")]) + ", ";
          +            msg += valueItem.displayName + ": " + valueItem.axis.formatLabel.apply(this, [valueItem.value, valueItem.axis.get("labelFormat")]) + ", "; 
          +            msg += "Percent of total " + valueItem.displayName + ": " + pct + "%,"; 
          +        }
          +        else
          +        {
          +            msg += "No data available,";
          +        }
          +        msg += (itemIndex + 1) + " of " + len + ". ";
          +        return msg;
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Sets the aria description for the chart.
          +         *
          +         * @attribute ariaDescription
          +         * @type String
          +         */
          +        ariaDescription: {
          +            value: "Use the left and right keys to navigate through items.",
          +
          +            setter: function(val)
          +            {
          +                if(this._description)
          +                {
          +                    this._description.setContent("");
          +                    this._description.appendChild(DOCUMENT.createTextNode(val));
          +                }
          +                return val;
          +            }
          +        },
          +        
          +        /**
          +         * Axes to appear in the chart. 
          +         *
          +         * @attribute axes
          +         * @type Object
          +         */
          +        axes: {
          +            getter: function()
          +            {
          +                return this._axes;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._parseAxes(val);
          +            }
          +        },
          +
          +        /**
          +         * Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +         * used to describe a Series instance.
          +         *
          +         * @attribute seriesCollection
          +         * @type Array
          +         */
          +        seriesCollection: {
          +            getter: function()
          +            {
          +                return this._getSeriesCollection();
          +            },
          +            
          +            setter: function(val)
          +            {
          +                return this._setSeriesCollection(val);
          +            }
          +        },
          +        
          +        /**
          +         * Type of chart when there is no series collection specified.
          +         *
          +         * @attribute type
          +         * @type String 
          +         */
          +        type: {
          +            value: "pie"
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChartLegend.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChartLegend.js
          new file mode 100644
          index 000000000..86bf5184c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieChartLegend.js
          @@ -0,0 +1,132 @@
          +var PieChartLegend = Y.Base.create("pieChartLegend", Y.PieChart, [], {
          +    /**
          +     * Redraws the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     */
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var graph = this.get("graph"),
          +            w = this.get("width"),
          +            h = this.get("height"),
          +            graphWidth,
          +            graphHeight,
          +            legend = this.get("legend"),
          +            x = 0,
          +            y = 0,
          +            legendX = 0,
          +            legendY = 0,
          +            legendWidth,
          +            legendHeight,
          +            dimension,
          +            gap,
          +            position,
          +            direction;
          +        if(graph)
          +        {
          +            if(legend)
          +            {
          +                position = legend.get("position");
          +                direction = legend.get("direction");
          +                graphWidth = graph.get("width");
          +                graphHeight = graph.get("height");
          +                legendWidth = legend.get("width");
          +                legendHeight = legend.get("height");
          +                gap = legend.get("styles").gap;
          +                
          +                if((direction == "vertical" && (graphWidth + legendWidth + gap !== w)) || (direction == "horizontal" &&  (graphHeight + legendHeight + gap !== h)))
          +                {
          +                    switch(legend.get("position"))
          +                    {
          +                        case LEFT :
          +                            dimension = Math.min(w - (legendWidth + gap), h);
          +                            legendHeight = h;
          +                            x = legendWidth + gap;
          +                            legend.set(HEIGHT, legendHeight);
          +                        break;
          +                        case TOP :
          +                            dimension = Math.min(h - (legendHeight + gap), w); 
          +                            legendWidth = w;
          +                            y = legendHeight + gap;
          +                            legend.set(WIDTH, legendWidth);
          +                        break;
          +                        case RIGHT :
          +                            dimension = Math.min(w - (legendWidth + gap), h);
          +                            legendHeight = h;
          +                            legendX = dimension + gap;
          +                            legend.set(HEIGHT, legendHeight);
          +                        break;
          +                        case BOTTOM :
          +                            dimension = Math.min(h - (legendHeight + gap), w); 
          +                            legendWidth = w;
          +                            legendY = dimension + gap; 
          +                            legend.set(WIDTH, legendWidth);
          +                        break;
          +                    }
          +                    graph.set(WIDTH, dimension);
          +                    graph.set(HEIGHT, dimension);
          +                }
          +                else
          +                {
          +                    switch(legend.get("position"))
          +                    {   
          +                        case LEFT :
          +                            x = legendWidth + gap;
          +                        break;
          +                        case TOP :
          +                            y = legendHeight + gap;
          +                        break;
          +                        case RIGHT :
          +                            legendX = graphWidth + gap;
          +                        break;
          +                        case BOTTOM :
          +                            legendY = graphHeight + gap; 
          +                        break;
          +                    }
          +                }
          +            }
          +            else
          +            {
          +                graph.set(_X, 0);
          +                graph.set(_Y, 0);
          +                graph.set(WIDTH, w);
          +                graph.set(HEIGHT, h);
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.set(_X, x);
          +            graph.set(_Y, y);
          +        }
          +        if(legend)
          +        {
          +            legend.set(_X, legendX);
          +            legend.set(_Y, legendY);
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * The legend for the chart.
          +         *
          +         * @attribute
          +         * @type Legend
          +         */
          +        legend: LEGEND
          +    }
          +});
          +Y.PieChart = PieChartLegend;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieSeries.js
          new file mode 100644
          index 000000000..afaaa3e79
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/PieSeries.js
          @@ -0,0 +1,729 @@
          +/**
          + * PieSeries visualizes data as a circular chart divided into wedges which represent data as a 
          + * percentage of a whole.
          + *
          + * @module charts
          + * @class PieSeries
          + * @constructor
          + * @extends MarkerSeries
          + */
          +Y.PieSeries = Y.Base.create("pieSeries", Y.MarkerSeries, [], { 
          +    /**
          +     * Image map used for interactivity when rendered with canvas.
          +     *
          +     * @property _map
          +     * @type HTMLElement
          +     * @private
          +     */
          +    _map: null,
          +
          +    /**
          +     * Image used for image map when rendered with canvas.
          +     *
          +     * @property _image
          +     * @type HTMLElement
          +     * @private
          +     */
          +    _image: null,
          +
          +    /**
          +     * Creates or updates the image map when rendered with canvas.
          +     *
          +     * @method _setMap
          +     * @private
          +     */
          +    _setMap: function()
          +    {
          +        var id = "pieHotSpotMapi_" + Math.round(100000 * Math.random()),
          +            cb = this.get("graph").get("contentBox"),
          +            areaNode;
          +        if(this._image)
          +        {
          +            cb.removeChild(this._image);
          +            while(this._areaNodes && this._areaNodes.length > 0)
          +            {
          +                areaNode = this._areaNodes.shift();
          +                this._map.removeChild(areaNode);
          +            }
          +            cb.removeChild(this._map);
          +        }
          +        this._image = DOCUMENT.createElement("img"); 
          +        this._image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==";
          +        cb.appendChild(this._image);
          +        this._image.setAttribute("usemap", "#" + id);
          +        this._image.style.zIndex = 3;
          +        this._image.style.opacity = 0;
          +        this._image.setAttribute("alt", "imagemap");
          +        this._map = DOCUMENT.createElement("map");
          +        this._map.style.zIndex = 5;
          +        cb.appendChild(this._map);
          +        this._map.setAttribute("name", id);
          +        this._map.setAttribute("id", id);
          +        this._areaNodes = [];
          +    },
          +
          +    /**
          +     * Storage for `categoryDisplayName` attribute.
          +     *
          +     * @property _categoryDisplayName
          +     * @private
          +     */
          +    _categoryDisplayName: null,
          +    
          +    /**
          +     * Storage for `valueDisplayName` attribute.
          +     *
          +     * @property _valueDisplayName
          +     * @private
          +     */
          +    _valueDisplayName: null,
          +
          +    /**
          +     * Adds event listeners.
          +     *
          +     * @method addListeners
          +     * @private
          +     */
          +    addListeners: function()
          +    {
          +        var categoryAxis = this.get("categoryAxis"),
          +            valueAxis = this.get("valueAxis");
          +        if(categoryAxis)
          +        {
          +            categoryAxis.after("dataReady", Y.bind(this._categoryDataChangeHandler, this));
          +            categoryAxis.after("dataUpdate", Y.bind(this._categoryDataChangeHandler, this));
          +        }
          +        if(valueAxis)
          +        {
          +            valueAxis.after("dataReady", Y.bind(this._valueDataChangeHandler, this));
          +            valueAxis.after("dataUpdate", Y.bind(this._valueDataChangeHandler, this));
          +        }
          +        this.after("categoryAxisChange", this.categoryAxisChangeHandler);
          +        this.after("valueAxisChange", this.valueAxisChangeHandler);
          +        this.after("stylesChange", this._updateHandler);
          +    },
          +    
          +    /**
          +     * Draws the series.
          +     *
          +     * @method validate
          +     * @private
          +     */
          +    validate: function()
          +    {
          +        this.draw();
          +        this._renderered = true;
          +    },
          +
          +    /**
          +     * Event handler for the categoryAxisChange event.
          +     *
          +     * @method _categoryAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _categoryAxisChangeHandler: function(e)
          +    {
          +        var categoryAxis = this.get("categoryAxis");
          +        categoryAxis.after("dataReady", Y.bind(this._categoryDataChangeHandler, this));
          +        categoryAxis.after("dataUpdate", Y.bind(this._categoryDataChangeHandler, this));
          +    },
          +    
          +    /**
          +     * Event handler for the valueAxisChange event.
          +     *
          +     * @method _valueAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     */
          +    _valueAxisChangeHandler: function(e)
          +    {
          +        var valueAxis = this.get("valueAxis");
          +        valueAxis.after("dataReady", Y.bind(this._valueDataChangeHandler, this));
          +        valueAxis.after("dataUpdate", Y.bind(this._valueDataChangeHandler, this));
          +    },
          +	
          +    /**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     */
          +    GUID: "pieseries",
          +	
          +    /**
          +     * Event handler for categoryDataChange event.
          +     *
          +     * @method _categoryDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     */
          +    _categoryDataChangeHandler: function(event)
          +    {
          +       if(this._rendered && this.get("categoryKey") && this.get("valueKey"))
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    /**
          +     * Event handler for valueDataChange event.
          +     *
          +     * @method _valueDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     */
          +    _valueDataChangeHandler: function(event)
          +    {
          +        if(this._rendered && this.get("categoryKey") && this.get("valueKey"))
          +        {
          +            this.draw();
          +        }
          +    },
          +   
          +    /**
          +     * Draws the series. Overrides the base implementation.
          +     *
          +     * @method draw
          +     * @protected
          +     */
          +    draw: function()
          +    {
          +        var graph = this.get("graph"),
          +            w = graph.get("width"),
          +            h = graph.get("height");
          +        if(isFinite(w) && isFinite(h) && w > 0 && h > 0)
          +        {   
          +            this._rendered = true;
          +            if(this._drawing)
          +            {
          +                this._callLater = true;
          +                return;
          +            }
          +            this._drawing = true;
          +            this._callLater = false;
          +            this.drawSeries();
          +            this._drawing = false;
          +            if(this._callLater)
          +            {
          +                this.draw();
          +            }
          +            else
          +            {
          +                this.fire("drawingComplete");
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Draws the markers
          +     *
          +     * @method drawPlots
          +     * @protected
          +     */
          +    drawPlots: function()
          +    {
          +        var values = this.get("valueAxis").getDataByKey(this.get("valueKey")).concat(),
          +            catValues = this.get("categoryAxis").getDataByKey(this.get("categoryKey")).concat(),
          +            totalValue = 0,
          +            itemCount = values.length,
          +            styles = this.get("styles").marker,
          +            fillColors = styles.fill.colors,
          +            fillAlphas = styles.fill.alphas || ["1"],
          +            borderColors = styles.border.colors,
          +            borderWeights = [styles.border.weight],
          +            borderAlphas = [styles.border.alpha],
          +            tbw = borderWeights.concat(),
          +            tbc = borderColors.concat(),
          +            tba = borderAlphas.concat(),
          +            tfc,
          +            tfa,
          +            padding = styles.padding,
          +            graph = this.get("graph"),
          +            minDimension = Math.min(graph.get("width"), graph.get("height")),
          +            w = minDimension - (padding.left + padding.right),
          +            h = minDimension - (padding.top + padding.bottom),
          +            startAngle = -90,
          +            halfWidth = w / 2,
          +            halfHeight = h / 2,
          +            radius = Math.min(halfWidth, halfHeight),
          +            i = 0,
          +            value,
          +            angle = 0,
          +            lc,
          +            la,
          +            lw,
          +            wedgeStyle,
          +            marker,
          +            graphOrder = this.get("graphOrder"),
          +            isCanvas = Y.Graphic.NAME == "canvasGraphic";
          +        for(; i < itemCount; ++i)
          +        {
          +            value = parseFloat(values[i]);
          +            
          +            values.push(value);
          +            if(!isNaN(value))
          +            {
          +                totalValue += value;
          +            }
          +        }
          +        
          +        tfc = fillColors ? fillColors.concat() : null;
          +        tfa = fillAlphas ? fillAlphas.concat() : null;
          +        this._createMarkerCache();
          +        if(isCanvas)
          +        {
          +            this._setMap();
          +            this._image.width = w;
          +            this._image.height = h;
          +        }
          +        for(i = 0; i < itemCount; i++)
          +        {
          +            value = values[i];
          +            if(totalValue === 0)
          +            {
          +                angle = 360 / values.length;
          +            }
          +            else
          +            {
          +                angle = 360 * (value / totalValue);
          +            }
          +            angle = Math.round(angle);
          +            if(tfc && tfc.length < 1)
          +            {
          +                tfc = fillColors.concat();
          +            }
          +            if(tfa && tfa.length < 1)
          +            {
          +                tfa = fillAlphas.concat();
          +            }
          +            if(tbw && tbw.length < 1)
          +            {
          +                tbw = borderWeights.concat();
          +            }
          +            if(tbw && tbc.length < 1)
          +            {
          +                tbc = borderColors.concat();
          +            }
          +            if(tba && tba.length < 1)
          +            {
          +                tba = borderAlphas.concat();
          +            }
          +            lw = tbw ? tbw.shift() : null;
          +            lc = tbc ? tbc.shift() : null;
          +            la = tba ? tba.shift() : null;
          +            startAngle += angle;
          +            wedgeStyle = {
          +                border: {
          +                    color:lc,
          +                    weight:lw,
          +                    alpha:la
          +                },
          +                fill: {
          +                    color:tfc ? tfc.shift() : this._getDefaultColor(i, "slice"),
          +                    alpha:tfa ? tfa.shift() : null
          +                },
          +                type: "pieslice",
          +                arc: angle,
          +                radius: radius,
          +                startAngle: startAngle,
          +                cx: halfWidth,
          +                cy: halfHeight,
          +                width: w,
          +                height: h
          +            };
          +            marker = this.getMarker(wedgeStyle, graphOrder, i);
          +            if(isCanvas)
          +            {
          +                this._addHotspot(wedgeStyle, graphOrder, i);
          +            }
          +        }
          +        this._clearMarkerCache();
          +    },
          +
          +    /**
          +     *  Adds an interactive map when rendering in canvas.
          +     *
          +     *  @method _addHotspot
          +     *  @param {Object} cfg Object containing data used to draw the hotspot
          +     *  @param {Number} seriesIndex Index of series in the `seriesCollection`.
          +     *  @param {Number} index Index of the marker using the hotspot.
          +     *  @private
          +     */
          +    _addHotspot: function(cfg, seriesIndex, index)
          +    {
          +        var areaNode = DOCUMENT.createElement("area"),
          +            i = 1,
          +            x = cfg.cx,
          +            y = cfg.cy, 
          +            arc = cfg.arc,
          +            startAngle = cfg.startAngle - arc, 
          +            endAngle = cfg.startAngle,
          +            radius = cfg.radius, 
          +            ax = x + Math.cos(startAngle / 180 * Math.PI) * radius,
          +            ay = y + Math.sin(startAngle / 180 * Math.PI) * radius,
          +            bx = x + Math.cos(endAngle / 180 * Math.PI) * radius,
          +            by = y + Math.sin(endAngle / 180 * Math.PI) * radius,
          +            numPoints = Math.floor(arc/10) - 1,
          +            divAngle = (arc/(Math.floor(arc/10)) / 180) * Math.PI,
          +            angleCoord = Math.atan((ay - y)/(ax - x)),
          +            pts = x + ", " + y + ", " + ax + ", " + ay,
          +            cosAng,
          +            sinAng,
          +            multDivAng;
          +        for(i = 1; i <= numPoints; ++i)
          +        {
          +            multDivAng = divAngle * i;
          +            cosAng = Math.cos(angleCoord + multDivAng);
          +            sinAng = Math.sin(angleCoord + multDivAng);
          +            if(startAngle <= 90)
          +            {
          +                pts += ", " + (x + (radius * Math.cos(angleCoord + (divAngle * i))));
          +                pts += ", " + (y + (radius * Math.sin(angleCoord + (divAngle * i))));
          +            }
          +            else
          +            {
          +                pts += ", " + (x - (radius * Math.cos(angleCoord + (divAngle * i))));
          +                pts += ", " + (y - (radius * Math.sin(angleCoord + (divAngle * i))));
          +            }
          +        }
          +        pts += ", " + bx + ", " + by;
          +        pts += ", " + x + ", " + y;
          +        this._map.appendChild(areaNode);
          +        areaNode.setAttribute("class", SERIES_MARKER);
          +        areaNode.setAttribute("id", "hotSpot_" + seriesIndex + "_" + index);
          +        areaNode.setAttribute("shape", "polygon");
          +        areaNode.setAttribute("coords", pts);
          +        this._areaNodes.push(areaNode);
          +
          +    },
          +
          +    /**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers[i])
          +        {
          +            var state = this._getState(type),
          +                markerStyles,
          +                indexStyles,
          +                marker = this._markers[i],
          +                styles = this.get("styles").marker; 
          +            markerStyles = state == "off" || !styles[state] ? styles : styles[state]; 
          +            indexStyles = this._mergeStyles(markerStyles, {});
          +            indexStyles.fill.color = indexStyles.fill.colors[i % indexStyles.fill.colors.length];
          +            indexStyles.fill.alpha = indexStyles.fill.alphas[i % indexStyles.fill.alphas.length];
          +            marker.set(indexStyles);
          +        }
          +    },
          +    
          +    /**
          +     * Creates a shape to be used as a marker.
          +     *
          +     * @method _createMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @private
          +     */
          +    _createMarker: function(styles, order, index)
          +    {
          +        var graphic = this.get("graphic"),
          +            marker,
          +            cfg = Y.clone(styles);
          +        graphic.set("autoDraw", false);
          +        marker = graphic.addShape(cfg); 
          +        marker.addClass(SERIES_MARKER);
          +        return marker;
          +    },
          +    
          +    /**
          +     * Creates a cache of markers for reuse.
          +     *
          +     * @method _createMarkerCache
          +     * @private
          +     */
          +    _clearMarkerCache: function()
          +    {
          +        var len = this._markerCache.length,
          +            i = 0,
          +            marker;
          +        for(; i < len; ++i)
          +        {
          +            marker = this._markerCache[i];
          +            if(marker)
          +            {
          +                marker.destroy();
          +            }
          +        }
          +        this._markerCache = [];
          +    },
          +
          +    /**
          +     * Gets the default style values for the markers.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @private
          +     */
          +    _getPlotDefaults: function()
          +    {
          +         var defs = {
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            },
          +            fill:{
          +                alphas:["1"]
          +            },
          +            border: {
          +                weight: 0,
          +                alpha: 1
          +            }
          +        };
          +        defs.fill.colors = this._defaultSliceColors;
          +        defs.border.colors = this._defaultBorderColors;
          +        return defs;
          +    },
          +
          +    /**
          +     * Collection of default colors used for lines in a series when not specified by user.
          +     *
          +     * @property _defaultLineColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultLineColors:["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"],
          +
          +    /**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultFillColors:["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"],
          +    
          +    /**
          +     * Collection of default colors used for marker borders in a series when not specified by user.
          +     *
          +     * @property _defaultBorderColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultBorderColors:["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"],
          +    
          +    /**
          +     * Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.
          +     *
          +     * @property _defaultSliceColors
          +     * @type Array
          +     * @protected
          +     */
          +    _defaultSliceColors: ["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"],
          +
          +    /**
          +     * Colors used if style colors are not specified
          +     *
          +     * @method _getDefaultColor
          +     * @param {Number} index Index indicating the series order.
          +     * @param {String} type Indicates which type of object needs the color.
          +     * @return String
          +     * @protected
          +     */
          +    _getDefaultColor: function(index, type)
          +    {
          +        var colors = {
          +                line: this._defaultLineColors,
          +                fill: this._defaultFillColors,
          +                border: this._defaultBorderColors,
          +                slice: this._defaultSliceColors
          +            },
          +            col = colors[type],
          +            l = col.length;
          +        index = index || 0;
          +        if(index >= l)
          +        {
          +            index = index % l;
          +        }
          +        type = type || "fill";
          +        return colors[type][index];
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default pie
          +         */
          +        type: {		
          +            value: "pie"
          +        },
          +        
          +        /**
          +         * Order of this instance of this `type`.
          +         *
          +         * @attribute order
          +         * @type Number
          +         */
          +        order: {},
          +
          +        /**
          +         * Reference to the `Graph` in which the series is drawn into.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         */
          +        graph: {},
          +        
          +        /**
          +         * Reference to the `Axis` instance used for assigning 
          +         * category values to the graph.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         */
          +        categoryAxis: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get("categoryAxis");
          +            }
          +        },
          +        
          +        /**
          +         * Reference to the `Axis` instance used for assigning 
          +         * series values to the graph.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         */
          +        valueAxis: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get("valueAxis");
          +            }
          +        },
          +
          +        /**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the category `Axis` instance.
          +         *
          +         * @attribute categoryKey
          +         * @type String
          +         */
          +        categoryKey: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get("categoryKey");
          +            }
          +        },
          +        /**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the value `Axis` instance.
          +         *
          +         * @attribute valueKey
          +         * @type String
          +         */
          +        valueKey: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get("valueKey");
          +            }
          +        },
          +
          +        /**
          +         * Name used for for displaying category data
          +         *
          +         * @attribute categoryDisplayName
          +         * @type String
          +         */
          +        categoryDisplayName: {
          +            setter: function(val)
          +            {
          +                this._categoryDisplayName = val;
          +                return val;
          +            },
          +
          +            getter: function()
          +            {
          +                return this._categoryDisplayName || this.get("categoryKey");
          +            }
          +        },
          +
          +        /**
          +         * Name used for for displaying value data
          +         *
          +         * @attribute valueDisplayName
          +         * @type String
          +         */
          +        valueDisplayName: {
          +            setter: function(val)
          +            {
          +                this._valueDisplayName = val;
          +                return val;
          +            },
          +
          +            getter: function()
          +            {
          +                return this._valueDisplayName || this.get("valueKey");
          +            }
          +        },
          +        
          +        /**
          +         * @attribute slices
          +         * @type Array
          +         * @private
          +         */
          +        slices: null
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>colors</dt><dd>An array of colors to be used for the marker fills. The color for each marker is retrieved from the 
          +         *              array below:<br/>
          +         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *              </dd>
          +         *              <dt>alphas</dt><dd>An array of alpha references (Number from 0 to 1) indicating the opacity of each marker fill. The default value is [1].</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>An array of colors to be used for the marker borders. The color for each marker is retrieved from the
          +         *              array below:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Plots.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Plots.js
          new file mode 100644
          index 000000000..c480a8ed4
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Plots.js
          @@ -0,0 +1,513 @@
          +/**
          + * Utility class used for drawing markers.
          + *
          + * @module charts
          + * @class Plots
          + * @constructor
          + */
          +function Plots(cfg)
          +{
          +    var attrs = { 
          +        markers: {
          +            getter: function()
          +            {
          +                return this._markers;
          +            }
          +        }
          +    };
          +    this.addAttrs(attrs, cfg);
          +}
          +
          +Plots.prototype = {
          +    /**
          +     * Storage for default marker styles.
          +     *
          +     * @property _plotDefaults
          +     * @type Object
          +     * @private
          +     */
          +    _plotDefaults: null,
          +
          +    /**
          +     * Draws the markers
          +     *
          +     * @method drawPlots
          +     * @protected
          +     */
          +    drawPlots: function()
          +    {
          +        if(!this.get("xcoords") || this.get("xcoords").length < 1) 
          +		{
          +			return;
          +		}
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get("styles").marker),
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            left,
          +            marker,
          +            offsetWidth = w/2,
          +            offsetHeight = h/2,
          +            xvalues,
          +            yvalues,
          +            fillColors = null,
          +            borderColors = null,
          +            graphOrder = this.get("graphOrder"),
          +            groupMarkers = this.get("groupMarkers");
          +        if(groupMarkers)
          +        {
          +            xvalues = [];
          +            yvalues = [];
          +            for(; i < len; ++i)
          +            {
          +                xvalues.push(parseFloat(xcoords[i] - offsetWidth));
          +                yvalues.push(parseFloat(ycoords[i] - offsetHeight));
          +            }
          +            this._createGroupMarker({
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: {
          +                    width: w,
          +                    height: h
          +                },
          +                graphOrder: graphOrder,
          +                shape: style.shape
          +            });
          +            return;
          +        }
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        for(; i < len; ++i)
          +        {
          +            top = parseFloat(ycoords[i] - offsetHeight);
          +            left = parseFloat(xcoords[i] - offsetWidth);            
          +            if(!isNumber(left) || !isNumber(top))
          +            {
          +                this._markers.push(null);
          +                continue;
          +            }
          +            if(fillColors)
          +            {
          +                style.fill.color = fillColors[i % fillColors.length];
          +            }
          +            if(borderColors)
          +            {
          +                style.border.color = borderColors[i % borderColors.length];
          +            }
          +
          +            style.x = left;
          +            style.y = top;
          +            marker = this.getMarker(style, graphOrder, i);
          +        }
          +        this._clearMarkerCache();
          +    },
          +
          +    /**
          +     * Pre-defined group shapes.
          +     *
          +     * @property _groupShapes
          +     * @private
          +     */
          +    _groupShapes: {
          +        circle: Y.CircleGroup,
          +        rect: Y.RectGroup,
          +        ellipse: Y.EllipseGroup,
          +        diamond: Y.DiamondGroup
          +    },
          +
          +    /**
          +     * Returns the correct group shape class.
          +     *
          +     * @method _getGroupShape
          +     * @param {Shape | String} shape Indicates which shape class. 
          +     * @return Function
          +     * @protected
          +     */
          +    _getGroupShape: function(shape)
          +    {
          +        if(Y_Lang.isString(shape))
          +        {
          +            shape = this._groupShapes[shape];
          +        }
          +        return shape;
          +    },
          +
          +    /**
          +     * Gets the default values for series that use the utility. This method is used by
          +     * the class' `styles` attribute's getter to get build default values.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     */
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: "solid",
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 1,
          +                alpha: 1
          +            },
          +            width: 10,
          +            height: 10,
          +            shape: "circle"
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get("graphOrder"), "fill");
          +        defs.border.color = this._getDefaultColor(this.get("graphOrder"), "border");
          +        return defs;
          +    },
          +
          +    /**
          +     * Collection of markers to be used in the series.
          +     *
          +     * @property _markers
          +     * @type Array
          +     * @private
          +     */
          +    _markers: null,
          +
          +    /**
          +     * Collection of markers to be re-used on a series redraw.
          +     *
          +     * @property _markerCache
          +     * @type Array
          +     * @private
          +     */
          +    _markerCache: null,
          +   
          +    /**
          +     * Gets and styles a marker. If there is a marker in cache, it will use it. Otherwise
          +     * it will create one.
          +     *
          +     * @method getMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @protected
          +     */
          +    getMarker: function(styles, order, index)
          +    {
          +        var marker,
          +            border = styles.border;
          +        styles.id = this.get("chart").get("id") + "_" + order + "_" + index;
          +        //fix name differences between graphic layer
          +        border.opacity = border.alpha;
          +        styles.stroke = border;
          +        styles.fill.opacity = styles.fill.alpha;
          +        if(this._markerCache.length > 0)
          +        {
          +            while(!marker)
          +            {
          +                if(this._markerCache.length < 1)
          +                {
          +                    marker = this._createMarker(styles, order, index);
          +                    break;
          +                }
          +                marker = this._markerCache.shift();
          +
          +            }
          +            marker.set(styles);
          +        }
          +        else
          +        {
          +            marker = this._createMarker(styles, order, index);
          +        }
          +        this._markers.push(marker);
          +        return marker;
          +    },
          +    
          +    /**
          +     * Creates a shape to be used as a marker.
          +     *
          +     * @method _createMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @private
          +     */
          +    _createMarker: function(styles, order, index)
          +    {
          +        var graphic = this.get("graphic"),
          +            marker,
          +            cfg = Y.clone(styles);
          +        graphic.set("autoDraw", false);
          +        cfg.type = cfg.shape;
          +        marker = graphic.addShape(cfg); 
          +        marker.addClass(SERIES_MARKER);
          +        return marker;
          +    },
          +    
          +    /**
          +     * Creates a cache of markers for reuse.
          +     *
          +     * @method _createMarkerCache
          +     * @private
          +     */
          +    _createMarkerCache: function()
          +    {
          +        if(this._groupMarker)
          +        {
          +            this._groupMarker.destroy();
          +            this._groupMarker = null;
          +        }
          +        if(this._markers && this._markers.length > 0)
          +        {
          +            this._markerCache = this._markers.concat();
          +        }
          +        else
          +        {
          +            this._markerCache = [];
          +        }
          +        this._markers = [];
          +    },
          +  
          +    /**
          +     * Draws a series of markers in a single shape instance.
          +     *
          +     * @method _createGroupMarkers
          +     * @param {Object} styles Set of configuration properties used to create the markers.
          +     * @protected
          +     */
          +    _createGroupMarker: function(styles)
          +    {
          +        var marker,
          +            markers = this.get("markers"),
          +            border = styles.border,
          +            graphic,
          +            cfg,
          +            shape;
          +        if(markers && markers.length > 0)
          +        {
          +            while(markers.length > 0)
          +            {
          +                marker = markers.shift();
          +                marker.destroy();
          +            }
          +            this.set("markers", []);
          +        }
          +        //fix name differences between graphic layer
          +        border.opacity = border.alpha;
          +        cfg = {
          +            id: this.get("chart").get("id") + "_" + styles.graphOrder,
          +            stroke: border,
          +            fill: styles.fill,
          +            dimensions: styles.dimensions,
          +            xvalues: styles.xvalues,
          +            yvalues: styles.yvalues
          +        };
          +        cfg.fill.opacity = styles.fill.alpha;
          +        shape = this._getGroupShape(styles.shape);
          +        if(shape)
          +        {
          +            cfg.type = shape;
          +        }
          +        if(styles.hasOwnProperty("radius") && !isNaN(styles.radius))
          +        {
          +            cfg.dimensions.radius = styles.radius;
          +        }
          +        if(this._groupMarker)
          +        {
          +            this._groupMarker.destroy();
          +        }
          +        graphic = this.get("graphic");
          +        graphic.set("autoDraw", true);
          +        this._groupMarker = graphic.addShape(cfg);
          +    },
          +
          +    /**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     */
          +    _toggleVisible: function(visible)
          +    {
          +        var marker,
          +            markers = this.get("markers"),
          +            i = 0,
          +            len;
          +        if(markers)
          +        {
          +            len = markers.length;
          +            for(; i < len; ++i)
          +            {
          +                marker = markers[i];
          +                if(marker)
          +                {
          +                    marker.set("visible", visible);
          +                }
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Removes unused markers from the marker cache
          +     *
          +     * @method _clearMarkerCache
          +     * @private
          +     */
          +    _clearMarkerCache: function()
          +    {
          +        var marker;
          +        while(this._markerCache.length > 0)
          +        {
          +            marker = this._markerCache.shift();
          +            if(marker)
          +            {
          +                marker.destroy();
          +            }
          +        }
          +    },
          +
          +    /**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers && this._markers[i])
          +        {
          +            var w,
          +                h,
          +                styles = Y.clone(this.get("styles").marker),
          +                state = this._getState(type),
          +                xcoords = this.get("xcoords"),
          +                ycoords = this.get("ycoords"),
          +                marker = this._markers[i],
          +                markerStyles = state == "off" || !styles[state] ? styles : styles[state]; 
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +                markerStyles.stroke = markerStyles.border;
          +                marker.set(markerStyles);
          +                w = markerStyles.width;
          +                h = markerStyles.height;
          +                marker.set("x", (xcoords[i] - w/2));
          +                marker.set("y",  (ycoords[i] - h/2));
          +                marker.set("visible", this.get("visible"));
          +        }
          +    },
          +
          +    /**
          +     * Parses a color from an array.
          +     *
          +     * @method _getItemColor
          +     * @param {Array} val collection of colors
          +     * @param {Number} i index of the item
          +     * @return String
          +     * @protected
          +     */
          +    _getItemColor: function(val, i)
          +    {
          +        if(Y_Lang.isArray(val))
          +        {
          +            return val[i % val.length];
          +        }
          +        return val;
          +    },
          +
          +    /**
          +     * Method used by `styles` setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     * @protected
          +     */
          +    _setStyles: function(val)
          +    {
          +        val = this._parseMarkerStyles(val);
          +        return Y.Renderer.prototype._setStyles.apply(this, [val]);
          +    },
          +
          +    /**
          +     * Combines new styles with existing styles.
          +     *
          +     * @method _parseMarkerStyles
          +     * @param {Object} Object containing style properties for the marker.
          +     * @return Object
          +     * @private
          +     */
          +    _parseMarkerStyles: function(val)
          +    {
          +        if(val.marker)
          +        {
          +            var defs = this._getPlotDefaults();
          +            val.marker = this._mergeStyles(val.marker, defs);
          +            if(val.marker.over)
          +            {
          +                val.marker.over = this._mergeStyles(val.marker.over, val.marker);
          +            }
          +            if(val.marker.down)
          +            {
          +                val.marker.down = this._mergeStyles(val.marker.down, val.marker);
          +            }
          +        }
          +        return val;
          +    },
          +
          +    /**
          +     * Returns marker state based on event type
          +     *
          +     * @method _getState
          +     * @param {String} type event type
          +     * @return String
          +     * @protected
          +     */
          +    _getState: function(type)
          +    {
          +        var state;
          +        switch(type)
          +        {
          +            case "mouseout" :
          +                state = "off";
          +            break;
          +            case "mouseover" :
          +                state = "over";
          +            break;
          +            case "mouseup" :
          +                state = "over";
          +            break;
          +            case "mousedown" :
          +                state = "down";
          +            break;
          +        }
          +        return state;
          +    },
          +    
          +    /**
          +     * @property _statSyles
          +     * @type Object
          +     * @private
          +     */
          +    _stateSyles: null
          +};
          +
          +Y.augment(Plots, Y.Attribute);
          +Y.Plots = Plots;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RectGroup.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RectGroup.js
          new file mode 100755
          index 000000000..ddd1082ae
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RectGroup.js
          @@ -0,0 +1,29 @@
          +/**
          + * Abstract class for creating groups of rects with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupRect
          + * @constructor
          + */
          + RectGroup = function(cfg)
          + {
          +    RectGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + RectGroup.NAME = "rectGroup";
          +
          + Y.extend(RectGroup, Y.ShapeGroup, {    
          +    /**
          +     * Updates the rect.
          +     *
          +     * @method _draw
          +     * @private
          +     */
          +    drawShape: function(cfg)
          +    {
          +        this.drawRect(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +RectGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.RectGroup = RectGroup;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Renderer.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Renderer.js
          new file mode 100644
          index 000000000..9ccac2140
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/Renderer.js
          @@ -0,0 +1,117 @@
          +/**
          + * The Renderer class is a base class for chart components that use the `styles`
          + * attribute.
          + *
          + * @module charts
          + * @class Renderer
          + * @constructor
          + */
          +function Renderer(){}
          +
          +Renderer.ATTRS = {
          +        /**
          +         * Style properties for class
          +         * 
          +         * @attribute styles
          +         * @type Object
          +         */
          +        styles:
          +        {
          +            getter: function()
          +            {
          +                this._styles = this._styles || this._getDefaultStyles();
          +                return this._styles;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._styles = this._setStyles(val);
          +            }
          +        },
          +        
          +        /**
          +         * The graphic in which drawings will be rendered.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         */
          +        graphic: {}
          +};
          +Renderer.NAME = "renderer";
          +
          +Renderer.prototype = {
          +    /**
          +     * Storage for `styles` attribute.
          +     *
          +     * @property _styles
          +     * @type Object
          +     * @private
          +     */
          +	_styles: null,
          +	
          +    /**
          +     * Method used by `styles` setter.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     * @protected
          +     */
          +	_setStyles: function(newstyles)
          +	{
          +		var styles = this.get("styles");
          +        return this._mergeStyles(newstyles, styles);
          +	},
          +    
          +    /**
          +     * Merges to object literals so that only specified properties are 
          +     * overwritten.
          +     *
          +     * @method _mergeStyles
          +     * @param {Object} a Hash of new styles
          +     * @param {Object} b Hash of original styles
          +     * @return Object
          +     * @protected
          +     */
          +    _mergeStyles: function(a, b)
          +    {
          +        if(!b)
          +        {
          +            b = {};
          +        }
          +        var newstyles = Y.merge(b, {});
          +        Y.Object.each(a, function(value, key, a)
          +        {
          +            if(b.hasOwnProperty(key) && Y_Lang.isObject(value) && !Y_Lang.isFunction(value) && !Y_Lang.isArray(value))
          +            {
          +                newstyles[key] = this._mergeStyles(value, b[key]);
          +            }
          +            else
          +            {
          +                newstyles[key] = value;
          +            }
          +        }, this);
          +        return newstyles;
          +    },
          +
          +    /**
          +     * Gets the default value for the `styles` attribute. 
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     */
          +    _getDefaultStyles: function()
          +    {
          +        return {padding:{
          +            top:0,
          +            right: 0,
          +            bottom: 0,
          +            left: 0
          +        }};
          +    }
          +};
          +
          +Y.augment(Renderer, Y.Attribute);
          +Y.Renderer = Renderer;
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RightAxisLayout.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RightAxisLayout.js
          new file mode 100644
          index 000000000..88f487e79
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/RightAxisLayout.js
          @@ -0,0 +1,366 @@
          +/**
          + * RightAxisLayout contains algorithms for rendering a right axis.
          + *
          + * @module charts
          + * @class RightAxisLayout
          + * @constructor
          + */
          +RightAxisLayout = function(){};
          +
          +RightAxisLayout.prototype = {
          +    /**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     */
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 4,
          +            right: 0,
          +            bottom: 0
          +        };
          +    },
          +
          +    /**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffset
          +     * @protected
          +     */
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get("styles").majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set("topTickOffset",  0);
          +        host.set("bottomTickOffset",  0);
          +        
          +        switch(display)
          +        {
          +            case "inside" :
          +                host.set("leftTickOffset", tickLength);
          +                host.set("rightTickOffset", 0);
          +            break;
          +            case "outside" : 
          +                host.set("leftTickOffset", 0);
          +                host.set("rightTickOffset", tickLength);
          +            break;
          +            case "cross" :
          +                host.set("rightTickOffset", halfTick);
          +                host.set("leftTickOffset", halfTick);
          +            break;
          +            default:
          +                host.set("leftTickOffset", 0);
          +                host.set("rightTickOffset", 0);
          +            break;
          +        }
          +    },
          +
          +    /**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path `Path` element in which to draw the tick.
          +     * @param {Object} pt Point on the axis in which the tick will intersect.
          +     * @param {Object) tickStyle Hash of properties to apply to the tick.
          +     * @protected
          +     */
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:padding.left, y:pt.y},
          +            end = {x:padding.left + tickLength, y:pt.y};
          +        host.drawLine(path, start, end);
          +    },
          +    
          +    /**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @return {Object}
          +     * @protected
          +     */
          +    getLineStart: function()
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:padding.left, y:padding.top};
          +        if(display === "inside")
          +        {
          +            pt.x += tickLength;
          +        }
          +        else if(display === "cross")
          +        {
          +            pt.x += tickLength/2;
          +        }
          +        return pt;
          +    },
          +    
          +    /**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} point Point on the axis in which the tick will intersect.
          +     * @return {Object} 
          +     * @protected
          +     */
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x + this.get("rightTickOffset"), y:point.y};
          +    },
          +    
          +    /**
          +     * Updates the value for the `maxLabelSize` for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     */
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelWidth;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelHeight;
          +        }
          +        else
          +        {
          +            max = (cosRadians * labelWidth) + (sinRadians * labelHeight);
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    /**
          +     * Determines the available label width when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     */
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitWidth)
          +        {
          +            var host = this,
          +                w = host._explicitWidth,
          +                totalTitleSize = this._totalTitleSize,
          +                rightTickOffset = host.get("rightTickOffset"),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  w - (rightTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    /**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     */
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get("styles").title.margin,
          +            props = host._titleRotationProps,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            w = bounds.right - bounds.left,
          +            x = this.get("width") - (labelWidth * 0.5) - (w * 0.5),
          +            y = (host.get("height") * 0.5) - (labelHeight * 0.5);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin && margin.right)
          +        {
          +            x -= margin.left;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    /**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     */
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get("rightTickOffset"),
          +            labelStyles = styles.label,
          +            margin = 0,
          +            leftOffset = pt.x,
          +            topOffset = pt.y,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(labelStyles.margin && labelStyles.margin.left)
          +        {
          +            margin = labelStyles.margin.left;
          +        }
          +        if(rot === 0)
          +        {
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        else
          +        {
          +            topOffset -= labelHeight * 0.5;
          +            leftOffset += labelHeight/2 * absRot/90;
          +        }
          +        leftOffset += margin;
          +        leftOffset += tickOffset;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = Math.round(leftOffset);
          +        props.y = Math.round(topOffset);
          +        this._rotate(label, props);
          +    },
          + 
          +    /**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     */
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset = 0,
          +            topOffset = 0,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight;
          +        if(rot === 0)
          +        {
          +            topOffset = labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +        }
          +        else
          +        {
          +            topOffset = labelHeight * 0.5;
          +            leftOffset = labelHeight/2 * absRot/90;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +   
          +    /**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     */
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else if(rot === 90)
          +        {
          +            transformOrigin = [0.5, 1];
          +        }
          +        else if(rot === -90)
          +        {
          +            transformOrigin = [0.5, 0];
          +        }
          +        else
          +        {
          +            transformOrigin = [0, 0.5];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    /**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     */
          +    offsetNodeForTick: function(cb)
          +    {
          +        var host = this,
          +            tickOffset = host.get("leftTickOffset"),
          +            offset = 0 - tickOffset;
          +        cb.setStyle("left", offset);
          +    },
          +
          +    /**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     */
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            styles = host.get("styles"),
          +            labelStyle = styles.label,
          +            totalTitleSize = this._totalTitleSize,
          +            ttl = Math.round(host.get("rightTickOffset") + host._maxLabelSize + totalTitleSize + labelStyle.margin.left);
          +        if(this._explicitWidth)
          +        {
          +            ttl = this._explicitWidth;
          +        }
          +        host.set("calculatedWidth", ttl);
          +        host.get("contentBox").setStyle("width", ttl);
          +    }
          +};
          +
          +Y.RightAxisLayout = RightAxisLayout;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ShapeGroup.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ShapeGroup.js
          new file mode 100755
          index 000000000..ec85b66a9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/ShapeGroup.js
          @@ -0,0 +1,178 @@
          +/**
          + * The Charts widget provides an api for displaying data
          + * graphically.
          + *
          + * @module charts
          + * @main charts
          + */
          +var CONFIG = Y.config,
          +    WINDOW = CONFIG.win,
          +    DOCUMENT = CONFIG.doc,
          +    Y_Lang = Y.Lang,
          +    IS_STRING = Y_Lang.isString,
          +    LeftAxisLayout,
          +    RightAxisLayout,
          +    BottomAxisLayout,
          +    TopAxisLayout,
          +    _getClassName = Y.ClassNameManager.getClassName,
          +    SERIES_MARKER = _getClassName("seriesmarker"),
          +    ShapeGroup,
          +    CircleGroup,
          +    RectGroup,
          +    EllipseGroup,
          +    DiamondGroup;
          +
          +/**
          + * Abstract class for creating groups of shapes with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class ShapeGroup
          + * @constructor
          + */
          + ShapeGroup = function(cfg)
          + {
          +    ShapeGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + ShapeGroup.NAME = "shapeGroup";
          +
          + Y.extend(ShapeGroup, Y.Path, {    
          +    /**
          +     * Updates the shape.
          +     *
          +     * @method _draw
          +     * @private
          +     */
          +    _draw: function()
          +    {
          +        var xvalues = this.get("xvalues"),
          +            yvalues = this.get("yvalues"),
          +            x,
          +            y,
          +            xRad,
          +            yRad,
          +            i = 0,
          +            len,
          +            attrs = [],
          +            dimensions = this.get("dimensions"),
          +            width = dimensions.width,
          +            height = dimensions.height,
          +            radius = dimensions.radius,
          +            yRadius = dimensions.yRadius,
          +            id = this.get("id"),
          +            className = this.node.className,
          +            widthIsArray = Y_Lang.isArray(width),
          +            heightIsArray = Y_Lang.isArray(height),
          +            radiusIsArray = Y_Lang.isArray(radius),
          +            yRadiusIsArray = Y_Lang.isArray(yRadius);
          +        if(xvalues && yvalues && xvalues.length > 0)
          +        {
          +            this.clear();
          +
          +            len = xvalues.length;
          +            for(; i < len; ++i)
          +            {
          +                x = xvalues[i];
          +                y = yvalues[i];
          +                xRad = radiusIsArray ? radius[i] : radius;
          +                yRad = yRadiusIsArray ? yRadius[i] : yRadius;
          +                if(!isNaN(x) && !isNaN(y) && !isNaN(xRad))
          +                {
          +                    this.drawShape({
          +                        x: x,
          +                        y: y,
          +                        width: widthIsArray ? width[i] : width,
          +                        height: heightIsArray ? height[i] : height,
          +                        radius: xRad,
          +                        yRadius: yRad 
          +                    });
          +                    this.closePath();
          +                    attrs[i] = {
          +                        id: id + "_" + i,
          +                        className: className,
          +                        coords: (x - this._left) + ", " + (y - this._top)  + ", " + radius,
          +                        shape: "circle"
          +                    };
          +                }
          +            }
          +            this._closePath();
          +        }
          +    },
          +
          +    /**
          +     * Parses and array of lengths into radii
          +     *
          +     * @method _getRadiusCollection
          +     * @param {Array} val Array of lengths
          +     * @return Array
          +     * @private
          +     */
          +    _getRadiusCollection: function(val)
          +    {
          +        var i = 0,
          +            len = val.length,
          +            radii = [];
          +        for(; i < len; ++i)
          +        {   
          +            radii[i] = val[i] * 0.5;
          +        }
          +        return radii;
          +    }
          + });
          +    
          +ShapeGroup.ATTRS = Y.merge(Y.Path.ATTRS, {
          +    dimensions: {
          +        getter: function()
          +        {
          +            var dimensions = this._dimensions,
          +                radius,
          +                yRadius,
          +                width,
          +                height;
          +            if(dimensions.hasOwnProperty("radius"))
          +            {
          +                return dimensions;
          +            }
          +            else
          +            {
          +                width = dimensions.width;
          +                height = dimensions.height;
          +                radius = Y_Lang.isArray(width) ? this._getRadiusCollection(width) : (width * 0.5);
          +                yRadius = Y_Lang.isArray(height) ? this._getRadiusCollection(height) : (height * 0.5);
          +                return {
          +                    width: width,
          +                    height: height,
          +                    radius: radius,
          +                    yRadius: yRadius
          +                };
          +            }
          +        },
          +
          +        setter: function(val)
          +        {
          +            this._dimensions = val;
          +            return val;
          +        }
          +    },
          +    xvalues: {
          +        getter: function()
          +        {
          +            return this._xvalues;
          +        },
          +        setter: function(val)
          +        {
          +            this._xvalues = val;
          +        }
          +    },
          +    yvalues: {
          +        getter: function()
          +        {
          +            return this._yvalues;
          +        },
          +        setter: function(val)
          +        {
          +            this._yvalues = val;
          +        }
          +    }
          +});
          +Y.ShapeGroup = ShapeGroup;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/SplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/SplineSeries.js
          new file mode 100644
          index 000000000..4b7c7bde5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/SplineSeries.js
          @@ -0,0 +1,63 @@
          +/**
          + * SplineSeries renders a graph with data points connected by a curve.
          + *
          + * @module charts
          + * @class SplineSeries
          + * @constructor
          + * @extends CartesianSeries
          + * @uses CurveUtil
          + * @uses Lines
          + */
          +Y.SplineSeries = Y.Base.create("splineSeries",  Y.LineSeries, [Y.CurveUtil, Y.Lines], {
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this.drawSpline();
          +    }
          +}, {
          +	ATTRS : {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default spline
          +         */
          +        type : {
          +            value:"spline"
          +        }
          +
          +        /**
          +         * Style properties used for drawing lines. This attribute is inherited from `Renderer`. Below are the default values:
          +         *  <dl>
          +         *      <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      `["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]`
          +         *      <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +         *      <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +         *      <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +         *      <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *      <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +         *      <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +         *      <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>
          +         *      <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSeries.js
          new file mode 100644
          index 000000000..8a1ac1177
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSeries.js
          @@ -0,0 +1,49 @@
          +/**
          + * StackedAreaSeries area fills to display data showing its contribution to a whole.
          + *
          + * @module charts
          + * @class StackedAreaSeries
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AreaSeries
          + * @uses StackingUtil
          + */
          +Y.StackedAreaSeries = Y.Base.create("stackedAreaSeries", Y.AreaSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     */
          +    setAreaData: function()
          +    {   
          +        Y.StackedAreaSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Draws the series
          +     *
          +     * @method drawSeries
          +     */
          +	drawSeries: function()
          +    {
          +        this.drawFill.apply(this, this._getStackedClosingPoints());
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedArea
          +         */
          +        type: {
          +            value:"stackedArea"
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSplineSeries.js
          new file mode 100644
          index 000000000..4e9d16346
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAreaSplineSeries.js
          @@ -0,0 +1,38 @@
          +/**
          + * StackedAreaSplineSeries creates a stacked area chart with points data points connected by a curve.
          + *
          + * @module charts
          + * @class StackedAreaSplineSeries
          + * @constructor
          + * @extends AreaSeries
          + * @uses CurveUtil
          + * @uses StackingUtil
          + */
          +Y.StackedAreaSplineSeries = Y.Base.create("stackedAreaSplineSeries", Y.AreaSeries, [Y.CurveUtil, Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        this._stackCoordinates();
          +        this.drawStackedAreaSpline();
          +    }
          +}, {
          +    ATTRS : {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedAreaSpline
          +         */
          +        type: {
          +            value:"stackedAreaSpline"
          +        }
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAxis.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAxis.js
          new file mode 100644
          index 000000000..cc200a264
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedAxis.js
          @@ -0,0 +1,102 @@
          +/**
          + * StackedAxis manages stacked numeric data on an axis.
          + *
          + * @module charts
          + * @class StackedAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends NumericAxis
          + */
          +function StackedAxis(config)
          +{
          +	StackedAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +StackedAxis.NAME = "stackedAxis";
          +
          +
          +Y.extend(StackedAxis, Y.NumericAxis,
          +{
          +    /**
          +     * Calculates the maximum and minimum values for the `Axis`.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     */
          +    _updateMinAndMax: function()
          +    {
          +        var max = 0,
          +            min = 0,
          +            pos = 0,
          +            neg = 0,
          +            len = 0,
          +            i = 0,
          +            key,
          +            num,
          +            keys = this.get("keys"),
          +            setMin = this.get("setMin"),
          +            setMax = this.get("setMax");
          +
          +        for(key in keys)
          +        {
          +            if(keys.hasOwnProperty(key))
          +            {
          +                len = Math.max(len, keys[key].length);
          +            }
          +        }
          +        for(; i < len; ++i)
          +        {
          +            pos = 0;
          +            neg = 0;
          +            for(key in keys)
          +            {
          +                if(keys.hasOwnProperty(key))
          +                {
          +                    num = keys[key][i];
          +                    if(isNaN(num))
          +                    {
          +                        continue;
          +                    }
          +                    if(num >= 0)
          +                    {
          +                        pos += num;
          +                    }
          +                    else
          +                    {
          +                        neg += num;
          +                    }
          +                }
          +            }
          +            if(pos > 0)
          +            {
          +                max = Math.max(max, pos);
          +            }
          +            else 
          +            {
          +                max = Math.max(max, neg);
          +            }
          +            if(neg < 0)
          +            {
          +                min = Math.min(min, neg);
          +            }
          +            else
          +            {
          +                min = Math.min(min, pos);
          +            }
          +        }
          +        this._actualMaximum = max;
          +        this._actualMinimum = min;
          +        if(setMax)
          +        {
          +            max = this._setMaximum;
          +        }
          +        if(setMin)
          +        {
          +            min = this._setMinimum;
          +        }
          +        this._roundMinAndMax(min, max, setMin, setMax);
          +    }
          +});
          +
          +Y.StackedAxis = StackedAxis;
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedBarSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedBarSeries.js
          new file mode 100644
          index 000000000..bc800b77e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedBarSeries.js
          @@ -0,0 +1,352 @@
          +/**
          + * The StackedBarSeries renders bar chart in which series are stacked horizontally to show
          + * their contribution to the cumulative total.
          + *
          + * @module charts
          + * @class StackedBarSeries
          + * @extends BarSeries
          + * @uses StackingUtil
          + * @constructor
          + */
          +Y.StackedBarSeries = Y.Base.create("stackedBarSeries", Y.BarSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +	{
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get("styles").marker),
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            seriesCollection = graph.seriesTypes[type],
          +            ratio,
          +            order = this.get("order"),
          +            graphOrder = this.get("graphOrder"),
          +            left,
          +            marker,
          +            lastCollection,
          +            negativeBaseValues,
          +            positiveBaseValues,
          +            fillColors,
          +            borderColors,
          +            useOrigin = order === 0,
          +            totalHeight = len * h,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get("groupMarkers");
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        if(totalHeight > this.get("height"))
          +        {
          +            ratio = this.height/totalHeight;
          +            h *= ratio;
          +            h = Math.max(h, 1);
          +        }
          +        if(!useOrigin)
          +        {
          +            lastCollection = seriesCollection[order - 1];
          +            negativeBaseValues = lastCollection.get("negativeBaseValues");
          +            positiveBaseValues = lastCollection.get("positiveBaseValues");
          +            if(!negativeBaseValues || !positiveBaseValues)
          +            {
          +                useOrigin = true;
          +                positiveBaseValues = [];
          +                negativeBaseValues = [];
          +            }
          +        }
          +        else
          +        {
          +            negativeBaseValues = [];
          +            positiveBaseValues = [];
          +        }
          +        this.set("negativeBaseValues", negativeBaseValues);
          +        this.set("positiveBaseValues", positiveBaseValues);
          +        for(i = 0; i < len; ++i)
          +        {
          +            top = ycoords[i];
          +            left = xcoords[i];
          +            if(!isNumber(top) || !isNumber(left))
          +            {
          +                if(useOrigin)
          +                {
          +                    positiveBaseValues[i] = this._leftOrigin;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                }
          +                this._markers.push(null);
          +                continue;
          +            }
          +            if(useOrigin)
          +            {
          +                w = Math.abs(left - this._leftOrigin);
          +                if(left > this._leftOrigin)
          +                {
          +                    positiveBaseValues[i] = left;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                    left -= w;
          +                }
          +                else if(left < this._leftOrigin)
          +                {   
          +                    positiveBaseValues[i] = this._leftOrigin;
          +                    negativeBaseValues[i] = left;
          +                }
          +                else
          +                {
          +                    positiveBaseValues[i] = left;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                }
          +            }
          +            else
          +            {
          +                if(left < this._leftOrigin)
          +                {
          +                    left = negativeBaseValues[i] - (this._leftOrigin - xcoords[i]);
          +                    w = negativeBaseValues[i] - left;
          +                    negativeBaseValues[i] = left;
          +                }
          +                else if(left >= this._leftOrigin)
          +                {
          +                    left += (positiveBaseValues[i] - this._leftOrigin);
          +                    w = left - positiveBaseValues[i];
          +                    positiveBaseValues[i] = left;
          +                    left -= w;
          +                }
          +            }
          +            if(!isNaN(w) && w > 0)
          +            {
          +                top -= h/2;
          +                if(groupMarkers)
          +                {
          +                    dimensions.width[i] = w;
          +                    dimensions.height[i] = h;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style.width = w;
          +                    style.height = h;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +            }
          +            else if(!groupMarkers)
          +            {
          +                this._markers.push(null);
          +            }
          +        }
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +
          +    /**
          +     * @protected
          +     *
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers[i])
          +        {
          +            var state = this._getState(type),
          +                ycoords = this.get("ycoords"),
          +                marker = this._markers[i],
          +                styles = this.get("styles").marker,
          +                h = styles.height,
          +                markerStyles = state == "off" || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]), 
          +                fillColor,
          +                borderColor;        
          +            markerStyles.y = (ycoords[i] - h/2);
          +            markerStyles.x = marker.get("x");
          +            markerStyles.width = marker.get("width");
          +            markerStyles.id = marker.get("id");
          +            fillColor = markerStyles.fill.color; 
          +            borderColor = markerStyles.border.color;
          +            if(Y_Lang.isArray(fillColor))
          +            {
          +                markerStyles.fill.color = fillColor[i % fillColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            }
          +            if(Y_Lang.isArray(borderColor))
          +            {
          +                markerStyles.border.color = borderColor[i % borderColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            }
          +            marker.set(markerStyles);
          +        }
          +    },
          +	
          +    /**
          +     * @protected
          +     *
          +     * Returns default values for the `styles` attribute.
          +     * 
          +     * @method _getPlotDefaults
          +     * @return Object
          +     */
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: "solid",
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 24,
          +            height: 24,
          +            shape: "rect",
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get("graphOrder"), "fill");
          +        defs.border.color = this._getDefaultColor(this.get("graphOrder"), "border");
          +        return defs;
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedBar
          +         */
          +        type: {
          +            value: "stackedBar"
          +        },
          +
          +        /**
          +         * Direction of the series
          +         *
          +         * @attribute direction
          +         * @type String
          +         * @default vertical
          +         */
          +        direction: {
          +            value: "vertical"
          +        },
          +
          +        /**
          +         * @private
          +         *
          +         * @attribute negativeBaseValues
          +         * @type Array
          +         * @default null
          +         */
          +        negativeBaseValues: {
          +            value: null
          +        },
          +
          +        /**
          +         * @private
          +         *
          +         * @attribute positiveBaseValues
          +         * @type Array
          +         * @default null
          +         */
          +        positiveBaseValues: {
          +            value: null
          +        }
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `BarSeries`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>height</dt><dd>indicates the width of the marker. The default value is 24.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedColumnSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedColumnSeries.js
          new file mode 100644
          index 000000000..53333b32f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedColumnSeries.js
          @@ -0,0 +1,339 @@
          +/**
          + * The StackedColumnSeries renders column chart in which series are stacked vertically to show
          + * their contribution to the cumulative total.
          + *
          + * @module charts
          + * @class StackedColumnSeries
          + * @extends ColumnSeries
          + * @uses StackingUtil
          + * @constructor
          + */
          +Y.StackedColumnSeries = Y.Base.create("stackedColumnSeries", Y.ColumnSeries, [Y.StackingUtil], {
          +    /**
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +	 * @protected
          +	 */
          +	drawSeries: function()
          +	{
          +        if(this.get("xcoords").length < 1) 
          +        {
          +            return;
          +        }
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get("styles").marker), 
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            seriesCollection = graph.seriesTypes[type],
          +            ratio,
          +            order = this.get("order"),
          +            graphOrder = this.get("graphOrder"),
          +            left,
          +            marker,
          +            fillColors,
          +            borderColors,
          +            lastCollection,
          +            negativeBaseValues,
          +            positiveBaseValues,
          +            useOrigin = order === 0,
          +            totalWidth = len * w,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get("groupMarkers");
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        if(totalWidth > this.get("width"))
          +        {
          +            ratio = this.width/totalWidth;
          +            w *= ratio;
          +            w = Math.max(w, 1);
          +        }
          +        if(!useOrigin)
          +        {
          +            lastCollection = seriesCollection[order - 1];
          +            negativeBaseValues = lastCollection.get("negativeBaseValues");
          +            positiveBaseValues = lastCollection.get("positiveBaseValues");
          +            if(!negativeBaseValues || !positiveBaseValues)
          +            {
          +                useOrigin = true;
          +                positiveBaseValues = [];
          +                negativeBaseValues = [];
          +            }
          +        }
          +        else
          +        {
          +            negativeBaseValues = [];
          +            positiveBaseValues = [];
          +        }
          +        this.set("negativeBaseValues", negativeBaseValues);
          +        this.set("positiveBaseValues", positiveBaseValues);
          +        for(i = 0; i < len; ++i)
          +        {
          +            left = xcoords[i];
          +            top = ycoords[i];
          +            
          +            if(!isNumber(top) || !isNumber(left))
          +            {
          +                if(useOrigin)
          +                {
          +                    negativeBaseValues[i] = this._bottomOrigin;
          +                    positiveBaseValues[i] = this._bottomOrigin;
          +                }
          +                this._markers.push(null); 
          +                continue;
          +            }
          +            if(useOrigin)
          +            {
          +                h = Math.abs(this._bottomOrigin - top);
          +                if(top < this._bottomOrigin)
          +                {
          +                    positiveBaseValues[i] = top;
          +                    negativeBaseValues[i] = this._bottomOrigin;
          +                }
          +                else if(top > this._bottomOrigin)
          +                {
          +                    positiveBaseValues[i] = this._bottomOrigin;
          +                    negativeBaseValues[i] = top;
          +                    top -= h;
          +                }
          +                else
          +                {
          +                    positiveBaseValues[i] = top;
          +                    negativeBaseValues[i] = top;
          +                }
          +            }
          +            else 
          +            {
          +                if(top > this._bottomOrigin)
          +                {
          +                    top += (negativeBaseValues[i] - this._bottomOrigin);
          +                    h = top - negativeBaseValues[i];
          +                    negativeBaseValues[i] = top;
          +                    top -= h;
          +                }
          +                else if(top <= this._bottomOrigin)
          +                {
          +                    top = positiveBaseValues[i] - (this._bottomOrigin - top);
          +                    h = positiveBaseValues[i] - top;
          +                    positiveBaseValues[i] = top;
          +                }
          +            }
          +            if(!isNaN(h) && h > 0)
          +            {
          +                left -= w/2;
          +                if(groupMarkers)
          +                {
          +                    dimensions.width[i] = w;
          +                    dimensions.height[i] = h;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style.width = w;
          +                    style.height = h;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +            }
          +            else if(!groupMarkers)
          +            {
          +               this._markers.push(null);
          +            }
          +        }
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +
          +    /**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     */
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers && this._markers[i])
          +        {
          +            var styles,
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get("xcoords"),
          +                marker = this._markers[i],
          +                offset = 0,
          +                fillColor,
          +                borderColor;        
          +            styles = this.get("styles").marker;
          +            offset = styles.width * 0.5;
          +            markerStyles = state == "off" || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]); 
          +            markerStyles.height = marker.get("height");
          +            markerStyles.x = (xcoords[i] - offset);
          +            markerStyles.y = marker.get("y");
          +            markerStyles.id = marker.get("id");
          +            fillColor = markerStyles.fill.color; 
          +            borderColor = markerStyles.border.color;
          +            if(Y_Lang.isArray(fillColor))
          +            {
          +                markerStyles.fill.color = fillColor[i % fillColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            }
          +            if(Y_Lang.isArray(borderColor))
          +            {
          +                markerStyles.border.color = borderColor[i % borderColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            }
          +            marker.set(markerStyles);
          +        }
          +    },
          +	
          +    /**
          +     * Gets the default values for the markers. 
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     */
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: "solid",
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 24,
          +            height: 24,
          +            shape: "rect",
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get("graphOrder"), "fill");
          +        defs.border.color = this._getDefaultColor(this.get("graphOrder"), "border");
          +        return defs;
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedColumn
          +         */
          +        type: {
          +            value: "stackedColumn"
          +        },
          +
          +        /**
          +         * @attribute negativeBaseValues
          +         * @type Array
          +         * @default null
          +         * @private
          +         */
          +        negativeBaseValues: {
          +            value: null
          +        },
          +
          +        /**
          +         * @attribute positiveBaseValues
          +         * @type Array
          +         * @default null
          +         * @private
          +         */
          +        positiveBaseValues: {
          +            value: null
          +        }
          +        
          +        /**
          +         * Style properties used for drawing markers. This attribute is inherited from `ColumnSeries`. Below are the default values:
          +         *  <dl>
          +         *      <dt>fill</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
          +         *              </dd>
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>border</dt><dd>A hash containing the following values:
          +         *          <dl>
          +         *              <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:<br/>
          +         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
          +         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         *          </dl>
          +         *      </dd>
          +         *      <dt>width</dt><dd>indicates the width of the marker. The default value is 24.</dd>
          +         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
          +         *  </dl>
          +         *
          +         * @attribute styles
          +         * @type Object
          +         */
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSeries.js
          new file mode 100644
          index 000000000..df8e3c058
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSeries.js
          @@ -0,0 +1,74 @@
          +/**
          + * The StackedComboSeries class renders a combination of lines, plots and area fills in a single series. Series
          + * are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          + * rendered.  
          + *
          + * @module charts
          + * @class StackedComboSeries
          + * @extends ComboSeries
          + * @uses StackingUtil
          + * @constructor
          + */
          +Y.StackedComboSeries = Y.Base.create("stackedComboSeries", Y.ComboSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     */
          +    setAreaData: function()
          +    {   
          +        Y.StackedComboSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    },
          +	
          +    /**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     */
          +    drawSeries: function()
          +    {
          +        if(this.get("showAreaFill"))
          +        {
          +            this.drawFill.apply(this, this._getStackedClosingPoints());
          +        }
          +        if(this.get("showLines")) 
          +        {
          +            this.drawLines();
          +        }
          +        if(this.get("showMarkers"))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +    
          +}, {
          +    ATTRS : {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedCombo
          +         */
          +        type: {
          +            value: "stackedCombo"
          +        },
          +
          +        /**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default true
          +         */
          +        showAreaFill: {
          +            value: true
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSplineSeries.js
          new file mode 100644
          index 000000000..102e72fac
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedComboSplineSeries.js
          @@ -0,0 +1,60 @@
          +/**
          + * The StackedComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Series
          + * are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          + * rendered.  
          + *
          + * @module charts
          + * @class StackedComboSplineSeries
          + * @extends StackedComboSeries
          + * @uses CurveUtil
          + * @constructor
          + */
          +Y.StackedComboSplineSeries = Y.Base.create("stackedComboSplineSeries", Y.StackedComboSeries, [Y.CurveUtil], {
          +    /**
          +	 * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +	 */
          +	drawSeries: function()
          +    {
          +        if(this.get("showAreaFill"))
          +        {
          +            this.drawStackedAreaSpline();
          +        }
          +        if(this.get("showLines")) 
          +        {
          +            this.drawSpline();
          +        }
          +        if(this.get("showMarkers"))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedComboSpline
          +         */
          +        type : {
          +            value : "stackedComboSpline"
          +        },
          +
          +        /**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default true
          +         */
          +        showAreaFill: {
          +            value: true
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedLineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedLineSeries.js
          new file mode 100644
          index 000000000..a2deb4913
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedLineSeries.js
          @@ -0,0 +1,37 @@
          +/**
          + * StackedLineSeries creates line graphs in which the different series are stacked along a value axis
          + * to indicate their contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedLineSeries
          + * @constructor
          + * @extends  LineSeries
          + * @uses StackingUtil
          + */
          +Y.StackedLineSeries = Y.Base.create("stackedLineSeries", Y.LineSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     */
          +    setAreaData: function()
          +    {   
          +        Y.StackedLineSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedLine
          +         */
          +        type: {
          +            value:"stackedLine"
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedMarkerSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedMarkerSeries.js
          new file mode 100644
          index 000000000..52e1dc4e4
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedMarkerSeries.js
          @@ -0,0 +1,38 @@
          +/**
          + * StackedMarkerSeries plots markers with different series stacked along the value axis to indicate each
          + * series' contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedMarkerSeries
          + * @constructor
          + * @extends MarkerSeries
          + * @extends StackingUtil
          + */
          +Y.StackedMarkerSeries = Y.Base.create("stackedMarkerSeries", Y.MarkerSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     */
          +    setAreaData: function()
          +    {   
          +        Y.StackedMarkerSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedMarker
          +         */
          +        type: {
          +            value:"stackedMarker"
          +        }
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedSplineSeries.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedSplineSeries.js
          new file mode 100644
          index 000000000..ec3ef3337
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackedSplineSeries.js
          @@ -0,0 +1,38 @@
          +/**
          + * StackedSplineSeries creates spline graphs in which the different series are stacked along a value axis
          + * to indicate their contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedSplineSeries
          + * @constructor
          + * @extends SplineSeries
          + * @extends StackingUtil
          + */
          +Y.StackedSplineSeries = Y.Base.create("stackedSplineSeries", Y.SplineSeries, [Y.StackingUtil], {
          +    /**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     */
          +    setAreaData: function()
          +    {   
          +        Y.StackedSplineSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        /**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedSpline
          +         */
          +        type: {
          +            value:"stackedSpline"
          +        }
          +    }
          +});
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackingUtil.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackingUtil.js
          new file mode 100644
          index 000000000..409ba93c5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/StackingUtil.js
          @@ -0,0 +1,62 @@
          +/**
          + * Utility class used for creating stacked series.
          + *
          + * @module charts
          + * @class StackingUtil
          + * @constructor
          + */
          +function StackingUtil(){}
          +
          +StackingUtil.prototype = {
          +    /**
          +     * @protected
          +     *
          +     * Adjusts coordinate values for stacked series.
          +     *
          +     * @method _stackCoordinates
          +     */
          +    _stackCoordinates: function() 
          +    {
          +        var direction = this.get("direction"),
          +            order = this.get("order"),
          +            type = this.get("type"),
          +            graph = this.get("graph"),
          +            h = graph.get("height"), 
          +            seriesCollection = graph.seriesTypes[type],
          +            i = 0,
          +            len,
          +            xcoords = this.get("xcoords"),
          +            ycoords = this.get("ycoords"),
          +            prevXCoords,
          +            prevYCoords;
          +        if(order === 0)
          +        {
          +            return;
          +        }
          +        prevXCoords = seriesCollection[order - 1].get("xcoords").concat();
          +        prevYCoords = seriesCollection[order - 1].get("ycoords").concat();
          +        if(direction === "vertical")
          +        {
          +            len = prevXCoords.length;
          +            for(; i < len; ++i)
          +            {
          +                if(!isNaN(prevXCoords[i]) && !isNaN(xcoords[i]))
          +                {
          +                    xcoords[i] += prevXCoords[i];
          +                }
          +            }
          +        }
          +        else
          +        {
          +            len = prevYCoords.length;
          +            for(; i < len; ++i)
          +            {
          +                if(!isNaN(prevYCoords[i]) && !isNaN(ycoords[i]))
          +                {
          +                    ycoords[i] = prevYCoords[i] - (h - ycoords[i]);
          +                }
          +            }
          +        }
          +    }
          +};
          +Y.StackingUtil = StackingUtil;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TimeAxis.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TimeAxis.js
          new file mode 100644
          index 000000000..47405fe2e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TimeAxis.js
          @@ -0,0 +1,338 @@
          +/**
          + * TimeAxis manages time data on an axis.
          + *
          + * @module charts
          + * @class TimeAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + */
          +function TimeAxis(config)
          +{
          +	TimeAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +TimeAxis.NAME = "timeAxis";
          +
          +TimeAxis.ATTRS = 
          +{
          +    /**
          +     * Indicates whether the maximum is calculated or explicitly set. 
          +     *
          +     * @attribute setMax
          +     * @readOnly
          +     * @type Boolean
          +     * @private
          +     */
          +    setMax: {
          +        readOnly: true,
          +
          +        getter: function()
          +        {
          +            var max = this._getNumber(this._setMaximum);
          +            return (Y_Lang.isNumber(max));
          +        }
          +    },
          +
          +    /**
          +     * Indicates whether the minimum is calculated or explicitly set. 
          +     *
          +     * @attribute setMin
          +     * @readOnly
          +     * @type Boolean
          +     * @private
          +     */
          +    setMin: {
          +        readOnly: true,
          +
          +        getter: function()
          +        {
          +            var min = this._getNumber(this._setMinimum);
          +            return (Y_Lang.isNumber(min));
          +        }
          +    },
          +
          +    /**
          +     * The maximum value that will appear on an axis. Unless explicitly set, this value is calculated by the `Axis`.
          +     *
          +     * @attribute maximum
          +     * @type Number
          +     */
          +    maximum: {
          +        getter: function ()
          +        {
          +            var max = this._getNumber(this._setMaximum);
          +            if(!Y_Lang.isNumber(max))
          +            {
          +                max = this._getNumber(this.get("dataMaximum"));
          +            }
          +            return parseFloat(max);
          +        },
          +        setter: function (value)
          +        {
          +            this._setMaximum = this._getNumber(value);
          +            return value;
          +        }
          +    },
          +
          +    /**
          +     * The minimum value that will appear on an axis. Unless explicitly set, this value is calculated by the `Axis`.
          +     *
          +     * @attribute minimum
          +     * @type Number
          +     */
          +    minimum: {
          +        getter: function ()
          +        {
          +            var min = this._getNumber(this._setMinimum);
          +            if(!Y_Lang.isNumber(min)) 
          +            {
          +                min = this._getNumber(this.get("dataMinimum"));
          +            }
          +            return parseFloat(min);
          +        },
          +        setter: function (value)
          +        {
          +            this._setMinimum = this._getNumber(value);
          +            return value;
          +        }
          +    },
          +
          +    /**
          +     * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +     * to implement the arguments below and return a `String` or an `HTMLElement`. The default implementation of the method returns a `String`. The output of this method
          +     * will be rendered to the DOM using `appendChild`. If you override the `labelFunction` method and return an html string, you will also need to override the Axis' 
          +     * `appendLabelFunction` to accept html as a `String`.
          +     * <dl>
          +     *      <dt>val</dt><dd>Label to be formatted. (`String`)</dd>
          +     *      <dt>format</dt><dd>STRFTime string used to format the label. (optional)</dd>
          +     * </dl>
          +     *
          +     * @attribute labelFunction
          +     * @type Function
          +     */
          +    labelFunction: {
          +        value: function(val, format)
          +        {
          +            val = Y.DataType.Date.parse(val);
          +            if(format)
          +            {
          +                return Y.DataType.Date.format(val, {format:format});
          +            }
          +            return val;
          +        }
          +    },
          +
          +    /**
          +     * Pattern used by the `labelFunction` to format a label.
          +     *
          +     * @attribute labelFormat
          +     * @type String
          +     */
          +    labelFormat: {
          +        value: "%b %d, %y"
          +    }
          +};
          +
          +Y.extend(TimeAxis, Y.AxisType, {
          +    /**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     */
          +    formatLabel: function(val, format)
          +    {
          +        val = Y.DataType.Date.parse(val);
          +        if(format)
          +        {
          +            return Y.DataType.Date.format(val, {format:format});
          +        }
          +        return val;
          +    },
          +
          +    /**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     */
          +    GUID: "yuitimeaxis",
          +	
          +    /**
          +     * Type of data used in `Axis`.
          +     *
          +     * @property _dataType
          +     * @readOnly
          +     * @private
          +     */
          +    _dataType: "time",
          +	
          +    /**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     */
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get("minimum"),
          +            max = this.get("maximum"),
          +            position = this.get("position"),
          +            increm,
          +            label;
          +            l -= 1;
          +        increm = ((max - min)/l) * i;
          +        if(position == "bottom" || position == "top")
          +        {
          +            label = min + increm;
          +        }
          +        else
          +        {
          +            label = max - increm;
          +        }
          +        return label;
          +    },
          +
          +    /**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     */
          +    _getKeyArray: function(key, data)
          +    {
          +        var obj,
          +            keyArray = [],
          +            i = 0,
          +            val,
          +            len = data.length;
          +        for(; i < len; ++i)
          +        {
          +            obj = data[i][key];
          +            if(Y_Lang.isDate(obj))
          +            {   
          +                val = obj.valueOf();
          +            }
          +            else
          +            {
          +                val = new Date(obj);
          +                if(Y_Lang.isDate(val))
          +                {
          +                    val = val.valueOf();
          +                }
          +                else if(!Y_Lang.isNumber(obj))
          +                {
          +                    if(Y_Lang.isNumber(parseFloat(obj)))
          +                    {
          +                        val = parseFloat(obj);
          +                    }
          +                    else
          +                    {
          +                        if(typeof obj != "string")
          +                        {
          +                            obj = obj;
          +                        }
          +                        val = new Date(obj).valueOf();
          +                    }
          +                }
          +                else
          +                {
          +                    val = obj;
          +                }
          +            }
          +            keyArray[i] = val;
          +        }
          +        return keyArray;
          +    },
          +
          +    /**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     */
          +    _setDataByKey: function(key, data)
          +    {
          +        var obj, 
          +            arr = [], 
          +            dv = this._dataClone.concat(), 
          +            i, 
          +            val,
          +            len = dv.length;
          +        for(i = 0; i < len; ++i)
          +        {
          +            obj = dv[i][key];
          +            if(Y_Lang.isDate(obj))
          +            {   
          +                val = obj.valueOf();
          +            }
          +            else
          +            {
          +                val = new Date(obj);
          +                if(Y_Lang.isDate(val))
          +                {
          +                    val = val.valueOf();
          +                }
          +                else if(!Y_Lang.isNumber(obj))
          +                {
          +                    if(Y_Lang.isNumber(parseFloat(obj)))
          +                    {
          +                        val = parseFloat(obj);
          +                    }
          +                    else
          +                    {
          +                        if(typeof obj != "string")
          +                        {
          +                            obj = obj.toString();
          +                        }
          +                        val = new Date(obj).valueOf();
          +                    }
          +                }
          +                else
          +                {
          +                    val = obj;
          +                }
          +            }
          +            arr[i] = val;
          +        }
          +        this.get("keys")[key] = arr;
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    /**
          +     * Parses value into a number.
          +     *
          +     * @method _getNumber
          +     * @param val {Object} Value to parse into a number
          +     * @return Number
          +     * @private
          +     */
          +    _getNumber: function(val)
          +    {
          +        if(Y_Lang.isDate(val))
          +        {
          +            val = val.valueOf();
          +        }
          +        else if(!Y_Lang.isNumber(val) && val)
          +        {
          +            val = new Date(val).valueOf();
          +        }
          +
          +        return val;
          +    }
          +});
          +
          +Y.TimeAxis = TimeAxis;
          +		
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TopAxisLayout.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TopAxisLayout.js
          new file mode 100644
          index 000000000..2284bf849
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/charts/TopAxisLayout.js
          @@ -0,0 +1,379 @@
          +/**
          + * Contains algorithms for rendering a top axis.
          + *
          + * @module charts
          + * @class TopAxisLayout
          + * @constructor
          + */
          +TopAxisLayout = function(){};
          +
          +TopAxisLayout.prototype = {
          +    /**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     */
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 0,
          +            right: 0,
          +            bottom: 4
          +        };
          +    },
          +    
          +    /**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffsets
          +     * @protected
          +     */
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get("styles").majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set("leftTickOffset",  0);
          +        host.set("rightTickOffset",  0);
          +        switch(display)
          +        {
          +            case "inside" :
          +                host.set("bottomTickOffset", tickLength);
          +                host.set("topTickOffset", 0);
          +            break;
          +            case "outside" : 
          +                host.set("bottomTickOffset", 0);
          +                host.set("topTickOffset",  tickLength);
          +            break;
          +            case "cross" :
          +                host.set("topTickOffset", halfTick);
          +                host.set("bottomTickOffset", halfTick);
          +            break;
          +            default:
          +                host.set("topTickOffset", 0);
          +                host.set("bottomTickOffset", 0);
          +            break;
          +        }
          +    },
          +
          +    /**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @protected
          +     */
          +    getLineStart: function()
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:0, y:padding.top};
          +        if(display === "outside")
          +        {
          +            pt.y += tickLength;
          +        }
          +        else if(display === "cross")
          +        {
          +            pt.y += tickLength/2;
          +        }
          +        return pt; 
          +    },
          +    
          +    /**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path `Path` element in which to draw the tick.
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @param {Object} tickStyles hash of properties used to draw the tick
          +     * @protected
          +     */
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get("styles"),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:pt.x, y:padding.top},
          +            end = {x:pt.x, y:tickLength + padding.top};
          +        host.drawLine(path, start, end);
          +    },
          +    
          +    /**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @return Object
          +     * @protected
          +     */
          +    getLabelPoint: function(pt)
          +    {
          +        return {x:pt.x, y:pt.y - this.get("topTickOffset")};
          +    },
          +    
          +    /**
          +     * Updates the value for the `maxLabelSize` for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     */
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelHeight;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelWidth;
          +        }
          +        else
          +        {
          +            max = (sinRadians * labelWidth) + (cosRadians * labelHeight); 
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +
          +    /**
          +     * Determines the available label height when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     */
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitHeight)
          +        {
          +            var host = this,
          +                h = host._explicitHeight,
          +                totalTitleSize = host._totalTitleSize,
          +                topTickOffset = host.get("topTickOffset"),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  h - (topTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    /**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     */
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get("styles").title.margin,
          +            props = host._titleRotationProps,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            h = bounds.bottom - bounds.top,
          +            x = (host.get("width") * 0.5) - (labelWidth * 0.5),
          +            y = h/2 - labelHeight/2;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin && margin.top)
          +        {
          +            y += margin.top;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    /**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     */
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            totalTitleSize = this._totalTitleSize,
          +            maxLabelSize = host._maxLabelSize,
          +            leftOffset = pt.x,
          +            topOffset = pt.y + totalTitleSize + maxLabelSize,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(rot === 0)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                leftOffset -= labelWidth;
          +                topOffset -= (labelHeight * 0.5);
          +            }
          +            else if (rot === -90)
          +            {
          +                topOffset -= (labelHeight * 0.5);
          +            }    
          +            else if(rot > 0)
          +            {
          +                leftOffset -= labelWidth;
          +                topOffset -= labelHeight - (labelHeight * rot/180);
          +            }
          +            else
          +            {
          +                topOffset -= labelHeight - (labelHeight * absRot/180);
          +            }
          +        }
          +        props.x = Math.round(leftOffset);
          +        props.y = Math.round(topOffset);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        this._rotate(label, props);
          +    },
          +
          +    /**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     */
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight,
          +            leftOffset,
          +            topOffset;
          +        if(rot === 0)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                leftOffset = labelWidth;
          +                topOffset = (labelHeight * 0.5);
          +            }
          +            else if (rot === -90)
          +            {
          +                topOffset = (labelHeight * 0.5);
          +            }    
          +            else if(rot > 0)
          +            {
          +                leftOffset = labelWidth;
          +                topOffset = labelHeight - (labelHeight * rot/180);
          +            }
          +            else
          +            {
          +                topOffset = labelHeight - (labelHeight * absRot/180);
          +            }
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    /**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     */
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                transformOrigin = [1, 0.5];
          +            }
          +            else if (rot === -90)
          +            {
          +                transformOrigin = [0, 0.5];
          +            }    
          +            else if(rot > 0)
          +            {
          +                transformOrigin = [1, 0.5];
          +            }
          +            else
          +            {
          +                transformOrigin = [0, 0.5];
          +            }
          +        }
          +        return transformOrigin;
          +    },
          +
          +    /**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     */
          +    offsetNodeForTick: function(cb)
          +    {
          +    },
          +
          +    /**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     */
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            graphic = host.get("graphic"),
          +            styles = host.get("styles"),
          +            labelMargin = styles.label.margin,
          +            totalLabelSize = labelMargin.bottom + host._maxLabelSize,
          +            totalTitleSize = host._totalTitleSize,
          +            topTickOffset = this.get("topTickOffset"),
          +            ttl = Math.round(topTickOffset + totalLabelSize + totalTitleSize);
          +        if(this._explicitHeight)
          +        {
          +           ttl = this._explicitWidth; 
          +        }
          +        host.set("calculatedHeight", ttl);
          +        graphic.set("y", ttl - topTickOffset);
          +    }
          +};
          +Y.TopAxisLayout = TopAxisLayout;
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/inherit/examplemodule.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/inherit/examplemodule.js
          new file mode 100644
          index 000000000..2970575bb
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/inherit/examplemodule.js
          @@ -0,0 +1,102 @@
          +/**
          + * This is my example module
          + * @module ExampleModule
          + * @example
          + *
          + *     var bar;
          + *
          + */
          +
          +YUI.add('examplemodule', function (Y) {
          +        Y.namespace('mywidget');
          +        
          +        /**
          +         * <b>Superclass</b> description.<br>This is a second line too.
          +         * 
          +         * @constructor
          +         * @class SuperWidget
          +         * @extends Widget
          +         * @namespace mywidget
          +         * @example
          +         *
          +         *     var bar;
          +         *
          +         */
          +        Y.mywidget.superwidget = Y.Base.create("mysuperwidget", Y.Widget, [], {
          +                
          +                /**
          +                 * <b>Supermethod</b> description.<br>This is a second line.
          +                 * 
          +                 * @method myMethod
          +                 * @async
          +                 */
          +                myMethod: function () {}
          +                
          +                /**
          +                * Overwritten method see {{#crossLink "mywidget.SuperWidget"}}{{/crossLink}}
          +                * also see {{#crossLink "mywidget.SuperWidget/myMethod"}}{{/crossLink}}
          +                * This is also a test {{#davglass "Foo"}}{{/davglass}}
          +                * @method getTargets2
          +                * @example
          +                *
          +                *     var bar;
          +                *
          +                */
          +                /**
          +                * Override Attribute
          +                * @attribute focused2
          +                * @optional
          +                */
          +
          +                /**
          +                * Override Attribute
          +                * @attribute focused3
          +                * @required
          +                */
          +
          +                /**
          +                * Override Property
          +                * @property name2
          +                * @type String
          +                */
          +
          +                /**
          +                * Override Event
          +                * @event init2
          +                */
          +                 
          +        }, {
          +        
          +        });
          +        
          +        /**
          +         * Subclass description.
          +         * 
          +         * @constructor
          +         * @namespace mywidget
          +         * @class SubWidget
          +         * @extends mywidget.SuperWidget
          +         */
          +        Y.mywidget.superwidget = Y.Base.create("mysuperwidget", Y.mywidget.superwidget, [], {
          +                
          +                /**
          +                 * Submethod description.
          +                 * 
          +                 * @method myMethod
          +                 * @param {boolean} d Foo
          +                 */
          +                myMethod: function () {}
          +                 
          +        }, {
          +        
          +        });
          +
          +        /**
          +         * Subclass description.
          +         * 
          +         * @constructor
          +         * @namespace mywidget
          +         * @class SubWidget2
          +         * @extends Accordion
          +         */
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/parse.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/parse.js
          new file mode 100644
          index 000000000..55fa73990
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/parse.js
          @@ -0,0 +1,225 @@
          +/**
          + * <p>The JSON module adds support for serializing JavaScript objects into
          + * JSON strings and parsing JavaScript objects from strings in JSON format.</p>
          + *
          + * <p>The JSON namespace is added to your YUI instance including static methods
          + * Y.JSON.parse(..) and Y.JSON.stringify(..).</p>
          + *
          + * <p>The functionality and method signatures follow the ECMAScript 5
          + * specification.  In browsers with native JSON support, the native
          + * implementation is used.</p>
          + *
          + * <p>The <code>json</code> module is a rollup of <code>json-parse</code> and
          + * <code>json-stringify</code>.</p>
          + * 
          + * <p>As their names suggest, <code>json-parse</code> adds support for parsing
          + * JSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing
          + * JavaScript data into JSON strings (Y.JSON.stringify).  You may choose to
          + * include either of the submodules individually if you don't need the
          + * complementary functionality, or include the rollup for both.</p>
          + *
          + * @module json
          + * @main json
          + * @class JSON
          + * @static
          + */
          +
          +/**
          + * Provides Y.JSON.parse method to accept JSON strings and return native
          + * JavaScript objects.
          + *
          + * @module json
          + * @submodule json-parse
          + * @for JSON
          + * @static
          + */
          +
          +
          +// All internals kept private for security reasons
          +function fromGlobal(ref) {
          +    return (Y.config.win || this || {})[ref];
          +}
          +
          +
          +    /**
          +     * Alias to native browser implementation of the JSON object if available.
          +     *
          +     * @property Native
          +     * @type {Object}
          +     * @private
          +     */
          +var _JSON  = fromGlobal('JSON'),
          +
          +    Native = (Object.prototype.toString.call(_JSON) === '[object JSON]' && _JSON),
          +    useNative = !!Native,
          +
          +    /**
          +     * Replace certain Unicode characters that JavaScript may handle incorrectly
          +     * during eval--either by deleting them or treating them as line
          +     * endings--with escape sequences.
          +     * IMPORTANT NOTE: This regex will be used to modify the input if a match is
          +     * found.
          +     *
          +     * @property _UNICODE_EXCEPTIONS
          +     * @type {RegExp}
          +     * @private
          +     */
          +    _UNICODE_EXCEPTIONS = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
          +
          +
          +    /**
          +     * First step in the safety evaluation.  Regex used to replace all escape
          +     * sequences (i.e. "\\", etc) with '@' characters (a non-JSON character).
          +     *
          +     * @property _ESCAPES
          +     * @type {RegExp}
          +     * @private
          +     */
          +    _ESCAPES = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
          +
          +    /**
          +     * Second step in the safety evaluation.  Regex used to replace all simple
          +     * values with ']' characters.
          +     *
          +     * @property _VALUES
          +     * @type {RegExp}
          +     * @private
          +     */
          +    _VALUES  = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
          +
          +    /**
          +     * Third step in the safety evaluation.  Regex used to remove all open
          +     * square brackets following a colon, comma, or at the beginning of the
          +     * string.
          +     *
          +     * @property _BRACKETS
          +     * @type {RegExp}
          +     * @private
          +     */
          +    _BRACKETS = /(?:^|:|,)(?:\s*\[)+/g,
          +
          +    /**
          +     * Final step in the safety evaluation.  Regex used to test the string left
          +     * after all previous replacements for invalid characters.
          +     *
          +     * @property _UNSAFE
          +     * @type {RegExp}
          +     * @private
          +     */
          +    _UNSAFE = /[^\],:{}\s]/,
          +    
          +    /**
          +     * Replaces specific unicode characters with their appropriate \unnnn
          +     * format. Some browsers ignore certain characters during eval.
          +     *
          +     * @method escapeException
          +     * @param c {String} Unicode character
          +     * @return {String} the \unnnn escapement of the character
          +     * @private
          +     */
          +    _escapeException = function (c) {
          +        return '\\u'+('0000'+(+(c.charCodeAt(0))).toString(16)).slice(-4);
          +    },
          +
          +    /**
          +     * Traverses nested objects, applying a reviver function to each (key,value)
          +     * from the scope if the key:value's containing object.  The value returned
          +     * from the function will replace the original value in the key:value pair.
          +     * If the value returned is undefined, the key will be omitted from the
          +     * returned object.
          +     *
          +     * @method _revive
          +     * @param data {MIXED} Any JavaScript data
          +     * @param reviver {Function} filter or mutation function
          +     * @return {MIXED} The results of the filtered data
          +     * @private
          +     */
          +    _revive = function (data, reviver) {
          +        var walk = function (o,key) {
          +            var k,v,value = o[key];
          +            if (value && typeof value === 'object') {
          +                for (k in value) {
          +                    if (value.hasOwnProperty(k)) {
          +                        v = walk(value, k);
          +                        if (v === undefined) {
          +                            delete value[k];
          +                        } else {
          +                            value[k] = v;
          +                        }
          +                    }
          +                }
          +            }
          +            return reviver.call(o,key,value);
          +        };
          +
          +        return typeof reviver === 'function' ? walk({'':data},'') : data;
          +    },
          +
          +    /**
          +     * Parse a JSON string, returning the native JavaScript representation.
          +     *
          +     * @param s {string} JSON string data
          +     * @param reviver {function} (optional) function(k,v) passed each key value
          +     *          pair of object literals, allowing pruning or altering values
          +     * @return {MIXED} the native JavaScript representation of the JSON string
          +     * @throws SyntaxError
          +     * @method parse
          +     * @static
          +     */
          +    // JavaScript implementation in lieu of native browser support.  Based on
          +    // the json2.js library from http://json.org
          +    _parse = function (s,reviver) {
          +        // Replace certain Unicode characters that are otherwise handled
          +        // incorrectly by some browser implementations.
          +        // NOTE: This modifies the input if such characters are found!
          +        s = s.replace(_UNICODE_EXCEPTIONS, _escapeException);
          +        
          +        // Test for any remaining invalid characters
          +        if (!_UNSAFE.test(s.replace(_ESCAPES,'@').
          +                            replace(_VALUES,']').
          +                            replace(_BRACKETS,''))) {
          +
          +            // Eval the text into a JavaScript data structure, apply any
          +            // reviver function, and return
          +            return _revive( EVAL_TOKEN('(' + s + ')'), reviver );
          +        }
          +
          +        throw new SyntaxError('JSON.parse');
          +    };
          +    
          +Y.namespace('JSON').parse = function (s,reviver) {
          +        if (typeof s !== 'string') {
          +            s += '';
          +        }
          +
          +        return Native && Y.JSON.useNativeParse ?
          +            Native.parse(s,reviver) : _parse(s,reviver);
          +};
          +
          +function workingNative( k, v ) {
          +    return k === "ok" ? true : v;
          +}
          +
          +// Double check basic functionality.  This is mainly to catch early broken
          +// implementations of the JSON API in Firefox 3.1 beta1 and beta2
          +if ( Native ) {
          +    try {
          +        useNative = ( Native.parse( '{"ok":false}', workingNative ) ).ok;
          +    }
          +    catch ( e ) {
          +        useNative = false;
          +    }
          +}
          +
          +/**
          + * Leverage native JSON parse if the browser has a native implementation.
          + * In general, this is a good idea.  See the Known Issues section in the
          + * JSON user guide for caveats.  The default value is true for browsers with
          + * native JSON support.
          + *
          + * @property useNativeParse
          + * @type Boolean
          + * @default true
          + * @static
          + */
          +Y.JSON.useNativeParse = useNative;
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/stringify.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/stringify.js
          new file mode 100644
          index 000000000..4ec366445
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/json/stringify.js
          @@ -0,0 +1,343 @@
          +/**
          + * Provides Y.JSON.stringify method for converting objects to JSON strings.
          + *
          + * @module json
          + * @submodule json-stringify
          + * @for JSON
          + * @static
          + */
          +var _JSON     = (Y.config.win || {}).JSON,
          +    Lang      = Y.Lang,
          +    isFunction= Lang.isFunction,
          +    isObject  = Lang.isObject,
          +    isArray   = Lang.isArray,
          +    _toStr    = Object.prototype.toString,
          +    Native    = (_toStr.call(_JSON) === '[object JSON]' && _JSON),
          +    useNative = !!Native,
          +    UNDEFINED = 'undefined',
          +    OBJECT    = 'object',
          +    NULL      = 'null',
          +    STRING    = 'string',
          +    NUMBER    = 'number',
          +    BOOLEAN   = 'boolean',
          +    DATE      = 'date',
          +    _allowable= {
          +        'undefined'        : UNDEFINED,
          +        'string'           : STRING,
          +        '[object String]'  : STRING,
          +        'number'           : NUMBER,
          +        '[object Number]'  : NUMBER,
          +        'boolean'          : BOOLEAN,
          +        '[object Boolean]' : BOOLEAN,
          +        '[object Date]'    : DATE,
          +        '[object RegExp]'  : OBJECT
          +    },
          +    EMPTY     = '',
          +    OPEN_O    = '{',
          +    CLOSE_O   = '}',
          +    OPEN_A    = '[',
          +    CLOSE_A   = ']',
          +    COMMA     = ',',
          +    COMMA_CR  = ",\n",
          +    CR        = "\n",
          +    COLON     = ':',
          +    COLON_SP  = ': ',
          +    QUOTE     = '"',
          +
          +    // Regex used to capture characters that need escaping before enclosing
          +    // their containing string in quotes.
          +    _SPECIAL = /[\x00-\x07\x0b\x0e-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
          +
          +    // Character substitution map for common escapes and special characters.
          +    _COMMON = [
          +        [/\\/g, '\\\\'],
          +        [/\"/g, '\\"'],
          +        [/\x08/g, '\\b'],
          +        [/\x09/g, '\\t'],
          +        [/\x0a/g, '\\n'],
          +        [/\x0c/g, '\\f'],
          +        [/\x0d/g, '\\r']
          +    ],
          +    _COMMON_LENGTH = _COMMON.length,
          +
          +    // In-process optimization for special character escapes that haven't yet
          +    // been promoted to _COMMON
          +    _CHAR = {},
          +
          +    // Per-char counter to determine if it's worth fast tracking a special
          +    // character escape sequence.
          +    _CHAR_COUNT, _CACHE_THRESHOLD;
          +
          +// Utility function used to determine how to serialize a variable.
          +function _type(o) {
          +    var t = typeof o;
          +    return  _allowable[t] ||              // number, string, boolean, undefined
          +            _allowable[_toStr.call(o)] || // Number, String, Boolean, Date
          +            (t === OBJECT ?
          +                (o ? OBJECT : NULL) :     // object, array, null, misc natives
          +                UNDEFINED);               // function, unknown
          +}
          +
          +// Escapes a special character to a safe Unicode representation
          +function _char(c) {
          +    if (!_CHAR[c]) {
          +        _CHAR[c] = '\\u'+('0000'+(+(c.charCodeAt(0))).toString(16)).slice(-4);
          +        _CHAR_COUNT[c] = 0;
          +    }
          +
          +    // === to avoid this conditional for the remainder of the current operation
          +    if (++_CHAR_COUNT[c] === _CACHE_THRESHOLD) {
          +        _COMMON.push([new RegExp(c, 'g'), _CHAR[c]]);
          +        _COMMON_LENGTH = _COMMON.length;
          +    }
          +
          +    return _CHAR[c];
          +}
          +
          +// Enclose escaped strings in quotes
          +function _string(s) {
          +    var i, chr;
          +
          +    // Preprocess the string against common characters to avoid function
          +    // overhead associated with replacement via function.
          +    for (i = 0; i < _COMMON_LENGTH; i++) {
          +        chr = _COMMON[i];
          +        s = s.replace(chr[0], chr[1]);
          +    }
          +    
          +    // original function replace for the not-as-common set of chars
          +    return QUOTE + s.replace(_SPECIAL, _char) + QUOTE;
          +}
          +
          +// Adds the provided space to the beginning of every line in the input string
          +function _indent(s,space) {
          +    return s.replace(/^/gm, space);
          +}
          +
          +// JavaScript implementation of stringify (see API declaration of stringify)
          +function _stringify(o,w,space) {
          +    if (o === undefined) {
          +        return undefined;
          +    }
          +
          +    var replacer = isFunction(w) ? w : null,
          +        format   = _toStr.call(space).match(/String|Number/) || [],
          +        _date    = Y.JSON.dateToString,
          +        stack    = [],
          +        tmp,i,len;
          +
          +    _CHAR_COUNT      = {};
          +    _CACHE_THRESHOLD = Y.JSON.charCacheThreshold;
          +
          +    if (replacer || !isArray(w)) {
          +        w = undefined;
          +    }
          +
          +    // Ensure whitelist keys are unique (bug 2110391)
          +    if (w) {
          +        tmp = {};
          +        for (i = 0, len = w.length; i < len; ++i) {
          +            tmp[w[i]] = true;
          +        }
          +        w = tmp;
          +    }
          +
          +    // Per the spec, strings are truncated to 10 characters and numbers
          +    // are converted to that number of spaces (max 10)
          +    space = format[0] === 'Number' ?
          +                new Array(Math.min(Math.max(0,space),10)+1).join(" ") :
          +                (space || EMPTY).slice(0,10);
          +
          +    function _serialize(h,key) {
          +        var value = h[key],
          +            t     = _type(value),
          +            a     = [],
          +            colon = space ? COLON_SP : COLON,
          +            arr, i, keys, k, v;
          +
          +        // Per the ECMA 5 spec, toJSON is applied before the replacer is
          +        // called.  Also per the spec, Date.prototype.toJSON has been added, so
          +        // Date instances should be serialized prior to exposure to the
          +        // replacer.  I disagree with this decision, but the spec is the spec.
          +        if (isObject(value) && isFunction(value.toJSON)) {
          +            value = value.toJSON(key);
          +        } else if (t === DATE) {
          +            value = _date(value);
          +        }
          +
          +        if (isFunction(replacer)) {
          +            value = replacer.call(h,key,value);
          +        }
          +
          +        if (value !== h[key]) {
          +            t = _type(value);
          +        }
          +
          +        switch (t) {
          +            case DATE    : // intentional fallthrough.  Pre-replacer Dates are
          +                           // serialized in the toJSON stage.  Dates here would
          +                           // have been produced by the replacer.
          +            case OBJECT  : break;
          +            case STRING  : return _string(value);
          +            case NUMBER  : return isFinite(value) ? value+EMPTY : NULL;
          +            case BOOLEAN : return value+EMPTY;
          +            case NULL    : return NULL;
          +            default      : return undefined;
          +        }
          +
          +        // Check for cyclical references in nested objects
          +        for (i = stack.length - 1; i >= 0; --i) {
          +            if (stack[i] === value) {
          +                throw new Error("JSON.stringify. Cyclical reference");
          +            }
          +        }
          +
          +        arr = isArray(value);
          +
          +        // Add the object to the processing stack
          +        stack.push(value);
          +
          +        if (arr) { // Array
          +            for (i = value.length - 1; i >= 0; --i) {
          +                a[i] = _serialize(value, i) || NULL;
          +            }
          +        } else {   // Object
          +            // If whitelist provided, take only those keys
          +            keys = w || value;
          +            i = 0;
          +
          +            for (k in keys) {
          +                if (keys.hasOwnProperty(k)) {
          +                    v = _serialize(value, k);
          +                    if (v) {
          +                        a[i++] = _string(k) + colon + v;
          +                    }
          +                }
          +            }
          +        }
          +
          +        // remove the array from the stack
          +        stack.pop();
          +
          +        if (space && a.length) {
          +            return arr ?
          +                OPEN_A + CR + _indent(a.join(COMMA_CR), space) + CR + CLOSE_A :
          +                OPEN_O + CR + _indent(a.join(COMMA_CR), space) + CR + CLOSE_O;
          +        } else {
          +            return arr ?
          +                OPEN_A + a.join(COMMA) + CLOSE_A :
          +                OPEN_O + a.join(COMMA) + CLOSE_O;
          +        }
          +    }
          +
          +    // process the input
          +    return _serialize({'':o},'');
          +}
          +
          +// Double check basic native functionality.  This is primarily to catch broken
          +// early JSON API implementations in Firefox 3.1 beta1 and beta2.
          +if ( Native ) {
          +    try {
          +        useNative = ( '0' === Native.stringify(0) );
          +    } catch ( e ) {
          +        useNative = false;
          +    }
          +}
          +
          +Y.mix(Y.namespace('JSON'),{
          +    /**
          +     * Leverage native JSON stringify if the browser has a native
          +     * implementation.  In general, this is a good idea.  See the Known Issues
          +     * section in the JSON user guide for caveats.  The default value is true
          +     * for browsers with native JSON support.
          +     *
          +     * @property useNativeStringify
          +     * @type Boolean
          +     * @default true
          +     * @static
          +     */
          +    useNativeStringify : useNative,
          +
          +    /**
          +     * Serializes a Date instance as a UTC date string.  Used internally by
          +     * stringify.  Override this method if you need Dates serialized in a
          +     * different format.
          +     *
          +     * @method dateToString
          +     * @param d {Date} The Date to serialize
          +     * @return {String} stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ
          +     * @deprecated Use a replacer function
          +     * @static
          +     */
          +    dateToString : function (d) {
          +        function _zeroPad(v) {
          +            return v < 10 ? '0' + v : v;
          +        }
          +
          +        return d.getUTCFullYear()           + '-' +
          +              _zeroPad(d.getUTCMonth() + 1) + '-' +
          +              _zeroPad(d.getUTCDate())      + 'T' +
          +              _zeroPad(d.getUTCHours())     + COLON +
          +              _zeroPad(d.getUTCMinutes())   + COLON +
          +              _zeroPad(d.getUTCSeconds())   + 'Z';
          +    },
          +
          +    /**
          +     * <p>Converts an arbitrary value to a JSON string representation.</p>
          +     *
          +     * <p>Objects with cyclical references will trigger an exception.</p>
          +     *
          +     * <p>If a whitelist is provided, only matching object keys will be
          +     * included.  Alternately, a replacer function may be passed as the
          +     * second parameter.  This function is executed on every value in the
          +     * input, and its return value will be used in place of the original value.
          +     * This is useful to serialize specialized objects or class instances.</p>
          +     *
          +     * <p>If a positive integer or non-empty string is passed as the third
          +     * parameter, the output will be formatted with carriage returns and
          +     * indentation for readability.  If a String is passed (such as "\t") it
          +     * will be used once for each indentation level.  If a number is passed,
          +     * that number of spaces will be used.</p>
          +     *
          +     * @method stringify
          +     * @param o {MIXED} any arbitrary value to convert to JSON string
          +     * @param w {Array|Function} (optional) whitelist of acceptable object
          +     *                  keys to include, or a replacer function to modify the
          +     *                  raw value before serialization
          +     * @param ind {Number|String} (optional) indentation character or depth of
          +     *                  spaces to format the output.
          +     * @return {string} JSON string representation of the input
          +     * @static
          +     */
          +    stringify : function (o,w,ind) {
          +        return Native && Y.JSON.useNativeStringify ?
          +            Native.stringify(o,w,ind) : _stringify(o,w,ind);
          +    },
          +
          +    /**
          +     * <p>Number of occurrences of a special character within a single call to
          +     * stringify that should trigger promotion of that character to a dedicated
          +     * preprocess step for future calls.  This is only used in environments
          +     * that don't support native JSON, or when useNativeStringify is set to
          +     * false.</p>
          +     *
          +     * <p>So, if set to 50 and an object is passed to stringify that includes
          +     * strings containing the special character \x07 more than 50 times,
          +     * subsequent calls to stringify will process object strings through a
          +     * faster serialization path for \x07 before using the generic, slower,
          +     * replacement process for all special characters.</p>
          +     *
          +     * <p>To prime the preprocessor cache, set this value to 1, then call
          +     * <code>Y.JSON.stringify("<em>(all special characters to
          +     * cache)</em>");</code>, then return this setting to a more conservative
          +     * value.</p>
          +     *
          +     * <p>Special characters \ " \b \t \n \f \r are already cached.</p>
          +     *
          +     * @property charCacheThreshold
          +     * @static
          +     * @default 100
          +     * @type {Number}
          +     */
          +    charCacheThreshold: 100
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/namespace/ns.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/namespace/ns.js
          new file mode 100644
          index 000000000..72f59fe1d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/namespace/ns.js
          @@ -0,0 +1,13 @@
          +/**
          +Test Class
          +@class Bar
          +@namespace Foo
          +@module foobar
          +@main foobar
          +*/
          +
          +/**
          +Test Method
          +@method Baz
          +@namespace Foo.Bar
          +*/
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/anim.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/anim.js
          new file mode 100644
          index 000000000..6c2c1e0c1
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/anim.js
          @@ -0,0 +1,26 @@
          +/**
          + * This is the Anim MODULE description
          + * @main anim
          + * @module anim
          + */
          + 
          +/**
          + * This is the Anim Class description
          + * @class Anim
          + */
          + 
          +/**
          + * The easing module provides methods for customizing
          + * how an animation behaves during each run.
          + * @class Easing
          + * @submodule anim-easing
          + */
          + 
          +
          +/**
          + * FOO FOO FOO FOO FOO The easing module provides methods for customizing
          + * @class EasingFoo
          + * @submodule anim-easing-foo
          + */
          + 
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/test.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/test.js
          new file mode 100644
          index 000000000..3a93e847a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test/test.js
          @@ -0,0 +1,164 @@
          +
          +/**
          + * The test project
          + * @project tester
          + * @title The Tester
          + * @icon http://a.img
          + * @url http://one.url
          + * @url http://two.url
          + * @author admo
          + * @contributor davglass
          + * @contributor entropy
          + */
          +
          +/**
          + * The module
          + * @module mymodule
          + * @category one,two
          + * @category three
          + * @requires one
          + * @requires two
          + * @uses three
          + * @uses four
          + */
          +
          +/**
          + * The submodule
          + * @submodule mysubmodule
          + * @category three,four
          + */
          +
          +
          +/**
          + * The class def
          + * @class myclass
          + * @constructor
          + */
          +
          +/**
          + * test optional
          + * @method testoptional
          + * @param notype my desc
          + * @param {int} namesecond my desc
          + * @param namefirst {string} my desc
          + * @param [optionalvar] {bool} my desc
          + * @param {string} [optionalwithdefault="defaultval"] my desc
          + * @evil
          + * @injects {HTML} uses a string parameter to populate innerHTML
          + * @returns something without a type
          + * @example
          + *      This is code
          + * @example
          + *      var = 'This is more code';
          + *      document.title = 'Test This';
          + */
          +
          +/**
          + * test object param
          + * @method testobjectparam
          + * @param {object} anobject the object
          + * @param {string} anobject.prop1 prop1
          + * @param {bool} anobject.prop2 prop2
          + * @return {string} something with a type
          + */
          +
          +/**
          + * test 0..n param
          + * @method test0ton
          + * @param {string} [optionalandmultiple]* my desc
          + * @returns something without a type
          + */
          +
          +/**
          + * test 1..n param
          + * @method test1ton
          + * @param {string} multiple* my desc
          + * @returns something without a type
          + */
          +
          +    /**
          +     * Testing really long param description paring
          +     * @method reallyLongParamDesc
          +     * @param {Object} config Object with configuration property name/value pairs. The object can be 
          +     * used to provide default values for the objects published attributes.
          +     *
          +     * <p>
          +     * The config object can also contain the following non-attribute properties, providing a convenient 
          +     * way to configure events listeners and plugins for the instance, as part of the constructor call:
          +     * </p>
          +     *
          +     * <dl>
          +     *     <dt>on</dt>
          +     *     <dd>An event name to listener function map, to register event listeners for the "on" moment of the event. A constructor convenience property for the <a href="Base.html#method_on">on</a> method.</dd>
          +     *     <dt>after</dt>
          +     *     <dd>An event name to listener function map, to register event listeners for the "after" moment of the event. A constructor convenience property for the <a href="Base.html#method_after">after</a> method.</dd>
          +     *     <dt>bubbleTargets</dt>
          +     *     <dd>An object, or array of objects, to register as bubble targets for bubbled events fired by this instance. A constructor convenience property for the <a href="EventTarget.html#method_addTarget">addTarget</a> method.</dd>
          +     *     <dt>plugins</dt>
          +     *     <dd>A plugin, or array of plugins to be plugged into the instance (see PluginHost's plug method for signature details). A constructor convenience property for the <a href="Plugin.Host.html#method_plug">plug</a> method.</dd>
          +     * </dl>
          +     *
          +    */
          +
          +
          +/**
          +This is the description
          +
          +@method foo
          +@example
          +
          +        var email = "lsmith@foo-truncated-here.com"
          +
          +**/
          +
          +/**
          +Other Class
          +@class OtherClass
          +@extensionfor myclass
          +*/
          +
          +/**
          +Other Class 2
          +@class OtherClass2
          +@extension_for myclass
          +*/
          +
          +/**
          +Default options to use for all transactions.
          +@static
          +@protected
          +@property {Object} options
          +@property {Object} [options.attributes] HTML attribute name/value pairs that
          +    should be added to inserted nodes.
          +@property {Boolean} [options.autopurge=false] Whether or not to automatically
          +    purge inserted nodes after the purge threshold is reached.
          +@property {Document} [options.doc] Document into which nodes should be inserted.
          +@property {Number} [options.pollInterval=50] Polling interval (in milliseconds)
          +    for detecting CSS load completion in browsers that don't support the `load`
          +    event on `<link>` nodes.
          +**/
          +
          +
          +/**
          +This is a test of CASE TaGs
          +@MeThod testMethod
          +@ParaM {String} foo Foo description
          +*/
          +
          +/**
          +This is an optional attribute
          +@attribute optionalAttr
          +@optional
          +*/
          +
          +/**
          +This is a required attribute
          +@attribute requiredAttr
          +@required
          +*/
          +
          +/**
          +crash test method
          +@method crashTest
          +@params {String} foo The string to crash the parser
          +*/
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/dump/dump.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/dump/dump.js
          new file mode 100644
          index 000000000..54992bfcd
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/dump/dump.js
          @@ -0,0 +1,108 @@
          +/**
          + * Returns a simple string representation of the object or array.
          + * Other types of objects will be returned unprocessed.  Arrays
          + * are expected to be indexed.  Use object notation for
          + * associative arrays.
          + *
          + * If included, the dump method is added to the YUI instance.
          + *
          + * @module dump
          + */
          +
          +    var L = Y.Lang,
          +        OBJ = '{...}',
          +        FUN = 'f(){...}',
          +        COMMA = ', ',
          +        ARROW = ' => ',
          +
          +    /**
          +     * The following methods are added to the YUI instance
          +     * @class YUI~dump
          +     */
          +
          +    /**
          +     * Returns a simple string representation of the object or array.
          +     * Other types of objects will be returned unprocessed.  Arrays
          +     * are expected to be indexed.  Use object notation for
          +     * associative arrays.
          +     *
          +     * This method is in the 'dump' module, which is not bundled with
          +     * the core YUI object
          +     *
          +     * @method dump
          +     * @param {object} o The object to dump.
          +     * @param {int} d How deep to recurse child objects, default 3.
          +     * @return {string} the dump result.
          +     */
          +    dump = function(o, d) {
          +        var i, len, s = [], type = L.type(o);
          +
          +        // Cast non-objects to string
          +        // Skip dates because the std toString is what we want
          +        // Skip HTMLElement-like objects because trying to dump
          +        // an element will cause an unhandled exception in FF 2.x
          +        if (!L.isObject(o)) {
          +            return o + '';
          +        } else if (type == 'date') {
          +            return o;
          +        } else if (o.nodeType && o.tagName) {
          +            return o.tagName + '#' + o.id;
          +        } else if (o.document && o.navigator) {
          +            return 'window';
          +        } else if (o.location && o.body) {
          +            return 'document';
          +        } else if (type == 'function') {
          +            return FUN;
          +        }
          +
          +        // dig into child objects the depth specifed. Default 3
          +        d = (L.isNumber(d)) ? d : 3;
          +
          +        // arrays [1, 2, 3]
          +        if (type == 'array') {
          +            s.push('[');
          +            for (i = 0, len = o.length; i < len; i = i + 1) {
          +                if (L.isObject(o[i])) {
          +                    s.push((d > 0) ? L.dump(o[i], d - 1) : OBJ);
          +                } else {
          +                    s.push(o[i]);
          +                }
          +                s.push(COMMA);
          +            }
          +            if (s.length > 1) {
          +                s.pop();
          +            }
          +            s.push(']');
          +        // regexp /foo/
          +        } else if (type == 'regexp') {
          +            s.push(o.toString());
          +        // objects {k1 => v1, k2 => v2}
          +        } else {
          +            s.push('{');
          +            for (i in o) {
          +                if (o.hasOwnProperty(i)) {
          +                    try {
          +                        s.push(i + ARROW);
          +                        if (L.isObject(o[i])) {
          +                            s.push((d > 0) ? L.dump(o[i], d - 1) : OBJ);
          +                        } else {
          +                            s.push(o[i]);
          +                        }
          +                        s.push(COMMA);
          +                    } catch (e) {
          +                        s.push('Error: ' + e.message);
          +                    }
          +                }
          +            }
          +            if (s.length > 1) {
          +                s.pop();
          +            }
          +            s.push('}');
          +        }
          +
          +        return s.join('');
          +    };
          +
          +    Y.dump = dump;
          +    L.dump = dump;
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/namespace.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/namespace.js
          new file mode 100644
          index 000000000..c427ac043
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/namespace.js
          @@ -0,0 +1,29 @@
          +/**
          + * @module P.storage
          + */
          +
          +/**
          + * @class Store
          + * @constructor
          + * @namespace P.storage
          + */
          +// definition of Store and Store.prototype
          +
          +/**
          + * @class LocalStore
          + * @constructor
          + * @extends P.storage.Store
          + * @namespace P.storage
          + */
          +// definition of LocalStore and LocalStore.prototype
          +
          +/**
          + * @class storage
          + * @namespace P
          + */
          +
          +/**
          + * @private
          + * @property {Array} _storageMechanisms
          + * @static
          + */
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/oop/oop.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/oop/oop.js
          new file mode 100644
          index 000000000..60dcef252
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/oop/oop.js
          @@ -0,0 +1,368 @@
          +/**
          + * Supplies object inheritance and manipulation utilities.  This adds
          + * additional functionaity to what is provided in yui-base, and the
          + * methods are applied directly to the YUI instance.  This module
          + * is required for most YUI components.
          + * @module oop
          + */
          +
          +/**
          + * The following methods are added to the YUI instance
          + * @class YUI~oop
          + */
          +
          +    var L = Y.Lang,
          +        A = Y.Array,
          +        OP = Object.prototype,
          +        CLONE_MARKER = '_~yuim~_',
          +        EACH = 'each',
          +        SOME = 'some',
          +
          +        dispatch = function(o, f, c, proto, action) {
          +            if (o && o[action] && o !== Y) {
          +                return o[action].call(o, f, c);
          +            } else {
          +                switch (A.test(o)) {
          +                    case 1:
          +                        return A[action](o, f, c);
          +                    case 2:
          +                        return A[action](Y.Array(o, 0, true), f, c);
          +                    default:
          +                        return Y.Object[action](o, f, c, proto);
          +                }
          +            }
          +        };
          +
          +
          +    /**
          +     * Applies prototype properties from the supplier to the receiver.
          +     * The receiver can be a constructor or an instance.
          +     * @method augment
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl  a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @param {Array | Any} args arg or arguments to apply to the supplier
          +     * constructor when initializing.
          +     * @return {object} the augmented object.
          +     *
          +     * @todo constructor optional?
          +     * @todo understanding what an instance is augmented with
          +     * @todo best practices for overriding sequestered methods.
          +     */
          +    Y.augment = function(r, s, ov, wl, args) {
          +        var sProto = s.prototype,
          +            newProto = null,
          +            construct = s,
          +            a = (args) ? Y.Array(args) : [],
          +            rProto = r.prototype,
          +            target = rProto || r,
          +            applyConstructor = false,
          +            sequestered, replacements;
          +
          +        // working on a class, so apply constructor infrastructure
          +        if (rProto && construct) {
          +            sequestered = {};
          +            replacements = {};
          +            newProto = {};
          +
          +            // sequester all of the functions in the supplier and replace with
          +            // one that will restore all of them.
          +            Y.Object.each(sProto, function(v, k) {
          +                replacements[k] = function() {
          +
          +            // Y.log('sequestered function "' + k +
          +            // '" executed.  Initializing EventTarget');
          +            // overwrite the prototype with all of the sequestered functions,
          +            // but only if it hasn't been overridden
          +                        for (var i in sequestered) {
          +                        if (sequestered.hasOwnProperty(i) &&
          +                                (this[i] === replacements[i])) {
          +                            // Y.log('... restoring ' + k);
          +                            this[i] = sequestered[i];
          +                        }
          +                    }
          +
          +                    // apply the constructor
          +                    construct.apply(this, a);
          +
          +                    // apply the original sequestered function
          +                    return sequestered[k].apply(this, arguments);
          +                };
          +
          +                if ((!wl || (k in wl)) && (ov || !(k in this))) {
          +                    // Y.log('augment: ' + k);
          +                    if (L.isFunction(v)) {
          +                        // sequester the function
          +                        sequestered[k] = v;
          +
          +// replace the sequestered function with a function that will
          +// restore all sequestered functions and exectue the constructor.
          +                        this[k] = replacements[k];
          +                    } else {
          +                        // Y.log('augment() applying non-function: ' + k);
          +                        this[k] = v;
          +                    }
          +                }
          +
          +            }, newProto, true);
          +
          +        // augmenting an instance, so apply the constructor immediately
          +        } else {
          +            applyConstructor = true;
          +        }
          +
          +        Y.mix(target, newProto || sProto, ov, wl);
          +
          +        if (applyConstructor) {
          +            s.apply(target, a);
          +        }
          +
          +        return r;
          +    };
          +
          +    /**
          +     * Applies object properties from the supplier to the receiver.  If
          +     * the target has the property, and the property is an object, the target
          +     * object will be augmented with the supplier's value.  If the property
          +     * is an array, the suppliers value will be appended to the target.
          +     * @method aggregate
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @return {object} the extended object.
          +     */
          +    Y.aggregate = function(r, s, ov, wl) {
          +        return Y.mix(r, s, ov, wl, 0, true);
          +    };
          +
          +    /**
          +     * Utility to set up the prototype, constructor and superclass properties to
          +     * support an inheritance strategy that can chain constructors and methods.
          +     * Static members will not be inherited.
          +     *
          +     * @method extend
          +     * @param {function} r   the object to modify.
          +     * @param {function} s the object to inherit.
          +     * @param {object} px prototype properties to add/override.
          +     * @param {object} sx static properties to add/override.
          +     * @return {object} the extended object.
          +     */
          +    Y.extend = function(r, s, px, sx) {
          +        if (!s || !r) {
          +            Y.error('extend failed, verify dependencies');
          +        }
          +
          +        var sp = s.prototype, rp = Y.Object(sp);
          +        r.prototype = rp;
          +
          +        rp.constructor = r;
          +        r.superclass = sp;
          +
          +        // assign constructor property
          +        if (s != Object && sp.constructor == OP.constructor) {
          +            sp.constructor = s;
          +        }
          +
          +        // add prototype overrides
          +        if (px) {
          +            Y.mix(rp, px, true);
          +        }
          +
          +        // add object overrides
          +        if (sx) {
          +            Y.mix(r, sx, true);
          +        }
          +
          +        return r;
          +    };
          +
          +    /**
          +     * Executes the supplied function for each item in
          +     * a collection.  Supports arrays, objects, and
          +     * Y.NodeLists
          +     * @method each
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {YUI} the YUI instance.
          +     */
          +    Y.each = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, EACH);
          +    };
          +
          +    /**
          +     * Executes the supplied function for each item in
          +     * a collection.  The operation stops if the function
          +     * returns true. Supports arrays, objects, and
          +     * Y.NodeLists.
          +     * @method some
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {boolean} true if the function ever returns true,
          +     * false otherwise.
          +     */
          +    Y.some = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, SOME);
          +    };
          +
          +    /**
          +     * Deep obj/array copy.  Function clones are actually
          +     * wrappers around the original function.
          +     * Array-like objects are treated as arrays.
          +     * Primitives are returned untouched.  Optionally, a
          +     * function can be provided to handle other data types,
          +     * filter keys, validate values, etc.
          +     *
          +     * @method clone
          +     * @param {object} o what to clone.
          +     * @param {boolean} safe if true, objects will not have prototype
          +     * items from the source.  If false, they will.  In this case, the
          +     * original is initially protected, but the clone is not completely
          +     * immune from changes to the source object prototype.  Also, cloned
          +     * prototype items that are deleted from the clone will result
          +     * in the value of the source prototype being exposed.  If operating
          +     * on a non-safe clone, items should be nulled out rather than deleted.
          +     * @param {function} f optional function to apply to each item in a
          +     * collection; it will be executed prior to applying the value to
          +     * the new object.  Return false to prevent the copy.
          +     * @param {object} c optional execution context for f.
          +     * @param {object} owner Owner object passed when clone is iterating
          +     * an object.  Used to set up context for cloned functions.
          +     * @param {object} cloned hash of previously cloned objects to avoid
          +     * multiple clones.
          +     * @return {Array|Object} the cloned object.
          +     */
          +    Y.clone = function(o, safe, f, c, owner, cloned) {
          +
          +        if (!L.isObject(o)) {
          +            return o;
          +        }
          +
          +        // @todo cloning YUI instances doesn't currently work
          +        if (Y.instanceOf(o, YUI)) {
          +            return o;
          +        }
          +
          +        var o2, marked = cloned || {}, stamp,
          +            yeach = Y.each;
          +
          +        switch (L.type(o)) {
          +            case 'date':
          +                return new Date(o);
          +            case 'regexp':
          +                // if we do this we need to set the flags too
          +                // return new RegExp(o.source);
          +                return o;
          +            case 'function':
          +                // o2 = Y.bind(o, owner);
          +                // break;
          +                return o;
          +            case 'array':
          +                o2 = [];
          +                break;
          +            default:
          +
          +                // #2528250 only one clone of a given object should be created.
          +                if (o[CLONE_MARKER]) {
          +                    return marked[o[CLONE_MARKER]];
          +                }
          +
          +                stamp = Y.guid();
          +
          +                o2 = (safe) ? {} : Y.Object(o);
          +
          +                o[CLONE_MARKER] = stamp;
          +                marked[stamp] = o;
          +        }
          +
          +        // #2528250 don't try to clone element properties
          +        if (!o.addEventListener && !o.attachEvent) {
          +            yeach(o, function(v, k) {
          +if ((k || k === 0) && (!f || (f.call(c || this, v, k, this, o) !== false))) {
          +                    if (k !== CLONE_MARKER) {
          +                        if (k == 'prototype') {
          +                            // skip the prototype
          +                        // } else if (o[k] === o) {
          +                        //     this[k] = this;
          +                        } else {
          +                            this[k] =
          +                                Y.clone(v, safe, f, c, owner || o, marked);
          +                        }
          +                    }
          +                }
          +            }, o2);
          +        }
          +
          +        if (!cloned) {
          +            Y.Object.each(marked, function(v, k) {
          +                delete v[CLONE_MARKER];
          +            });
          +            marked = null;
          +        }
          +
          +        return o2;
          +    };
          +
          +
          +    /**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object's context, optionally adding any additional
          +     * supplied parameters to the beginning of the arguments collection the
          +     * supplied to the function.
          +     *
          +     * @method bind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to include before the arguments the
          +     * function is executed with.
          +     * @return {function} the wrapped function.
          +     */
          +    Y.bind = function(f, c) {
          +        var xargs = arguments.length > 2 ?
          +                Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    xargs.concat(Y.Array(arguments, 0, true)) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          +    /**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object's context, optionally adding any additional
          +     * supplied parameters to the end of the arguments the function
          +     * is executed with.
          +     *
          +     * @method rbind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to append to the end of
          +     * arguments collection supplied to the function.
          +     * @return {function} the wrapped function.
          +     */
          +    Y.rbind = function(f, c) {
          +        var xargs = arguments.length > 2 ? Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    Y.Array(arguments, 0, true).concat(xargs) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/slashes.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/slashes.js
          new file mode 100644
          index 000000000..20bdd4940
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/input/test2/slashes.js
          @@ -0,0 +1,16 @@
          +/**
          +* This is a module with slashes in the name
          +* @module myapp/views/index
          +*/
          +
          +/**
          +* This is the main class
          +* @class Main
          +* @constructor
          +*/
          +
          +/**
          +* Static Property
          +* @property STATIC
          +* @static
          +*/
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/lib/davglass.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/lib/davglass.js
          new file mode 100644
          index 000000000..5a48ffd39
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/lib/davglass.js
          @@ -0,0 +1,5 @@
          +module.exports = {
          +    davglass: function(str) {
          +        return 'DAVGLASS_WAS_HERE::' + str;
          +    }
          +}
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/options.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/options.js
          new file mode 100644
          index 000000000..03f7a72a2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/options.js
          @@ -0,0 +1,218 @@
          +var YUITest = require('yuitest'),
          +    Assert = YUITest.Assert,
          +    ArrayAssert = YUITest.ArrayAssert,
          +    path = require('path'),
          +    fs = require('fs'),
          +    Y = require(path.join(__dirname, '../', 'lib', 'index'));
          +
          +//Move to the test dir before running the tests.
          +process.chdir(__dirname);
          +
          +var suite = new YUITest.TestSuite('Options Test Suite');
          +
          +suite.add(new YUITest.TestCase({
          +    name: "Server Options",
          +    'test: server': function() {
          +        var options = Y.Options([
          +            '--server'
          +        ]);
          +
          +        Assert.isTrue(options.server, 'Failed to set server option');
          +        Assert.areSame(3000, options.port, 'Failed to set default port');
          +    },
          +    'test: server with port': function() {
          +        var options = Y.Options([
          +            '--server',
          +            '5000'
          +        ]);
          +
          +        Assert.isTrue(options.server, 'Failed to set server option');
          +        Assert.areSame(5000, options.port, 'Failed to set port');
          +    },
          +    'test: server with default port and following argument': function() {
          +        var options = Y.Options([
          +            '--server',
          +            './foo'
          +        ]);
          +
          +        Assert.isTrue(options.server, 'Failed to set server option');
          +        Assert.areSame(3000, options.port, 'Failed to set default port');
          +        Assert.isArray(options.paths, 'Failed to set path');
          +        Assert.areSame('./foo', options.paths[0], 'Failed to set path after empty --server');
          +    }
          +}));
          +
          +suite.add(new YUITest.TestCase({
          +    name: "Various Options",
          +    "test: long quiet option": function() {
          +        var options = Y.Options([
          +            '--quiet'
          +        ]);
          +
          +        Assert.isTrue(options.quiet, 'Failed to set long quiet');
          +    },
          +    "test: short quiet option": function() {
          +        var options = Y.Options([
          +            '-q'
          +        ]);
          +
          +        Assert.isTrue(options.quiet, 'Failed to set short quiet');
          +    },
          +    "test: short config": function() {
          +        var options = Y.Options([
          +            '-c',
          +            './foo.json'
          +        ]);
          +
          +        Assert.areSame('./foo.json', options.configfile, 'Failed to set config');
          +    },
          +    'test: --config': function() {
          +        var options = Y.Options([
          +            '--config',
          +            './foo.json'
          +        ]);
          +
          +        Assert.areSame('./foo.json', options.configfile, 'Failed to set config');
          +    },
          +    'test: --configfile': function() {
          +        var options = Y.Options([
          +            '--configfile',
          +            './foo.json'
          +        ]);
          +
          +        Assert.areSame('./foo.json', options.configfile, 'Failed to set config');
          +    },
          +    'test: -e': function() {
          +        var options = Y.Options([
          +            '-e',
          +            '.foo'
          +        ]);
          +        
          +        Assert.areSame('.foo', options.extension, 'Failed to set extension');
          +    },
          +    'test: --extension': function() {
          +        var options = Y.Options([
          +            '--extension',
          +            '.foo'
          +        ]);
          +        
          +        Assert.areSame('.foo', options.extension, 'Failed to set extension');
          +    },
          +    'test: -x': function() {
          +        var options = Y.Options([
          +            '-x',
          +            'foo,bar,baz'
          +        ]);
          +        
          +        Assert.areSame('foo,bar,baz', options.exclude, 'Failed to set exclude');
          +    },
          +    'test: --exclude': function() {
          +        var options = Y.Options([
          +            '--exclude',
          +            'foo,bar,baz'
          +        ]);
          +        
          +        Assert.areSame('foo,bar,baz', options.exclude, 'Failed to set exclude');
          +    },
          +    'test: --project-version': function() {
          +        var options = Y.Options([
          +            '--project-version',
          +            '6.6.6'
          +        ]);
          +        
          +        Assert.areSame('6.6.6', options.version, 'Failed to set version');
          +    },
          +    'test: --no-color': function() {
          +        var options = Y.Options([
          +            '--no-color',
          +        ]);
          +        
          +        Assert.isTrue(options.nocolor, 'Failed to set nocolor');
          +        Assert.isFalse(Y.config.useColor, 'Failed to set Y.config.useColor');
          +    },
          +    'test: -N': function() {
          +        var options = Y.Options([
          +            '-N',
          +        ]);
          +        
          +        Assert.isTrue(options.nocolor, 'Failed to set nocolor');
          +        Assert.isFalse(Y.config.useColor, 'Failed to set Y.config.useColor');
          +    },
          +    'test: --no-code': function() {
          +        var options = Y.Options([
          +            '--no-code',
          +        ]);
          +        
          +        Assert.isTrue(options.nocode, 'Failed to set nocode');
          +    },
          +    'test: -C': function() {
          +        var options = Y.Options([
          +            '-C',
          +        ]);
          +        
          +        Assert.isTrue(options.nocode, 'Failed to set nocode');
          +    },
          +    'test: --norecurse': function() {
          +        var options = Y.Options([
          +            '--norecurse',
          +        ]);
          +        
          +        Assert.isTrue(options.norecurse, 'Failed to set norecurse');
          +    },
          +    'test: -n': function() {
          +        var options = Y.Options([
          +            '-n',
          +        ]);
          +        
          +        Assert.isTrue(options.norecurse, 'Failed to set norecurse');
          +    },
          +    'test: --selleck': function() {
          +        var options = Y.Options([
          +            '--selleck',
          +        ]);
          +        
          +        Assert.isTrue(options.selleck, 'Failed to set selleck');
          +    },
          +    'test: -S': function() {
          +        var options = Y.Options([
          +            '-S',
          +        ]);
          +        
          +        Assert.isTrue(options.selleck, 'Failed to set selleck');
          +    },
          +    'test: -T simple': function() {
          +        var options = Y.Options([
          +            '-T',
          +            'simple'
          +        ]);
          +        var p = path.join(__dirname, '../themes/simple');
          +        Assert.areEqual(p, options.themedir);
          +    },
          +    'test: --theme simple': function() {
          +        var options = Y.Options([
          +            '--theme',
          +            'simple'
          +        ]);
          +        var p = path.join(__dirname, '../themes/simple');
          +        Assert.areEqual(p, options.themedir);
          +    },
          +    'test: --theme foobar': function() {
          +        var options = Y.Options([
          +            '--theme',
          +            'foobar'
          +        ]);
          +        var p = path.join(__dirname, '../themes/foobar');
          +        Assert.areEqual(p, options.themedir);
          +    },
          +    'test: --themedir ./foobar': function() {
          +        var options = Y.Options([
          +            '--themedir',
          +            './foobar'
          +        ]);
          +        Assert.areEqual('./foobar', options.themedir);
          +    }
          +}));
          +
          +
          +YUITest.TestRunner.add(suite);
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/api.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/api.js
          new file mode 100644
          index 000000000..a8fb205e0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/api.js
          @@ -0,0 +1,179 @@
          +YUI.add("yuidoc-meta", function(Y) {
          +   Y.YUIDoc = { meta: {
          +    "classes": [
          +        "Anim",
          +        "AreaSeries",
          +        "AreaSplineSeries",
          +        "Axis",
          +        "AxisType",
          +        "BarSeries",
          +        "BottomAxisLayout",
          +        "CartesianChart",
          +        "CartesianSeries",
          +        "CategoryAxis",
          +        "Chart",
          +        "ChartBase",
          +        "ChartLegend",
          +        "ColumnSeries",
          +        "ComboSeries",
          +        "ComboSplineSeries",
          +        "CurveUtil",
          +        "Easing",
          +        "EasingFoo",
          +        "EllipseGroup",
          +        "Fills",
          +        "Foo.Bar",
          +        "Graph",
          +        "Gridlines",
          +        "GroupCircle",
          +        "GroupDiamond",
          +        "GroupRect",
          +        "Histogram",
          +        "HorizontalLegendLayout",
          +        "JSON",
          +        "LeftAxisLayout",
          +        "LineSeries",
          +        "Lines",
          +        "Main",
          +        "MarkerSeries",
          +        "NumericAxis",
          +        "OtherClass",
          +        "OtherClass2",
          +        "P.storage",
          +        "P.storage.LocalStore",
          +        "P.storage.Store",
          +        "PieChart",
          +        "PieSeries",
          +        "Plots",
          +        "Renderer",
          +        "RightAxisLayout",
          +        "ShapeGroup",
          +        "SplineSeries",
          +        "StackedAreaSeries",
          +        "StackedAreaSplineSeries",
          +        "StackedAxis",
          +        "StackedBarSeries",
          +        "StackedColumnSeries",
          +        "StackedComboSeries",
          +        "StackedComboSplineSeries",
          +        "StackedLineSeries",
          +        "StackedMarkerSeries",
          +        "StackedSplineSeries",
          +        "StackingUtil",
          +        "TimeAxis",
          +        "TopAxisLayout",
          +        "VerticalLegendLayout",
          +        "YUI~dump",
          +        "YUI~oop",
          +        "myclass",
          +        "mywidget.SubWidget",
          +        "mywidget.SubWidget2",
          +        "mywidget.SuperWidget"
          +    ],
          +    "modules": [
          +        "ExampleModule",
          +        "P.storage",
          +        "anim",
          +        "anim-easing",
          +        "anim-easing-foo",
          +        "charts",
          +        "charts-legend",
          +        "dump",
          +        "foobar",
          +        "graphics",
          +        "json",
          +        "json-parse",
          +        "json-stringify",
          +        "myapp_views_index",
          +        "mymodule",
          +        "mysubmodule",
          +        "oop"
          +    ],
          +    "allModules": [
          +        {
          +            "displayName": "anim",
          +            "name": "anim",
          +            "description": "This is the Anim MODULE description"
          +        },
          +        {
          +            "displayName": "anim-easing",
          +            "name": "anim-easing",
          +            "description": "The easing module provides methods for customizing\nhow an animation behaves during each run."
          +        },
          +        {
          +            "displayName": "anim-easing-foo",
          +            "name": "anim-easing-foo",
          +            "description": "FOO FOO FOO FOO FOO The easing module provides methods for customizing"
          +        },
          +        {
          +            "displayName": "charts",
          +            "name": "charts",
          +            "description": "The Charts widget provides an api for displaying data\ngraphically."
          +        },
          +        {
          +            "displayName": "charts-legend",
          +            "name": "charts-legend",
          +            "description": "Adds legend functionality to charts."
          +        },
          +        {
          +            "displayName": "dump",
          +            "name": "dump",
          +            "description": "Returns a simple string representation of the object or array.\nOther types of objects will be returned unprocessed.  Arrays\nare expected to be indexed.  Use object notation for\nassociative arrays.\n\nIf included, the dump method is added to the YUI instance."
          +        },
          +        {
          +            "displayName": "ExampleModule",
          +            "name": "ExampleModule",
          +            "description": "This is my example module"
          +        },
          +        {
          +            "displayName": "foobar",
          +            "name": "foobar",
          +            "description": "Test Class"
          +        },
          +        {
          +            "displayName": "graphics",
          +            "name": "graphics",
          +            "description": "Abstract class for creating groups of shapes with the same styles and dimensions."
          +        },
          +        {
          +            "displayName": "json",
          +            "name": "json",
          +            "description": "<p>The JSON module adds support for serializing JavaScript objects into\nJSON strings and parsing JavaScript objects from strings in JSON format.</p>\n\n<p>The JSON namespace is added to your YUI instance including static methods\nY.JSON.parse(..) and Y.JSON.stringify(..).</p>\n\n<p>The functionality and method signatures follow the ECMAScript 5\nspecification.  In browsers with native JSON support, the native\nimplementation is used.</p>\n\n<p>The <code>json</code> module is a rollup of <code>json-parse</code> and\n<code>json-stringify</code>.</p>\n\n<p>As their names suggest, <code>json-parse</code> adds support for parsing\nJSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing\nJavaScript data into JSON strings (Y.JSON.stringify).  You may choose to\ninclude either of the submodules individually if you don't need the\ncomplementary functionality, or include the rollup for both.</p>"
          +        },
          +        {
          +            "displayName": "json-parse",
          +            "name": "json-parse",
          +            "description": "Provides Y.JSON.parse method to accept JSON strings and return native\nJavaScript objects."
          +        },
          +        {
          +            "displayName": "json-stringify",
          +            "name": "json-stringify",
          +            "description": "Provides Y.JSON.stringify method for converting objects to JSON strings."
          +        },
          +        {
          +            "displayName": "myapp/views/index",
          +            "name": "myapp_views_index",
          +            "description": "This is a module with slashes in the name"
          +        },
          +        {
          +            "displayName": "mymodule",
          +            "name": "mymodule",
          +            "description": "The module"
          +        },
          +        {
          +            "displayName": "mysubmodule",
          +            "name": "mysubmodule",
          +            "description": "The submodule"
          +        },
          +        {
          +            "displayName": "oop",
          +            "name": "oop",
          +            "description": "Supplies object inheritance and manipulation utilities.  This adds\nadditional functionaity to what is provided in yui-base, and the\nmethods are applied directly to the YUI instance.  This module\nis required for most YUI components."
          +        },
          +        {
          +            "displayName": "P.storage",
          +            "name": "P.storage"
          +        }
          +    ]
          +} };
          +});
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/external-small.png b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/external-small.png
          new file mode 100644
          index 000000000..759a1cdcb
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/external-small.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/logo.png b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/logo.png
          new file mode 100644
          index 000000000..609b336c7
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/logo.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/main.css b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/main.css
          new file mode 100644
          index 000000000..f8f7ee711
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/css/main.css
          @@ -0,0 +1,782 @@
          +/*
          +Font sizes for all selectors other than the body are given in percentages,
          +with 100% equal to 13px. To calculate a font size percentage, multiply the
          +desired size in pixels by 7.6923076923.
          +
          +Here's a quick lookup table:
          +
          +10px - 76.923%
          +11px - 84.615%
          +12px - 92.308%
          +13px - 100%
          +14px - 107.692%
          +15px - 115.385%
          +16px - 123.077%
          +17px - 130.769%
          +18px - 138.462%
          +19px - 146.154%
          +20px - 153.846%
          +*/
          +
          +html {
          +    background: #fff;
          +    color: #333;
          +    overflow-y: scroll;
          +}
          +
          +body {
          +    font: 13px/1.4 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', 'Bitstream Vera Sans', 'Helvetica', 'Arial', sans-serif;
          +    margin: 0;
          +    padding: 0;
          +}
          +
          +/* -- Links ----------------------------------------------------------------- */
          +a {
          +    color: #356de4;
          +    text-decoration: none;
          +}
          +
          +.hidden {
          +    display: none;
          +}
          +
          +a:hover { text-decoration: underline; }
          +
          +/* "Jump to Table of Contents" link is shown to assistive tools, but hidden from
          +   sight until it's focused. */
          +.jump {
          +    position: absolute;
          +    padding: 3px 6px;
          +    left: -99999px;
          +    top: 0;
          +}
          +
          +.jump:focus { left: 40%; }
          +
          +/* -- Paragraphs ------------------------------------------------------------ */
          +p { margin: 1.3em 0; }
          +dd p, td p { margin-bottom: 0; }
          +dd p:first-child, td p:first-child { margin-top: 0; }
          +
          +/* -- Headings -------------------------------------------------------------- */
          +h1, h2, h3, h4, h5, h6 {
          +    color: #D98527;/*was #f80*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.1;
          +    margin: 1.1em 0 0.5em;
          +}
          +
          +h1 {
          +    font-size: 184.6%;
          +    color: #30418C;
          +    margin: 0.75em 0 0.5em;
          +}
          +
          +h2 {
          +    font-size: 153.846%;
          +    color: #E48A2B;
          +}
          +
          +h3 { font-size: 138.462%; }
          +
          +h4 {
          +    border-bottom: 1px solid #DBDFEA;
          +    color: #E48A2B;
          +    font-size: 115.385%;
          +    font-weight: normal;
          +    padding-bottom: 2px;
          +}
          +
          +h5, h6 { font-size: 107.692%; }
          +
          +/* -- Code and examples ----------------------------------------------------- */
          +code, kbd, pre, samp {
          +    font-family: Menlo, Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;
          +    font-size: 92.308%;
          +    line-height: 1.35;
          +}
          +
          +p code, p kbd, p samp {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    padding: 0 3px;
          +}
          +
          +a code, a kbd, a samp,
          +pre code, pre kbd, pre samp,
          +table code, table kbd, table samp,
          +.intro code, .intro kbd, .intro samp,
          +.toc code, .toc kbd, .toc samp {
          +    background: none;
          +    border: none;
          +    padding: 0;
          +}
          +
          +pre.code, pre.terminal, pre.cmd {
          +    overflow-x: auto;
          +    *overflow-x: scroll;
          +    padding: 0.3em 0.6em;
          +}
          +
          +pre.code {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    border-left-width: 5px;
          +}
          +
          +pre.terminal, pre.cmd {
          +    background: #F0EFFC;
          +    border: 1px solid #D0CBFB;
          +    border-left: 5px solid #D0CBFB;
          +}
          +
          +/* Don't reduce the font size of <code>/<kbd>/<samp> elements inside <pre>
          +   blocks. */
          +pre code, pre kbd, pre samp { font-size: 100%; }
          +
          +/* Used to denote text that shouldn't be selectable, such as line numbers or
          +   shell prompts. Guess which browser this doesn't work in. */
          +.noselect {
          +    -moz-user-select: -moz-none;
          +    -khtml-user-select: none;
          +    -webkit-user-select: none;
          +    -o-user-select: none;
          +    user-select: none;
          +}
          +
          +/* -- Lists ----------------------------------------------------------------- */
          +dd { margin: 0.2em 0 0.7em 1em; }
          +dl { margin: 1em 0; }
          +dt { font-weight: bold; }
          +
          +/* -- Tables ---------------------------------------------------------------- */
          +caption, th { text-align: left; }
          +
          +table {
          +    border-collapse: collapse;
          +    width: 100%;
          +}
          +
          +td, th {
          +    border: 1px solid #fff;
          +    padding: 5px 12px;
          +    vertical-align: top;
          +}
          +
          +td { background: #E6E9F5; }
          +td dl { margin: 0; }
          +td dl dl { margin: 1em 0; }
          +td pre:first-child { margin-top: 0; }
          +
          +th {
          +    background: #D2D7E6;/*#97A0BF*/
          +    border-bottom: none;
          +    border-top: none;
          +    color: #000;/*#FFF1D5*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.3;
          +    white-space: nowrap;
          +}
          +
          +
          +/* -- Layout and Content ---------------------------------------------------- */
          +#doc {
          +    margin: auto;
          +    min-width: 1024px;
          +}
          +
          +.content { padding: 0 20px 0 25px; }
          +
          +.sidebar {
          +    padding: 0 15px 0 10px;
          +}
          +#bd {
          +    padding: 7px 0 130px;
          +    position: relative;
          +    width: 99%;
          +}
          +
          +/* -- Table of Contents ----------------------------------------------------- */
          +
          +/* The #toc id refers to the single global table of contents, while the .toc
          +   class refers to generic TOC lists that could be used throughout the page. */
          +
          +.toc code, .toc kbd, .toc samp { font-size: 100%; }
          +.toc li { font-weight: bold; }
          +.toc li li { font-weight: normal; }
          +
          +/* -- Intro and Example Boxes ----------------------------------------------- */
          +/*
          +.intro, .example { margin-bottom: 2em; }
          +.example {
          +    -moz-border-radius: 4px;
          +    -webkit-border-radius: 4px;
          +    border-radius: 4px;
          +    -moz-box-shadow: 0 0 5px #bfbfbf;
          +    -webkit-box-shadow: 0 0 5px #bfbfbf;
          +    box-shadow: 0 0 5px #bfbfbf;
          +    padding: 1em;
          +}
          +.intro {
          +    background: none repeat scroll 0 0 #F0F1F8; border: 1px solid #D4D8EB; padding: 0 1em;
          +}
          +*/
          +
          +/* -- Other Styles ---------------------------------------------------------- */
          +
          +/* These are probably YUI-specific, and should be moved out of Selleck's default
          +   theme. */
          +
          +.button {
          +    border: 1px solid #dadada;
          +    -moz-border-radius: 3px;
          +    -webkit-border-radius: 3px;
          +    border-radius: 3px;
          +    color: #444;
          +    display: inline-block;
          +    font-family: Helvetica, Arial, sans-serif;
          +    font-size: 92.308%;
          +    font-weight: bold;
          +    padding: 4px 13px 3px;
          +    -moz-text-shadow: 1px 1px 0 #fff;
          +    -webkit-text-shadow: 1px 1px 0 #fff;
          +    text-shadow: 1px 1px 0 #fff;
          +    white-space: nowrap;
          +
          +    background: #EFEFEF; /* old browsers */
          +    background: -moz-linear-gradient(top, #f5f5f5 0%, #efefef 50%, #e5e5e5 51%, #dfdfdf 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(50%,#efefef), color-stop(51%,#e5e5e5), color-stop(100%,#dfdfdf)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#dfdfdf',GradientType=0 ); /* ie */
          +}
          +
          +.button:hover {
          +    border-color: #466899;
          +    color: #fff;
          +    text-decoration: none;
          +    -moz-text-shadow: 1px 1px 0 #222;
          +    -webkit-text-shadow: 1px 1px 0 #222;
          +    text-shadow: 1px 1px 0 #222;
          +
          +    background: #6396D8; /* old browsers */
          +    background: -moz-linear-gradient(top, #6396D8 0%, #5A83BC 50%, #547AB7 51%, #466899 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6396D8), color-stop(50%,#5A83BC), color-stop(51%,#547AB7), color-stop(100%,#466899)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6396D8', endColorstr='#466899',GradientType=0 ); /* ie */
          +}
          +
          +.newwindow { text-align: center; }
          +
          +.header .version em {
          +    display: block;
          +    text-align: right;
          +}
          +
          +
          +#classdocs .item {
          +    border-bottom: 1px solid #466899;
          +    margin: 1em 0;
          +    padding: 1.5em;
          +}
          +
          +#classdocs .item .params p,
          +    #classdocs .item .returns p,{
          +    display: inline;
          +}
          +
          +#classdocs .item em code, #classdocs .item em.comment {
          +    color: green;
          +}
          +
          +#classdocs .item em.comment a {
          +    color: green;
          +    text-decoration: underline;
          +}
          +
          +#classdocs .foundat {
          +    font-size: 11px;
          +    font-style: normal;
          +}
          +
          +.attrs .emits {
          +    margin-left: 2em;
          +    padding: .5em;
          +    border-left: 1px dashed #ccc;
          +}
          +
          +abbr {
          +    border-bottom: 1px dashed #ccc;
          +    font-size: 80%;
          +    cursor: help;
          +}
          +
          +.prettyprint li.L0, 
          +.prettyprint li.L1, 
          +.prettyprint li.L2, 
          +.prettyprint li.L3, 
          +.prettyprint li.L5, 
          +.prettyprint li.L6, 
          +.prettyprint li.L7, 
          +.prettyprint li.L8 {
          +    list-style: decimal;
          +}
          +
          +ul li p {
          +    margin-top: 0;
          +}
          +
          +.method .name {
          +    font-size: 110%;
          +}
          +
          +.apidocs .methods .extends .method,
          +.apidocs .properties .extends .property,
          +.apidocs .attrs .extends .attr,
          +.apidocs .events .extends .event {
          +    font-weight: bold;
          +}
          +
          +.apidocs .methods .extends .inherited,
          +.apidocs .properties .extends .inherited,
          +.apidocs .attrs .extends .inherited,
          +.apidocs .events .extends .inherited {
          +    font-weight: normal;
          +}
          +
          +#hd {
          +    background: whiteSmoke;
          +    background: -moz-linear-gradient(top,#DCDBD9 0,#F6F5F3 100%);
          +    background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#DCDBD9),color-stop(100%,#F6F5F3));
          +    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dcdbd9',endColorstr='#F6F5F3',GradientType=0);
          +    border-bottom: 1px solid #DFDFDF;
          +    padding: 0 15px 1px 20px;
          +    margin-bottom: 15px;
          +}
          +
          +#hd img {
          +    margin-right: 10px;
          +    vertical-align: middle;
          +}
          +
          +
          +/* -- API Docs CSS ---------------------------------------------------------- */
          +
          +/*
          +This file is organized so that more generic styles are nearer the top, and more
          +specific styles are nearer the bottom of the file. This allows us to take full
          +advantage of the cascade to avoid redundant style rules. Please respect this
          +convention when making changes.
          +*/
          +
          +/* -- Generic TabView styles ------------------------------------------------ */
          +
          +/*
          +These styles apply to all API doc tabviews. To change styles only for a
          +specific tabview, see the other sections below.
          +*/
          +
          +.yui3-js-enabled .apidocs .tabview {
          +    visibility: hidden; /* Hide until the TabView finishes rendering. */
          +    _visibility: visible;
          +}
          +
          +.apidocs .tabview.yui3-tabview-content { visibility: visible; }
          +.apidocs .tabview .yui3-tabview-panel { background: #fff; }
          +
          +/* -- Generic Content Styles ------------------------------------------------ */
          +
          +/* Headings */
          +h2, h3, h4, h5, h6 {
          +    border: none;
          +    color: #30418C;
          +    font-weight: bold;
          +    text-decoration: none;
          +}
          +
          +.link-docs {
          +    float: right;
          +    font-size: 15px;
          +    margin: 4px 4px 6px;
          +    padding: 6px 30px 5px;
          +}
          +
          +.apidocs { zoom: 1; }
          +
          +/* Generic box styles. */
          +.apidocs .box {
          +    border: 1px solid;
          +    border-radius: 3px;
          +    margin: 1em 0;
          +    padding: 0 1em;
          +}
          +
          +/* A flag is a compact, capsule-like indicator of some kind. It's used to
          +   indicate private and protected items, item return types, etc. in an
          +   attractive and unobtrusive way. */
          +.apidocs .flag {
          +    background: #bababa;
          +    border-radius: 3px;
          +    color: #fff;
          +    font-size: 11px;
          +    margin: 0 0.5em;
          +    padding: 2px 4px 1px;
          +}
          +
          +/* Class/module metadata such as "Uses", "Extends", "Defined in", etc. */
          +.apidocs .meta {
          +    background: #f9f9f9;
          +    border-color: #efefef;
          +    color: #555;
          +    font-size: 11px;
          +    padding: 3px 6px;
          +}
          +
          +.apidocs .meta p { margin: 0; }
          +
          +/* Deprecation warning. */
          +.apidocs .box.deprecated,
          +.apidocs .flag.deprecated {
          +    background: #fdac9f;
          +    border: 1px solid #fd7775;
          +}
          +
          +.apidocs .box.deprecated p { margin: 0.5em 0; }
          +.apidocs .flag.deprecated { color: #333; }
          +
          +/* Module/Class intro description. */
          +.apidocs .intro {
          +    background: #f0f1f8;
          +    border-color: #d4d8eb;
          +}
          +
          +/* Loading spinners. */
          +#bd.loading .apidocs,
          +#api-list.loading .yui3-tabview-panel {
          +    background: #fff url(../img/spinner.gif) no-repeat center 70px;
          +    min-height: 150px;
          +}
          +
          +#bd.loading .apidocs .content,
          +#api-list.loading .yui3-tabview-panel .apis {
          +    display: none;
          +}
          +
          +.apidocs .no-visible-items { color: #666; }
          +
          +/* Generic inline list. */
          +.apidocs ul.inline {
          +    display: inline;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0;
          +}
          +
          +.apidocs ul.inline li { display: inline; }
          +
          +/* Comma-separated list. */
          +.apidocs ul.commas li:after { content: ','; }
          +.apidocs ul.commas li:last-child:after { content: ''; }
          +
          +/* Keyboard shortcuts. */
          +kbd .cmd { font-family: Monaco, Helvetica; }
          +
          +/* -- Generic Access Level styles ------------------------------------------- */
          +.apidocs .item.protected,
          +.apidocs .item.private,
          +.apidocs .index-item.protected,
          +.apidocs .index-item.deprecated,
          +.apidocs .index-item.private {
          +    display: none;
          +}
          +
          +.show-deprecated .item.deprecated,
          +.show-deprecated .index-item.deprecated,
          +.show-protected .item.protected,
          +.show-protected .index-item.protected,
          +.show-private .item.private,
          +.show-private .index-item.private {
          +    display: block;
          +}
          +
          +.hide-inherited .item.inherited,
          +.hide-inherited .index-item.inherited {
          +    display: none;
          +}
          +
          +/* -- Generic Item Index styles --------------------------------------------- */
          +.apidocs .index { margin: 1.5em 0 3em; }
          +
          +.apidocs .index h3 {
          +    border-bottom: 1px solid #efefef;
          +    color: #333;
          +    font-size: 13px;
          +    margin: 2em 0 0.6em;
          +    padding-bottom: 2px;
          +}
          +
          +.apidocs .index .no-visible-items { margin-top: 2em; }
          +
          +.apidocs .index-list {
          +    border-color: #efefef;
          +    font-size: 12px;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0;
          +    -moz-column-count: 4;
          +    -moz-column-gap: 10px;
          +    -moz-column-width: 170px;
          +    -ms-column-count: 4;
          +    -ms-column-gap: 10px;
          +    -ms-column-width: 170px;
          +    -o-column-count: 4;
          +    -o-column-gap: 10px;
          +    -o-column-width: 170px;
          +    -webkit-column-count: 4;
          +    -webkit-column-gap: 10px;
          +    -webkit-column-width: 170px;
          +    column-count: 4;
          +    column-gap: 10px;
          +    column-width: 170px;
          +}
          +
          +.apidocs .no-columns .index-list {
          +    -moz-column-count: 1;
          +    -ms-column-count: 1;
          +    -o-column-count: 1;
          +    -webkit-column-count: 1;
          +    column-count: 1;
          +}
          +
          +.apidocs .index-item { white-space: nowrap; }
          +
          +.apidocs .index-item .flag {
          +    background: none;
          +    border: none;
          +    color: #afafaf;
          +    display: inline;
          +    margin: 0 0 0 0.2em;
          +    padding: 0;
          +}
          +
          +/* -- Generic API item styles ----------------------------------------------- */
          +.apidocs .args {
          +    display: inline;
          +    margin: 0 0.5em;
          +}
          +
          +.apidocs .flag.chainable { background: #46ca3b; }
          +.apidocs .flag.protected { background: #9b86fc; }
          +.apidocs .flag.private { background: #fd6b1b; }
          +.apidocs .flag.async { background: #356de4; }
          +.apidocs .flag.required { background: #e60923; }
          +
          +.apidocs .item {
          +    border-bottom: 1px solid #efefef;
          +    margin: 1.5em 0 2em;
          +    padding-bottom: 2em;
          +}
          +
          +.apidocs .item h4,
          +.apidocs .item h5,
          +.apidocs .item h6 {
          +    color: #333;
          +    font-family: inherit;
          +    font-size: 100%;
          +}
          +
          +.apidocs .item .description p,
          +.apidocs .item pre.code {
          +    margin: 1em 0 0;
          +}
          +
          +.apidocs .item .meta {
          +    background: none;
          +    border: none;
          +    padding: 0;
          +}
          +
          +.apidocs .item .name {
          +    display: inline;
          +    font-size: 14px;
          +}
          +
          +.apidocs .item .type,
          +.apidocs .item .type a,
          +.apidocs .returns-inline {
          +    color: #555;
          +}
          +
          +.apidocs .item .type,
          +.apidocs .returns-inline {
          +    font-size: 11px;
          +    margin: 0 0 0 0;
          +}
          +
          +.apidocs .item .type a { border-bottom: 1px dotted #afafaf; }
          +.apidocs .item .type a:hover { border: none; }
          +
          +/* -- Item Parameter List --------------------------------------------------- */
          +.apidocs .params-list {
          +    list-style: square;
          +    margin: 1em 0 0 2em;
          +    padding: 0;
          +}
          +
          +.apidocs .param { margin-bottom: 1em; }
          +
          +.apidocs .param .type,
          +.apidocs .param .type a {
          +    color: #666;
          +}
          +
          +.apidocs .param .type {
          +    margin: 0 0 0 0.5em;
          +    *margin-left: 0.5em;
          +}
          +
          +.apidocs .param-name { font-weight: bold; }
          +
          +/* -- Item "Emits" block ---------------------------------------------------- */
          +.apidocs .item .emits {
          +    background: #f9f9f9;
          +    border-color: #eaeaea;
          +}
          +
          +/* -- Item "Returns" block -------------------------------------------------- */
          +.apidocs .item .returns .type,
          +.apidocs .item .returns .type a {
          +    font-size: 100%;
          +    margin: 0;
          +}
          +
          +/* -- Class Constructor block ----------------------------------------------- */
          +.apidocs .constructor .item {
          +    border: none;
          +    padding-bottom: 0;
          +}
          +
          +/* -- File Source View ------------------------------------------------------ */
          +.apidocs .file pre.code,
          +#doc .apidocs .file pre.prettyprint {
          +    background: inherit;
          +    border: none;
          +    overflow: visible;
          +    padding: 0;
          +}
          +
          +.apidocs .L0,
          +.apidocs .L1,
          +.apidocs .L2,
          +.apidocs .L3,
          +.apidocs .L4,
          +.apidocs .L5,
          +.apidocs .L6,
          +.apidocs .L7,
          +.apidocs .L8,
          +.apidocs .L9 {
          +    background: inherit;
          +}
          +
          +/* -- Submodule List -------------------------------------------------------- */
          +.apidocs .module-submodule-description {
          +    font-size: 12px;
          +    margin: 0.3em 0 1em;
          +}
          +
          +.apidocs .module-submodule-description p:first-child { margin-top: 0; }
          +
          +/* -- Sidebar TabView ------------------------------------------------------- */
          +#api-tabview { margin-top: 0.6em; }
          +
          +#api-tabview-filter,
          +#api-tabview-panel {
          +    border: 1px solid #dfdfdf;
          +}
          +
          +#api-tabview-filter {
          +    border-bottom: none;
          +    border-top: none;
          +    padding: 0.6em 10px 0 10px;
          +}
          +
          +#api-tabview-panel { border-top: none; }
          +#api-filter { width: 97%; }
          +
          +/* -- Content TabView ------------------------------------------------------- */
          +#classdocs .yui3-tabview-panel { border: none; }
          +
          +/* -- Source File Contents -------------------------------------------------- */
          +.prettyprint li.L0,
          +.prettyprint li.L1,
          +.prettyprint li.L2,
          +.prettyprint li.L3,
          +.prettyprint li.L5,
          +.prettyprint li.L6,
          +.prettyprint li.L7,
          +.prettyprint li.L8 {
          +    list-style: decimal;
          +}
          +
          +/* -- API options ----------------------------------------------------------- */
          +#api-options {
          +    font-size: 11px;
          +    margin-top: 2.2em;
          +    position: absolute;
          +    right: 1.5em;
          +}
          +
          +/*#api-options label { margin-right: 0.6em; }*/
          +
          +/* -- API list -------------------------------------------------------------- */
          +#api-list {
          +    margin-top: 1.5em;
          +    *zoom: 1;
          +}
          +
          +.apis {
          +    font-size: 12px;
          +    line-height: 1.4;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0.5em 0 0.5em 0.4em;
          +}
          +
          +.apis a {
          +    border: 1px solid transparent;
          +    display: block;
          +    margin: 0 0 0 -4px;
          +    padding: 1px 4px 0;
          +    text-decoration: none;
          +    _border: none;
          +    _display: inline;
          +}
          +
          +.apis a:hover,
          +.apis a:focus {
          +    background: #E8EDFC;
          +    background: -moz-linear-gradient(top, #e8edfc 0%, #becef7 100%);
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#E8EDFC), color-stop(100%,#BECEF7));
          +    border-color: #AAC0FA;
          +    border-radius: 3px;
          +    color: #333;
          +    outline: none;
          +}
          +
          +.api-list-item a:hover,
          +.api-list-item a:focus {
          +    font-weight: bold;
          +    text-shadow: 1px 1px 1px #fff;
          +}
          +
          +.apis .message { color: #888; }
          +.apis .result a { padding: 3px 5px 2px; }
          +
          +.apis .result .type {
          +    right: 4px;
          +    top: 7px;
          +}
          +
          +.api-list-item .yui3-highlight {
          +    font-weight: bold;
          +}
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/favicon.png b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/favicon.png
          new file mode 100644
          index 000000000..5a95ddab6
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/favicon.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/img/spinner.gif b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/img/spinner.gif
          new file mode 100644
          index 000000000..44f96ba68
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/img/spinner.gif differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/index.html
          new file mode 100644
          index 000000000..487fe15b2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/index.html
          @@ -0,0 +1,10 @@
          +<!doctype html>
          +<html>
          +    <head>
          +        <title>Redirector</title>
          +        <meta http-equiv="refresh" content="0;url=../">
          +    </head>
          +    <body>
          +        <a href="../">Click here to redirect</a>
          +    </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-filter.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-filter.js
          new file mode 100644
          index 000000000..37aefbab9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-filter.js
          @@ -0,0 +1,52 @@
          +YUI.add('api-filter', function (Y) {
          +
          +Y.APIFilter = Y.Base.create('apiFilter', Y.Base, [Y.AutoCompleteBase], {
          +    // -- Initializer ----------------------------------------------------------
          +    initializer: function () {
          +        this._bindUIACBase();
          +        this._syncUIACBase();
          +    },
          +    getDisplayName: function(name) {
          +
          +        Y.each(Y.YUIDoc.meta.allModules, function(i) {
          +            if (i.name === name && i.displayName) {
          +                name = i.displayName;
          +            }
          +        });
          +
          +        return name;
          +    }
          +
          +}, {
          +    // -- Attributes -----------------------------------------------------------
          +    ATTRS: {
          +        resultHighlighter: {
          +            value: 'phraseMatch'
          +        },
          +
          +        // May be set to "classes" or "modules".
          +        queryType: {
          +            value: 'classes'
          +        },
          +
          +        source: {
          +            valueFn: function() {
          +                var self = this;
          +                return function(q) {
          +                    var data = Y.YUIDoc.meta[self.get('queryType')],
          +                        out = [];
          +                    Y.each(data, function(v) {
          +                        if (v.toLowerCase().indexOf(q.toLowerCase()) > -1) {
          +                            out.push(v);
          +                        }
          +                    });
          +                    return out;
          +                };
          +            }
          +        }
          +    }
          +});
          +
          +}, '3.4.0', {requires: [
          +    'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-list.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-list.js
          new file mode 100644
          index 000000000..88905b52e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-list.js
          @@ -0,0 +1,251 @@
          +YUI.add('api-list', function (Y) {
          +
          +var Lang   = Y.Lang,
          +    YArray = Y.Array,
          +
          +    APIList = Y.namespace('APIList'),
          +
          +    classesNode    = Y.one('#api-classes'),
          +    inputNode      = Y.one('#api-filter'),
          +    modulesNode    = Y.one('#api-modules'),
          +    tabviewNode    = Y.one('#api-tabview'),
          +
          +    tabs = APIList.tabs = {},
          +
          +    filter = APIList.filter = new Y.APIFilter({
          +        inputNode : inputNode,
          +        maxResults: 1000,
          +
          +        on: {
          +            results: onFilterResults
          +        }
          +    }),
          +
          +    search = APIList.search = new Y.APISearch({
          +        inputNode : inputNode,
          +        maxResults: 100,
          +
          +        on: {
          +            clear  : onSearchClear,
          +            results: onSearchResults
          +        }
          +    }),
          +
          +    tabview = APIList.tabview = new Y.TabView({
          +        srcNode  : tabviewNode,
          +        panelNode: '#api-tabview-panel',
          +        render   : true,
          +
          +        on: {
          +            selectionChange: onTabSelectionChange
          +        }
          +    }),
          +
          +    focusManager = APIList.focusManager = tabviewNode.plug(Y.Plugin.NodeFocusManager, {
          +        circular   : true,
          +        descendants: '#api-filter, .yui3-tab-panel-selected .api-list-item a, .yui3-tab-panel-selected .result a',
          +        keys       : {next: 'down:40', previous: 'down:38'}
          +    }).focusManager,
          +
          +    LIST_ITEM_TEMPLATE =
          +        '<li class="api-list-item {typeSingular}">' +
          +            '<a href="{rootPath}{typePlural}/{name}.html">{displayName}</a>' +
          +        '</li>';
          +
          +// -- Init ---------------------------------------------------------------------
          +
          +// Duckpunch FocusManager's key event handling to prevent it from handling key
          +// events when a modifier is pressed.
          +Y.before(function (e, activeDescendant) {
          +    if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
          +        return new Y.Do.Prevent();
          +    }
          +}, focusManager, '_focusPrevious', focusManager);
          +
          +Y.before(function (e, activeDescendant) {
          +    if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
          +        return new Y.Do.Prevent();
          +    }
          +}, focusManager, '_focusNext', focusManager);
          +
          +// Create a mapping of tabs in the tabview so we can refer to them easily later.
          +tabview.each(function (tab, index) {
          +    var name = tab.get('label').toLowerCase();
          +
          +    tabs[name] = {
          +        index: index,
          +        name : name,
          +        tab  : tab
          +    };
          +});
          +
          +// Switch tabs on Ctrl/Cmd-Left/Right arrows.
          +tabviewNode.on('key', onTabSwitchKey, 'down:37,39');
          +
          +// Focus the filter input when the `/` key is pressed.
          +Y.one(Y.config.doc).on('key', onSearchKey, 'down:83');
          +
          +// Keep the Focus Manager up to date.
          +inputNode.on('focus', function () {
          +    focusManager.set('activeDescendant', inputNode);
          +});
          +
          +// Update all tabview links to resolved URLs.
          +tabview.get('panelNode').all('a').each(function (link) {
          +    link.setAttribute('href', link.get('href'));
          +});
          +
          +// -- Private Functions --------------------------------------------------------
          +function getFilterResultNode() {
          +    return filter.get('queryType') === 'classes' ? classesNode : modulesNode;
          +}
          +
          +// -- Event Handlers -----------------------------------------------------------
          +function onFilterResults(e) {
          +    var frag         = Y.one(Y.config.doc.createDocumentFragment()),
          +        resultNode   = getFilterResultNode(),
          +        typePlural   = filter.get('queryType'),
          +        typeSingular = typePlural === 'classes' ? 'class' : 'module';
          +
          +    if (e.results.length) {
          +        YArray.each(e.results, function (result) {
          +            frag.append(Lang.sub(LIST_ITEM_TEMPLATE, {
          +                rootPath    : APIList.rootPath,
          +                displayName : filter.getDisplayName(result.highlighted),
          +                name        : result.text,
          +                typePlural  : typePlural,
          +                typeSingular: typeSingular
          +            }));
          +        });
          +    } else {
          +        frag.append(
          +            '<li class="message">' +
          +                'No ' + typePlural + ' found.' +
          +            '</li>'
          +        );
          +    }
          +
          +    resultNode.empty(true);
          +    resultNode.append(frag);
          +
          +    focusManager.refresh();
          +}
          +
          +function onSearchClear(e) {
          +
          +    focusManager.refresh();
          +}
          +
          +function onSearchKey(e) {
          +    var target = e.target;
          +
          +    if (target.test('input,select,textarea')
          +            || target.get('isContentEditable')) {
          +        return;
          +    }
          +
          +    e.preventDefault();
          +
          +    inputNode.focus();
          +    focusManager.refresh();
          +}
          +
          +function onSearchResults(e) {
          +    var frag = Y.one(Y.config.doc.createDocumentFragment());
          +
          +    if (e.results.length) {
          +        YArray.each(e.results, function (result) {
          +            frag.append(result.display);
          +        });
          +    } else {
          +        frag.append(
          +            '<li class="message">' +
          +                'No results found. Maybe you\'ll have better luck with a ' +
          +                'different query?' +
          +            '</li>'
          +        );
          +    }
          +
          +
          +    focusManager.refresh();
          +}
          +
          +function onTabSelectionChange(e) {
          +    var tab  = e.newVal,
          +        name = tab.get('label').toLowerCase();
          +
          +    tabs.selected = {
          +        index: tab.get('index'),
          +        name : name,
          +        tab  : tab
          +    };
          +
          +    switch (name) {
          +    case 'classes': // fallthru
          +    case 'modules':
          +        filter.setAttrs({
          +            minQueryLength: 0,
          +            queryType     : name
          +        });
          +
          +        search.set('minQueryLength', -1);
          +
          +        // Only send a request if this isn't the initially-selected tab.
          +        if (e.prevVal) {
          +            filter.sendRequest(filter.get('value'));
          +        }
          +        break;
          +
          +    case 'everything':
          +        filter.set('minQueryLength', -1);
          +        search.set('minQueryLength', 1);
          +
          +        if (search.get('value')) {
          +            search.sendRequest(search.get('value'));
          +        } else {
          +            inputNode.focus();
          +        }
          +        break;
          +
          +    default:
          +        // WTF? We shouldn't be here!
          +        filter.set('minQueryLength', -1);
          +        search.set('minQueryLength', -1);
          +    }
          +
          +    if (focusManager) {
          +        setTimeout(function () {
          +            focusManager.refresh();
          +        }, 1);
          +    }
          +}
          +
          +function onTabSwitchKey(e) {
          +    var currentTabIndex = tabs.selected.index;
          +
          +    if (!(e.ctrlKey || e.metaKey)) {
          +        return;
          +    }
          +
          +    e.preventDefault();
          +
          +    switch (e.keyCode) {
          +    case 37: // left arrow
          +        if (currentTabIndex > 0) {
          +            tabview.selectChild(currentTabIndex - 1);
          +            inputNode.focus();
          +        }
          +        break;
          +
          +    case 39: // right arrow
          +        if (currentTabIndex < (Y.Object.size(tabs) - 2)) {
          +            tabview.selectChild(currentTabIndex + 1);
          +            inputNode.focus();
          +        }
          +        break;
          +    }
          +}
          +
          +}, '3.4.0', {requires: [
          +    'api-filter', 'api-search', 'event-key', 'node-focusmanager', 'tabview'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-search.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-search.js
          new file mode 100644
          index 000000000..175f6a617
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/api-search.js
          @@ -0,0 +1,98 @@
          +YUI.add('api-search', function (Y) {
          +
          +var Lang   = Y.Lang,
          +    Node   = Y.Node,
          +    YArray = Y.Array;
          +
          +Y.APISearch = Y.Base.create('apiSearch', Y.Base, [Y.AutoCompleteBase], {
          +    // -- Public Properties ----------------------------------------------------
          +    RESULT_TEMPLATE:
          +        '<li class="result {resultType}">' +
          +            '<a href="{url}">' +
          +                '<h3 class="title">{name}</h3>' +
          +                '<span class="type">{resultType}</span>' +
          +                '<div class="description">{description}</div>' +
          +                '<span class="className">{class}</span>' +
          +            '</a>' +
          +        '</li>',
          +
          +    // -- Initializer ----------------------------------------------------------
          +    initializer: function () {
          +        this._bindUIACBase();
          +        this._syncUIACBase();
          +    },
          +
          +    // -- Protected Methods ----------------------------------------------------
          +    _apiResultFilter: function (query, results) {
          +        // Filter components out of the results.
          +        return YArray.filter(results, function (result) {
          +            return result.raw.resultType === 'component' ? false : result;
          +        });
          +    },
          +
          +    _apiResultFormatter: function (query, results) {
          +        return YArray.map(results, function (result) {
          +            var raw  = Y.merge(result.raw), // create a copy
          +                desc = raw.description || '';
          +
          +            // Convert description to text and truncate it if necessary.
          +            desc = Node.create('<div>' + desc + '</div>').get('text');
          +
          +            if (desc.length > 65) {
          +                desc = Y.Escape.html(desc.substr(0, 65)) + ' &hellip;';
          +            } else {
          +                desc = Y.Escape.html(desc);
          +            }
          +
          +            raw['class'] || (raw['class'] = '');
          +            raw.description = desc;
          +
          +            // Use the highlighted result name.
          +            raw.name = result.highlighted;
          +
          +            return Lang.sub(this.RESULT_TEMPLATE, raw);
          +        }, this);
          +    },
          +
          +    _apiTextLocator: function (result) {
          +        return result.displayName || result.name;
          +    }
          +}, {
          +    // -- Attributes -----------------------------------------------------------
          +    ATTRS: {
          +        resultFormatter: {
          +            valueFn: function () {
          +                return this._apiResultFormatter;
          +            }
          +        },
          +
          +        resultFilters: {
          +            valueFn: function () {
          +                return this._apiResultFilter;
          +            }
          +        },
          +
          +        resultHighlighter: {
          +            value: 'phraseMatch'
          +        },
          +
          +        resultListLocator: {
          +            value: 'data.results'
          +        },
          +
          +        resultTextLocator: {
          +            valueFn: function () {
          +                return this._apiTextLocator;
          +            }
          +        },
          +
          +        source: {
          +            value: '/api/v1/search?q={query}&count={maxResults}'
          +        }
          +    }
          +});
          +
          +}, '3.4.0', {requires: [
          +    'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources',
          +    'escape'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/apidocs.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/apidocs.js
          new file mode 100644
          index 000000000..fc0cacc0f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/apidocs.js
          @@ -0,0 +1,351 @@
          +YUI().use(
          +    'yuidoc-meta',
          +    'api-list', 'history-hash', 'node-screen', 'node-style', 'pjax',
          +function (Y) {
          +
          +var win          = Y.config.win,
          +    localStorage = win.localStorage,
          +
          +    bdNode = Y.one('#bd'),
          +
          +    pjax,
          +
          +    classTabView,
          +    selectedTab;
          +
          +// Kill pjax functionality unless serving over HTTP.
          +if (!Y.getLocation().protocol.match(/^https?\:/)) {
          +    Y.Router.html5 = false;
          +}
          +
          +pjax = new Y.Pjax({
          +    container      : '#docs-main',
          +    contentSelector: '#docs-main > .content',
          +    linkSelector   : '#bd a',
          +    titleSelector  : '#xhr-title',
          +
          +    navigateOnHash: true,
          +    root          : '/',
          +    routes        : [
          +        // -- / ----------------------------------------------------------------
          +        {path: '/(index.html)?', callback: '_defaultRoute'},
          +
          +        // -- /classes/* -------------------------------------------------------
          +        {path: '/classes/:class.html*', callback: 'handleClasses'},
          +        {path: '/classes/:class.html*', callback: '_defaultRoute'},
          +
          +        // -- /files/* ---------------------------------------------------------
          +        {path: '/files/*file', callback: 'handleFiles'},
          +        {path: '/files/*file', callback: '_defaultRoute'},
          +
          +        // -- /modules/* -------------------------------------------------------
          +        {path: '/modules/:module.html*', callback: '_defaultRoute'}
          +    ]
          +});
          +
          +// -- Utility Functions --------------------------------------------------------
          +
          +pjax.checkVisibility = function (tab) {
          +    tab || (tab = selectedTab);
          +
          +    if (!tab) { return; }
          +
          +    var panelNode = tab.get('panelNode'),
          +        visibleItems;
          +
          +    // If no items are visible in the tab panel due to the current visibility
          +    // settings, display a message to that effect.
          +    visibleItems = panelNode.all('.item,.index-item').some(function (itemNode) {
          +        if (itemNode.getComputedStyle('display') !== 'none') {
          +            return true;
          +        }
          +    });
          +
          +    panelNode.all('.no-visible-items').remove();
          +
          +    if (!visibleItems) {
          +        if (Y.one('#index .index-item')) {
          +            panelNode.append(
          +                '<div class="no-visible-items">' +
          +                    '<p>' +
          +                    'Some items are not shown due to the current visibility ' +
          +                    'settings. Use the checkboxes at the upper right of this ' +
          +                    'page to change the visibility settings.' +
          +                    '</p>' +
          +                '</div>'
          +            );
          +        } else {
          +            panelNode.append(
          +                '<div class="no-visible-items">' +
          +                    '<p>' +
          +                    'This class doesn\'t provide any methods, properties, ' +
          +                    'attributes, or events.' +
          +                    '</p>' +
          +                '</div>'
          +            );
          +        }
          +    }
          +
          +    // Hide index sections without any visible items.
          +    Y.all('.index-section').each(function (section) {
          +        var items        = 0,
          +            visibleItems = 0;
          +
          +        section.all('.index-item').each(function (itemNode) {
          +            items += 1;
          +
          +            if (itemNode.getComputedStyle('display') !== 'none') {
          +                visibleItems += 1;
          +            }
          +        });
          +
          +        section.toggleClass('hidden', !visibleItems);
          +        section.toggleClass('no-columns', visibleItems < 4);
          +    });
          +};
          +
          +pjax.initClassTabView = function () {
          +    if (!Y.all('#classdocs .api-class-tab').size()) {
          +        return;
          +    }
          +
          +    if (classTabView) {
          +        classTabView.destroy();
          +        selectedTab = null;
          +    }
          +
          +    classTabView = new Y.TabView({
          +        srcNode: '#classdocs',
          +
          +        on: {
          +            selectionChange: pjax.onTabSelectionChange
          +        }
          +    });
          +
          +    pjax.updateTabState();
          +    classTabView.render();
          +};
          +
          +pjax.initLineNumbers = function () {
          +    var hash      = win.location.hash.substring(1),
          +        container = pjax.get('container'),
          +        hasLines, node;
          +
          +    // Add ids for each line number in the file source view.
          +    container.all('.linenums>li').each(function (lineNode, index) {
          +        lineNode.set('id', 'l' + (index + 1));
          +        lineNode.addClass('file-line');
          +        hasLines = true;
          +    });
          +
          +    // Scroll to the desired line.
          +    if (hasLines && /^l\d+$/.test(hash)) {
          +        if ((node = container.getById(hash))) {
          +            win.scroll(0, node.getY());
          +        }
          +    }
          +};
          +
          +pjax.initRoot = function () {
          +    var terminators = /^(?:classes|files|modules)$/,
          +        parts       = pjax._getRoot().split('/'),
          +        root        = [],
          +        i, len, part;
          +
          +    for (i = 0, len = parts.length; i < len; i += 1) {
          +        part = parts[i];
          +
          +        if (part.match(terminators)) {
          +            // Makes sure the path will end with a "/".
          +            root.push('');
          +            break;
          +        }
          +
          +        root.push(part);
          +    }
          +
          +    pjax.set('root', root.join('/'));
          +};
          +
          +pjax.updateTabState = function (src) {
          +    var hash = win.location.hash.substring(1),
          +        defaultTab, node, tab, tabPanel;
          +
          +    function scrollToNode() {
          +        if (node.hasClass('protected')) {
          +            Y.one('#api-show-protected').set('checked', true);
          +            pjax.updateVisibility();
          +        }
          +
          +        if (node.hasClass('private')) {
          +            Y.one('#api-show-private').set('checked', true);
          +            pjax.updateVisibility();
          +        }
          +
          +        setTimeout(function () {
          +            // For some reason, unless we re-get the node instance here,
          +            // getY() always returns 0.
          +            var node = Y.one('#classdocs').getById(hash);
          +            win.scrollTo(0, node.getY() - 70);
          +        }, 1);
          +    }
          +
          +    if (!classTabView) {
          +        return;
          +    }
          +
          +    if (src === 'hashchange' && !hash) {
          +        defaultTab = 'index';
          +    } else {
          +        if (localStorage) {
          +            defaultTab = localStorage.getItem('tab_' + pjax.getPath()) ||
          +                'index';
          +        } else {
          +            defaultTab = 'index';
          +        }
          +    }
          +
          +    if (hash && (node = Y.one('#classdocs').getById(hash))) {
          +        if ((tabPanel = node.ancestor('.api-class-tabpanel', true))) {
          +            if ((tab = Y.one('#classdocs .api-class-tab.' + tabPanel.get('id')))) {
          +                if (classTabView.get('rendered')) {
          +                    Y.Widget.getByNode(tab).set('selected', 1);
          +                } else {
          +                    tab.addClass('yui3-tab-selected');
          +                }
          +            }
          +        }
          +
          +        // Scroll to the desired element if this is a hash URL.
          +        if (node) {
          +            if (classTabView.get('rendered')) {
          +                scrollToNode();
          +            } else {
          +                classTabView.once('renderedChange', scrollToNode);
          +            }
          +        }
          +    } else {
          +        tab = Y.one('#classdocs .api-class-tab.' + defaultTab);
          +
          +        if (classTabView.get('rendered')) {
          +            Y.Widget.getByNode(tab).set('selected', 1);
          +        } else {
          +            tab.addClass('yui3-tab-selected');
          +        }
          +    }
          +};
          +
          +pjax.updateVisibility = function () {
          +    var container = pjax.get('container');
          +
          +    container.toggleClass('hide-inherited',
          +            !Y.one('#api-show-inherited').get('checked'));
          +
          +    container.toggleClass('show-deprecated',
          +            Y.one('#api-show-deprecated').get('checked'));
          +
          +    container.toggleClass('show-protected',
          +            Y.one('#api-show-protected').get('checked'));
          +
          +    container.toggleClass('show-private',
          +            Y.one('#api-show-private').get('checked'));
          +
          +    pjax.checkVisibility();
          +};
          +
          +// -- Route Handlers -----------------------------------------------------------
          +
          +pjax.handleClasses = function (req, res, next) {
          +    pjax.onceAfter(['error', 'load'], function (e) {
          +        if (e.type === 'pjax:load') {
          +            pjax.initClassTabView();
          +        }
          +    });
          +
          +    next();
          +};
          +
          +pjax.handleFiles = function (req, res, next) {
          +    pjax.onceAfter(['error', 'load'], function (e) {
          +        if (e.type === 'pjax:load') {
          +            pjax.initLineNumbers();
          +        }
          +    });
          +
          +    next();
          +};
          +
          +// -- Event Handlers -----------------------------------------------------------
          +
          +pjax.afterContent = function (e) {
          +    // Enable syntax highlighting on the loaded content.
          +    prettyPrint();
          +
          +    bdNode.removeClass('loading');
          +};
          +
          +pjax.onNavigate = function (e) {
          +    var hash         = e.hash,
          +        originTarget = e.originEvent && e.originEvent.target,
          +        tab;
          +
          +    if (hash) {
          +        tab = originTarget && originTarget.ancestor('.yui3-tab', true);
          +
          +        if (hash === win.location.hash) {
          +            pjax.updateTabState('hashchange');
          +        } else if (!tab) {
          +            win.location.hash = hash;
          +        }
          +
          +        e.preventDefault();
          +        return;
          +    }
          +
          +    // Only scroll to the top of the page when the URL doesn't have a hash.
          +    this.set('scrollToTop', !e.url.match(/#.+$/));
          +
          +    bdNode.addClass('loading');
          +};
          +
          +pjax.onOptionClick = function (e) {
          +    pjax.updateVisibility();
          +};
          +
          +pjax.onTabSelectionChange = function (e) {
          +    var tab   = e.newVal,
          +        tabId = tab.get('contentBox').getAttribute('href').substring(1);
          +
          +    selectedTab = tab;
          +
          +    // If switching from a previous tab (i.e., this is not the default tab),
          +    // replace the history entry with a hash URL that will cause this tab to
          +    // be selected if the user navigates away and then returns using the back
          +    // or forward buttons.
          +    if (e.prevVal && localStorage) {
          +        localStorage.setItem('tab_' + pjax.getPath(), tabId);
          +    }
          +
          +    pjax.checkVisibility(tab);
          +};
          +
          +// -- Init ---------------------------------------------------------------------
          +
          +pjax.on('navigate', pjax.onNavigate);
          +pjax.after(['error', 'load'], pjax.afterContent);
          +
          +pjax.initRoot();
          +pjax.initClassTabView();
          +pjax.initLineNumbers();
          +pjax.updateVisibility();
          +pjax.upgrade();
          +
          +Y.APIList.rootPath = pjax.get('root');
          +
          +Y.one('#api-options').delegate('click', pjax.onOptionClick, 'input');
          +
          +Y.on('hashchange', function (e) {
          +    pjax.updateTabState('hashchange');
          +}, win);
          +
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/yui-prettify.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/yui-prettify.js
          new file mode 100644
          index 000000000..18de86495
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/js/yui-prettify.js
          @@ -0,0 +1,17 @@
          +YUI().use('node', function(Y) {
          +    var code = Y.all('.prettyprint.linenums');
          +    if (code.size()) {
          +        code.each(function(c) {
          +            var lis = c.all('ol li'),
          +                l = 1;
          +            lis.each(function(n) {
          +                n.prepend('<a name="LINENUM_' + l + '"></a>');
          +                l++;
          +            });
          +        });
          +        var h = location.hash;
          +        location.hash = '';
          +        h = h.replace('LINE_', 'LINENUM_');
          +        location.hash = h;
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/CHANGES.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/CHANGES.html
          new file mode 100644
          index 000000000..b50b84149
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/CHANGES.html
          @@ -0,0 +1,130 @@
          +<html>
          +  <head>
          +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +    <title>Change Log</title>
          +  </head>
          +  <body bgcolor="white">
          +    <a style="float:right" href="README.html">README</a>
          +
          +    <h1>Known Issues</h1>
          +    <ul>
          +      <li>Perl formatting is really crappy.  Partly because the author is lazy and
          +      partly because Perl is
          +      <a href="http://www.perlmonks.org/?node_id=663393">hard</a> to parse.
          +      <li>On some browsers, <code>&lt;code&gt;</code> elements with newlines in the text
          +      which use CSS to specify <code>white-space:pre</code> will have the newlines
          +      improperly stripped if the element is not attached to the document at the time
          +      the stripping is done.  Also, on IE 6, all newlines will be stripped from
          +      <code>&lt;code&gt;</code> elements because of the way IE6 produces
          +      <code>innerHTML</code>.  Workaround: use <code>&lt;pre&gt;</code> for code with
          +      newlines.
          +    </ul>
          +
          +    <h1>Change Log</h1>
          +    <h2>29 March 2007</h2>
          +    <ul>
          +      <li>Added <a href="tests/prettify_test.html#PHP">tests</a> for PHP support
          +        to address 
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=3"
          +       >issue 3</a>.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=6"
          +       >bug</a>: <code>prettyPrintOne</code> was not halting.  This was not
          +        reachable through the normal entry point.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >bug</a>: recursing into a script block or PHP tag that was not properly
          +        closed would not silently drop the content.
          +        (<a href="tests/prettify_test.html#issue4">test</a>)
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=8"
          +       >bug</a>: was eating tabs
          +        (<a href="tests/prettify_test.html#issue8">test</a>)
          +      <li>Fixed entity handling so that the caveat
          +        <blockquote>
          +          <p>Caveats: please properly escape less-thans.  <tt>x&amp;lt;y</tt>
          +          instead of <tt>x&lt;y</tt>, and use <tt>&quot;</tt> instead of 
          +          <tt>&amp;quot;</tt> for string delimiters.</p>
          +        </blockquote>
          +        is no longer applicable.
          +      <li>Added noisefree's C#
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >patch</a>
          +      <li>Added a <a href="http://google-code-prettify.googlecode.com/files/prettify-small.zip">distribution</a> that has comments and
          +        whitespace removed to reduce download size from 45.5kB to 12.8kB.
          +    </ul>
          +    <h2>4 Jul 2008</h2>
          +    <ul>
          +      <li>Added <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=17">language specific formatters</a> that are triggered by the presence
          +      of a <code>lang-&lt;language-file-extension&gt;</code></li>
          +      <li>Fixed <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=29">bug</a>: python handling of <code>'''string'''</code>
          +      <li>Fixed bug: <code>/</code> in regex <code>[charsets] should not end regex</code>
          +    </ul>
          +    <h2>5 Jul 2008</h2>
          +    <ul>
          +      <li>Defined language extensions for Lisp and Lua</code>
          +    </ul>
          +    <h2>14 Jul 2008</h2>
          +    <ul>
          +      <li>Language handlers for F#, OCAML, SQL</code>
          +      <li>Support for <code>nocode</code> spans to allow embedding of line
          +      numbers and code annotations which should not be styled or otherwise
          +      affect the tokenization of prettified code.
          +      See the issue 22
          +      <a href="tests/prettify_test.html#issue22">testcase</a>.</code>
          +    </ul>
          +    <h2>6 Jan 2009</h2>
          +    <ul>
          +      <li>Language handlers for Visual Basic, Haskell, CSS, and WikiText</li>
          +      <li>Added <tt>.mxml</tt> extension to the markup style handler for
          +        Flex <a href="http://en.wikipedia.org/wiki/MXML">MXML files</a>.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=37"
          +        >issue 37</a>.
          +      <li>Added <tt>.m</tt> extension to the C style handler so that Objective
          +        C source files properly highlight.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=58"
          +       >issue 58</a>.
          +      <li>Changed HTML lexer to use the same embedded source mechanism as the
          +        wiki language handler, and changed to use the registered
          +        CSS handler for STYLE element content.
          +    </ul>
          +    <h2>21 May 2009</h2>
          +    <ul>
          +      <li>Rewrote to improve performance on large files.
          +        See <a href="http://mikesamuel.blogspot.com/2009/05/efficient-parsing-in-javascript.html">benchmarks</a>.</li>
          +      <li>Fixed bugs with highlighting of Haskell line comments, Lisp
          +        number literals, Lua strings, C preprocessor directives,
          +        newlines in Wiki code on Windows, and newlines in IE6.</li>
          +    </ul>
          +    <h2>14 August 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of <code>&lt;code&gt;</code> blocks with embedded newlines.
          +    </ul>
          +    <h2>3 October 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of XML/HTML tags that contain uppercase letters.
          +    </ul>
          +    <h2>19 July 2010</h2>
          +    <ul>
          +      <li>Added support for line numbers.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=22"
          +         >22</a></li>
          +      <li>Added YAML support.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=123"
          +         >123</a></li>
          +      <li>Added VHDL support courtesy Le Poussin.</li>
          +      <li>IE performance improvements.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=102"
          +         >102</a> courtesy jacobly.</li>
          +      <li>A variety of markup formatting fixes courtesy smain and thezbyg.</li>
          +      <li>Fixed copy and paste in IE[678].
          +      <li>Changed output to use <code>&amp;#160;</code> instead of
          +        <code>&amp;nbsp;</code> so that the output works when embedded in XML.
          +        Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=108"
          +         >108</a>.</li>
          +    </ul>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/COPYING b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/COPYING
          new file mode 100644
          index 000000000..d64569567
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/COPYING
          @@ -0,0 +1,202 @@
          +
          +                                 Apache License
          +                           Version 2.0, January 2004
          +                        http://www.apache.org/licenses/
          +
          +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
          +
          +   1. Definitions.
          +
          +      "License" shall mean the terms and conditions for use, reproduction,
          +      and distribution as defined by Sections 1 through 9 of this document.
          +
          +      "Licensor" shall mean the copyright owner or entity authorized by
          +      the copyright owner that is granting the License.
          +
          +      "Legal Entity" shall mean the union of the acting entity and all
          +      other entities that control, are controlled by, or are under common
          +      control with that entity. For the purposes of this definition,
          +      "control" means (i) the power, direct or indirect, to cause the
          +      direction or management of such entity, whether by contract or
          +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
          +      outstanding shares, or (iii) beneficial ownership of such entity.
          +
          +      "You" (or "Your") shall mean an individual or Legal Entity
          +      exercising permissions granted by this License.
          +
          +      "Source" form shall mean the preferred form for making modifications,
          +      including but not limited to software source code, documentation
          +      source, and configuration files.
          +
          +      "Object" form shall mean any form resulting from mechanical
          +      transformation or translation of a Source form, including but
          +      not limited to compiled object code, generated documentation,
          +      and conversions to other media types.
          +
          +      "Work" shall mean the work of authorship, whether in Source or
          +      Object form, made available under the License, as indicated by a
          +      copyright notice that is included in or attached to the work
          +      (an example is provided in the Appendix below).
          +
          +      "Derivative Works" shall mean any work, whether in Source or Object
          +      form, that is based on (or derived from) the Work and for which the
          +      editorial revisions, annotations, elaborations, or other modifications
          +      represent, as a whole, an original work of authorship. For the purposes
          +      of this License, Derivative Works shall not include works that remain
          +      separable from, or merely link (or bind by name) to the interfaces of,
          +      the Work and Derivative Works thereof.
          +
          +      "Contribution" shall mean any work of authorship, including
          +      the original version of the Work and any modifications or additions
          +      to that Work or Derivative Works thereof, that is intentionally
          +      submitted to Licensor for inclusion in the Work by the copyright owner
          +      or by an individual or Legal Entity authorized to submit on behalf of
          +      the copyright owner. For the purposes of this definition, "submitted"
          +      means any form of electronic, verbal, or written communication sent
          +      to the Licensor or its representatives, including but not limited to
          +      communication on electronic mailing lists, source code control systems,
          +      and issue tracking systems that are managed by, or on behalf of, the
          +      Licensor for the purpose of discussing and improving the Work, but
          +      excluding communication that is conspicuously marked or otherwise
          +      designated in writing by the copyright owner as "Not a Contribution."
          +
          +      "Contributor" shall mean Licensor and any individual or Legal Entity
          +      on behalf of whom a Contribution has been received by Licensor and
          +      subsequently incorporated within the Work.
          +
          +   2. Grant of Copyright License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      copyright license to reproduce, prepare Derivative Works of,
          +      publicly display, publicly perform, sublicense, and distribute the
          +      Work and such Derivative Works in Source or Object form.
          +
          +   3. Grant of Patent License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      (except as stated in this section) patent license to make, have made,
          +      use, offer to sell, sell, import, and otherwise transfer the Work,
          +      where such license applies only to those patent claims licensable
          +      by such Contributor that are necessarily infringed by their
          +      Contribution(s) alone or by combination of their Contribution(s)
          +      with the Work to which such Contribution(s) was submitted. If You
          +      institute patent litigation against any entity (including a
          +      cross-claim or counterclaim in a lawsuit) alleging that the Work
          +      or a Contribution incorporated within the Work constitutes direct
          +      or contributory patent infringement, then any patent licenses
          +      granted to You under this License for that Work shall terminate
          +      as of the date such litigation is filed.
          +
          +   4. Redistribution. You may reproduce and distribute copies of the
          +      Work or Derivative Works thereof in any medium, with or without
          +      modifications, and in Source or Object form, provided that You
          +      meet the following conditions:
          +
          +      (a) You must give any other recipients of the Work or
          +          Derivative Works a copy of this License; and
          +
          +      (b) You must cause any modified files to carry prominent notices
          +          stating that You changed the files; and
          +
          +      (c) You must retain, in the Source form of any Derivative Works
          +          that You distribute, all copyright, patent, trademark, and
          +          attribution notices from the Source form of the Work,
          +          excluding those notices that do not pertain to any part of
          +          the Derivative Works; and
          +
          +      (d) If the Work includes a "NOTICE" text file as part of its
          +          distribution, then any Derivative Works that You distribute must
          +          include a readable copy of the attribution notices contained
          +          within such NOTICE file, excluding those notices that do not
          +          pertain to any part of the Derivative Works, in at least one
          +          of the following places: within a NOTICE text file distributed
          +          as part of the Derivative Works; within the Source form or
          +          documentation, if provided along with the Derivative Works; or,
          +          within a display generated by the Derivative Works, if and
          +          wherever such third-party notices normally appear. The contents
          +          of the NOTICE file are for informational purposes only and
          +          do not modify the License. You may add Your own attribution
          +          notices within Derivative Works that You distribute, alongside
          +          or as an addendum to the NOTICE text from the Work, provided
          +          that such additional attribution notices cannot be construed
          +          as modifying the License.
          +
          +      You may add Your own copyright statement to Your modifications and
          +      may provide additional or different license terms and conditions
          +      for use, reproduction, or distribution of Your modifications, or
          +      for any such Derivative Works as a whole, provided Your use,
          +      reproduction, and distribution of the Work otherwise complies with
          +      the conditions stated in this License.
          +
          +   5. Submission of Contributions. Unless You explicitly state otherwise,
          +      any Contribution intentionally submitted for inclusion in the Work
          +      by You to the Licensor shall be under the terms and conditions of
          +      this License, without any additional terms or conditions.
          +      Notwithstanding the above, nothing herein shall supersede or modify
          +      the terms of any separate license agreement you may have executed
          +      with Licensor regarding such Contributions.
          +
          +   6. Trademarks. This License does not grant permission to use the trade
          +      names, trademarks, service marks, or product names of the Licensor,
          +      except as required for reasonable and customary use in describing the
          +      origin of the Work and reproducing the content of the NOTICE file.
          +
          +   7. Disclaimer of Warranty. Unless required by applicable law or
          +      agreed to in writing, Licensor provides the Work (and each
          +      Contributor provides its Contributions) on an "AS IS" BASIS,
          +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
          +      implied, including, without limitation, any warranties or conditions
          +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
          +      PARTICULAR PURPOSE. You are solely responsible for determining the
          +      appropriateness of using or redistributing the Work and assume any
          +      risks associated with Your exercise of permissions under this License.
          +
          +   8. Limitation of Liability. In no event and under no legal theory,
          +      whether in tort (including negligence), contract, or otherwise,
          +      unless required by applicable law (such as deliberate and grossly
          +      negligent acts) or agreed to in writing, shall any Contributor be
          +      liable to You for damages, including any direct, indirect, special,
          +      incidental, or consequential damages of any character arising as a
          +      result of this License or out of the use or inability to use the
          +      Work (including but not limited to damages for loss of goodwill,
          +      work stoppage, computer failure or malfunction, or any and all
          +      other commercial damages or losses), even if such Contributor
          +      has been advised of the possibility of such damages.
          +
          +   9. Accepting Warranty or Additional Liability. While redistributing
          +      the Work or Derivative Works thereof, You may choose to offer,
          +      and charge a fee for, acceptance of support, warranty, indemnity,
          +      or other liability obligations and/or rights consistent with this
          +      License. However, in accepting such obligations, You may act only
          +      on Your own behalf and on Your sole responsibility, not on behalf
          +      of any other Contributor, and only if You agree to indemnify,
          +      defend, and hold each Contributor harmless for any liability
          +      incurred by, or claims asserted against, such Contributor by reason
          +      of your accepting any such warranty or additional liability.
          +
          +   END OF TERMS AND CONDITIONS
          +
          +   APPENDIX: How to apply the Apache License to your work.
          +
          +      To apply the Apache License to your work, attach the following
          +      boilerplate notice, with the fields enclosed by brackets "[]"
          +      replaced with your own identifying information. (Don't include
          +      the brackets!)  The text should be enclosed in the appropriate
          +      comment syntax for the file format. We also recommend that a
          +      file or class name and description of purpose be included on the
          +      same "printed page" as the copyright notice for easier
          +      identification within third-party archives.
          +
          +   Copyright [yyyy] [name of copyright owner]
          +
          +   Licensed under the Apache License, Version 2.0 (the "License");
          +   you may not use this file except in compliance with the License.
          +   You may obtain a copy of the License at
          +
          +       http://www.apache.org/licenses/LICENSE-2.0
          +
          +   Unless required by applicable law or agreed to in writing, software
          +   distributed under the License is distributed on an "AS IS" BASIS,
          +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          +   See the License for the specific language governing permissions and
          +   limitations under the License.
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/README.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/README.html
          new file mode 100644
          index 000000000..c6fe1a32c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/README.html
          @@ -0,0 +1,203 @@
          +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          +
          +<html>
          +  <head>
          +    <title>Javascript code prettifier</title>
          +
          +    <link href="src/prettify.css" type="text/css" rel="stylesheet" />
          +
          +    <script src="src/prettify.js" type="text/javascript"></script>
          +
          +    <style type="text/css">
          +      body { margin-left: .5in }
          +      h1, h2, h3, h4, .footer { margin-left: -.4in; }
          +    </style>
          +  </head>
          +
          +  <body onload="prettyPrint()" bgcolor="white">
          +    <small style="float: right">Languages : <a href="README-zh-Hans.html">CH</a></small>
          +    <h1>Javascript code prettifier</h1>
          +
          +    <h2>Setup</h2>
          +    <ol>
          +      <li><a href="http://code.google.com/p/google-code-prettify/downloads/list">Download</a> a distribution
          +      <li>Include the script and stylesheets in your document
          +        (you will need to make sure the css and js file are on your server, and
          +         adjust the paths in the <tt>script</tt> and <tt>link</tt> tag)
          +        <pre class="prettyprint">
          +&lt;link href="prettify.css" type="text/css" rel="stylesheet" />
          +&lt;script type="text/javascript" src="prettify.js">&lt;/script></pre>
          +      <li>Add <code class="prettyprint lang-html">onload="prettyPrint()"</code> to your
          +      document's body tag.
          +      <li>Modify the stylesheet to get the coloring you prefer</li>
          +    </ol>
          +
          +    <h2>Usage</h2>
          +    <p>Put code snippets in
          +    <tt>&lt;pre class="prettyprint"&gt;...&lt;/pre&gt;</tt>
          +    or <tt>&lt;code class="prettyprint"&gt;...&lt;/code&gt;</tt>
          +    and it will automatically be pretty printed.
          +
          +    <table summary="code examples">
          +      <tr>
          +        <th>The original
          +        <th>Prettier
          +      <tr>
          +        <td><pre style="border: 1px solid #888;padding: 2px"
          +             ><a name="voila1"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila1">tags</a>.
          +}</pre>
          +
          +        <td><pre class="prettyprint"><a name="voila2"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila2">tags</a>.
          +}</pre>
          +    </table>
          +
          +    <h2>FAQ</h2>
          +    <h3 id="langs">Which languages does it work for?</h3>
          +    <p>The comments in <tt>prettify.js</tt> are authoritative but the lexer
          +    should work on a number of languages including C and friends,
          +    Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles.
          +    It works passably on Ruby, PHP, VB, and Awk and a decent subset of Perl
          +    and Ruby, but, because of commenting conventions, doesn't work on
          +    Smalltalk, or CAML-like languages.</p>
          +
          +    <p>LISPy languages are supported via an extension:
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lisp.js"
          +     ><code>lang-lisp.js</code></a>.</p>
          +    <p>And similarly for
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-css.js"
          +     ><code>CSS</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-hs.js"
          +     ><code>Haskell</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lua.js"
          +     ><code>Lua</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-ml.js"
          +     ><code>OCAML, SML, F#</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-vb.js"
          +     ><code>Visual Basic</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js"
          +     ><code>SQL</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-proto.js"
          +     ><code>Protocol Buffers</code></a>, and
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-wiki.js"
          +     ><code>WikiText</code></a>..
          +
          +    <p>If you'd like to add an extension for your favorite language, please
          +    look at <tt>src/lang-lisp.js</tt> and file an
          +    <a href="http://code.google.com/p/google-code-prettify/issues/list"
          +     >issue</a> including your language extension, and a testcase.</p>
          +
          +    <h3>How do I specify which language my code is in?</h3>
          +    <p>You don't need to specify the language since <code>prettyprint()</code>
          +    will guess.  You can specify a language by specifying the language extension
          +    along with the <code>prettyprint</code> class like so:</p>
          +    <pre class="prettyprint lang-html"
          +>&lt;pre class=&quot;prettyprint <b>lang-html</b>&quot;&gt;
          +  The lang-* class specifies the language file extensions.
          +  File extensions supported by default include
          +    "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
          +    "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
          +    "xhtml", "xml", "xsl".
          +&lt;/pre&gt;</pre>
          +
          +    <h3>It doesn't work on <tt>&lt;obfuscated code sample&gt;</tt>?</h3>
          +    <p>Yes.  Prettifying obfuscated code is like putting lipstick on a pig
          +    &mdash; i.e. outside the scope of this tool.</p>
          +
          +    <h3>Which browsers does it work with?</h3>
          +    <p>It's been tested with IE 6, Firefox 1.5 &amp; 2, and Safari 2.0.4.
          +    Look at <a href="tests/prettify_test.html">the test page</a> to see if it
          +    works in your browser.</p>
          +
          +    <h3>What's changed?</h3>
          +    <p>See the <a href="CHANGES.html">change log</a></p>
          +
          +    <h3>Why doesn't Prettyprinting of strings work on WordPress?</h3>
          +    <p>Apparently wordpress does "smart quoting" which changes close quotes.
          +    This causes end quotes to not match up with open quotes.
          +    <p>This breaks prettifying as well as copying and pasting of code samples.
          +    See
          +    <a href="http://wordpress.org/support/topic/125038"
          +    >WordPress's help center</a> for info on how to stop smart quoting of code
          +    snippets.</p>
          +
          +    <h3 id="linenums">How do I put line numbers in my code?</h3>
          +    <p>You can use the <code>linenums</code> class to turn on line
          +    numbering.  If your code doesn't start at line number 1, you can
          +    add a colon and a line number to the end of that class as in
          +    <code>linenums:52</code>.
          +
          +    <p>For example
          +<pre class="prettyprint">&lt;pre class="prettyprint linenums:<b>4</b>"
          +&gt;// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +&lt;pre&gt;</pre>
          +    produces
          +<pre class="prettyprint linenums:4"
          +>// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +</pre>
          +
          +    <h3>How do I prevent a portion of markup from being marked as code?</h3>
          +    <p>You can use the <code>nocode</code> class to identify a span of markup
          +    that is not code.
          +<pre class="prettyprint">&lt;pre class=prettyprint&gt;
          +int x = foo();  /* This is a comment  &lt;span class="nocode"&gt;This is not code&lt;/span&gt;
          +  Continuation of comment */
          +int y = bar();
          +&lt;/pre&gt;</pre>
          +produces
          +<pre class="prettyprint">
          +int x = foo();  /* This is a comment  <span class="nocode">This is not code</span>
          +  Continuation of comment */
          +int y = bar();
          +</pre>
          +
          +    <p>For a more complete example see the issue22
          +    <a href="tests/prettify_test.html#issue22">testcase</a>.</p>
          +
          +    <h3>I get an error message "a is not a function" or "opt_whenDone is not a function"</h3>
          +    <p>If you are calling <code>prettyPrint</code> via an event handler, wrap it in a function.
          +    Instead of doing
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', prettyPrint, false);</code>
          +    </blockquote>
          +    wrap it in a closure like
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', function (event) { prettyPrint() }, false);</code>
          +    </blockquote>
          +    so that the browser does not pass an event object to <code>prettyPrint</code> which
          +    will confuse it.
          +
          +    <br><br><br>
          +
          +    <div class="footer">
          +<!-- Created: Tue Oct  3 17:51:56 PDT 2006 -->
          +<!-- hhmts start -->
          +Last modified: Wed Jul 19 13:56:00 PST 2010
          +<!-- hhmts end -->
          +    </div>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.css b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.css
          new file mode 100644
          index 000000000..9b554aac5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.css
          @@ -0,0 +1 @@
          +.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.js
          new file mode 100644
          index 000000000..3dec9931c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/assets/vendor/prettify/prettify-min.js
          @@ -0,0 +1,35 @@
          +window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var y=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);y=y?+y[1]:false;window._pr_isIE6=function(){return y};return y};
          +(function(){function y(b){return b.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;")}function H(b,f,i){switch(b.nodeType){case 1:var o=b.tagName.toLowerCase();f.push("<",o);var l=b.attributes,n=l.length;if(n){if(i){for(var r=[],j=n;--j>=0;)r[j]=l[j];r.sort(function(q,m){return q.name<m.name?-1:q.name===m.name?0:1});l=r}for(j=0;j<n;++j){r=l[j];r.specified&&f.push(" ",r.name.toLowerCase(),'="',r.value.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;").replace(X,"&quot;"),'"')}}f.push(">");
          +for(l=b.firstChild;l;l=l.nextSibling)H(l,f,i);if(b.firstChild||!/^(?:br|link|img)$/.test(o))f.push("</",o,">");break;case 3:case 4:f.push(y(b.nodeValue));break}}function O(b){function f(c){if(c.charAt(0)!=="\\")return c.charCodeAt(0);switch(c.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(c.substring(2),16)||c.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(c.substring(1),
          +8);default:return c.charCodeAt(1)}}function i(c){if(c<32)return(c<16?"\\x0":"\\x")+c.toString(16);c=String.fromCharCode(c);if(c==="\\"||c==="-"||c==="["||c==="]")c="\\"+c;return c}function o(c){var d=c.substring(1,c.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));c=[];for(var a=[],k=d[0]==="^",e=k?1:0,h=d.length;e<h;++e){var g=d[e];switch(g){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":c.push(g);
          +continue}g=f(g);var s;if(e+2<h&&"-"===d[e+1]){s=f(d[e+2]);e+=2}else s=g;a.push([g,s]);if(!(s<65||g>122)){s<65||g>90||a.push([Math.max(65,g)|32,Math.min(s,90)|32]);s<97||g>122||a.push([Math.max(97,g)&-33,Math.min(s,122)&-33])}}a.sort(function(v,w){return v[0]-w[0]||w[1]-v[1]});d=[];g=[NaN,NaN];for(e=0;e<a.length;++e){h=a[e];if(h[0]<=g[1]+1)g[1]=Math.max(g[1],h[1]);else d.push(g=h)}a=["["];k&&a.push("^");a.push.apply(a,c);for(e=0;e<d.length;++e){h=d[e];a.push(i(h[0]));if(h[1]>h[0]){h[1]+1>h[0]&&a.push("-");
          +a.push(i(h[1]))}}a.push("]");return a.join("")}function l(c){for(var d=c.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=d.length,k=[],e=0,h=0;e<a;++e){var g=d[e];if(g==="(")++h;else if("\\"===g.charAt(0))if((g=+g.substring(1))&&g<=h)k[g]=-1}for(e=1;e<k.length;++e)if(-1===k[e])k[e]=++n;for(h=e=0;e<a;++e){g=d[e];if(g==="("){++h;if(k[h]===undefined)d[e]="(?:"}else if("\\"===
          +g.charAt(0))if((g=+g.substring(1))&&g<=h)d[e]="\\"+k[h]}for(h=e=0;e<a;++e)if("^"===d[e]&&"^"!==d[e+1])d[e]="";if(c.ignoreCase&&r)for(e=0;e<a;++e){g=d[e];c=g.charAt(0);if(g.length>=2&&c==="[")d[e]=o(g);else if(c!=="\\")d[e]=g.replace(/[a-zA-Z]/g,function(s){s=s.charCodeAt(0);return"["+String.fromCharCode(s&-33,s|32)+"]"})}return d.join("")}for(var n=0,r=false,j=false,q=0,m=b.length;q<m;++q){var t=b[q];if(t.ignoreCase)j=true;else if(/[a-z]/i.test(t.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,
          +""))){r=true;j=false;break}}var p=[];q=0;for(m=b.length;q<m;++q){t=b[q];if(t.global||t.multiline)throw Error(""+t);p.push("(?:"+l(t)+")")}return RegExp(p.join("|"),j?"gi":"g")}function Y(b){var f=0;return function(i){for(var o=null,l=0,n=0,r=i.length;n<r;++n)switch(i.charAt(n)){case "\t":o||(o=[]);o.push(i.substring(l,n));l=b-f%b;for(f+=l;l>=0;l-=16)o.push("                ".substring(0,l));l=n+1;break;case "\n":f=0;break;default:++f}if(!o)return i;o.push(i.substring(l));return o.join("")}}function I(b,
          +f,i,o){if(f){b={source:f,c:b};i(b);o.push.apply(o,b.d)}}function B(b,f){var i={},o;(function(){for(var r=b.concat(f),j=[],q={},m=0,t=r.length;m<t;++m){var p=r[m],c=p[3];if(c)for(var d=c.length;--d>=0;)i[c.charAt(d)]=p;p=p[1];c=""+p;if(!q.hasOwnProperty(c)){j.push(p);q[c]=null}}j.push(/[\0-\uffff]/);o=O(j)})();var l=f.length;function n(r){for(var j=r.c,q=[j,z],m=0,t=r.source.match(o)||[],p={},c=0,d=t.length;c<d;++c){var a=t[c],k=p[a],e=void 0,h;if(typeof k==="string")h=false;else{var g=i[a.charAt(0)];
          +if(g){e=a.match(g[1]);k=g[0]}else{for(h=0;h<l;++h){g=f[h];if(e=a.match(g[1])){k=g[0];break}}e||(k=z)}if((h=k.length>=5&&"lang-"===k.substring(0,5))&&!(e&&typeof e[1]==="string")){h=false;k=P}h||(p[a]=k)}g=m;m+=a.length;if(h){h=e[1];var s=a.indexOf(h),v=s+h.length;if(e[2]){v=a.length-e[2].length;s=v-h.length}k=k.substring(5);I(j+g,a.substring(0,s),n,q);I(j+g+s,h,Q(k,h),q);I(j+g+v,a.substring(v),n,q)}else q.push(j+g,k)}r.d=q}return n}function x(b){var f=[],i=[];if(b.tripleQuotedStrings)f.push([A,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
          +null,"'\""]);else b.multiLineStrings?f.push([A,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):f.push([A,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);b.verbatimStrings&&i.push([A,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);if(b.hashComments)if(b.cStyleComments){f.push([C,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]);i.push([A,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
          +null])}else f.push([C,/^#[^\r\n]*/,null,"#"]);if(b.cStyleComments){i.push([C,/^\/\/[^\r\n]*/,null]);i.push([C,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}b.regexLiterals&&i.push(["lang-regex",RegExp("^"+Z+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);b=b.keywords.replace(/^\s+|\s+$/g,"");b.length&&i.push([R,RegExp("^(?:"+b.replace(/\s+/g,"|")+")\\b"),null]);f.push([z,/^\s+/,null," \r\n\t\u00a0"]);i.push([J,/^@[a-z_$][a-z_$@0-9]*/i,null],[S,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,
          +null],[z,/^[a-z_$][a-z_$@0-9]*/i,null],[J,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],[E,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return B(f,i)}function $(b){function f(D){if(D>r){if(j&&j!==q){n.push("</span>");j=null}if(!j&&q){j=q;n.push('<span class="',j,'">')}var T=y(p(i.substring(r,D))).replace(e?d:c,"$1&#160;");e=k.test(T);n.push(T.replace(a,s));r=D}}var i=b.source,o=b.g,l=b.d,n=[],r=0,j=null,q=null,m=0,t=0,p=Y(window.PR_TAB_WIDTH),c=/([\r\n ]) /g,
          +d=/(^| ) /gm,a=/\r\n?|\n/g,k=/[ \r\n]$/,e=true,h=window._pr_isIE6();h=h?b.b.tagName==="PRE"?h===6?"&#160;\r\n":h===7?"&#160;<br>\r":"&#160;\r":"&#160;<br />":"<br />";var g=b.b.className.match(/\blinenums\b(?::(\d+))?/),s;if(g){for(var v=[],w=0;w<10;++w)v[w]=h+'</li><li class="L'+w+'">';var F=g[1]&&g[1].length?g[1]-1:0;n.push('<ol class="linenums"><li class="L',F%10,'"');F&&n.push(' value="',F+1,'"');n.push(">");s=function(){var D=v[++F%10];return j?"</span>"+D+'<span class="'+j+'">':D}}else s=h;
          +for(;;)if(m<o.length?t<l.length?o[m]<=l[t]:true:false){f(o[m]);if(j){n.push("</span>");j=null}n.push(o[m+1]);m+=2}else if(t<l.length){f(l[t]);q=l[t+1];t+=2}else break;f(i.length);j&&n.push("</span>");g&&n.push("</li></ol>");b.a=n.join("")}function u(b,f){for(var i=f.length;--i>=0;){var o=f[i];if(G.hasOwnProperty(o))"console"in window&&console.warn("cannot override language handler %s",o);else G[o]=b}}function Q(b,f){b&&G.hasOwnProperty(b)||(b=/^\s*</.test(f)?"default-markup":"default-code");return G[b]}
          +function U(b){var f=b.f,i=b.e;b.a=f;try{var o,l=f.match(aa);f=[];var n=0,r=[];if(l)for(var j=0,q=l.length;j<q;++j){var m=l[j];if(m.length>1&&m.charAt(0)==="<"){if(!ba.test(m))if(ca.test(m)){f.push(m.substring(9,m.length-3));n+=m.length-12}else if(da.test(m)){f.push("\n");++n}else if(m.indexOf(V)>=0&&m.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)){var t=m.match(W)[2],p=1,c;c=j+1;a:for(;c<q;++c){var d=l[c].match(W);if(d&&
          +d[2]===t)if(d[1]==="/"){if(--p===0)break a}else++p}if(c<q){r.push(n,l.slice(j,c+1).join(""));j=c}else r.push(n,m)}else r.push(n,m)}else{var a;p=m;var k=p.indexOf("&");if(k<0)a=p;else{for(--k;(k=p.indexOf("&#",k+1))>=0;){var e=p.indexOf(";",k);if(e>=0){var h=p.substring(k+3,e),g=10;if(h&&h.charAt(0)==="x"){h=h.substring(1);g=16}var s=parseInt(h,g);isNaN(s)||(p=p.substring(0,k)+String.fromCharCode(s)+p.substring(e+1))}}a=p.replace(ea,"<").replace(fa,">").replace(ga,"'").replace(ha,'"').replace(ia," ").replace(ja,
          +"&")}f.push(a);n+=a.length}}o={source:f.join(""),h:r};var v=o.source;b.source=v;b.c=0;b.g=o.h;Q(i,v)(b);$(b)}catch(w){if("console"in window)console.log(w&&w.stack?w.stack:w)}}var A="str",R="kwd",C="com",S="typ",J="lit",E="pun",z="pln",P="src",V="nocode",Z=function(){for(var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=",
          +"~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],f="(?:^^|[+-]",i=0;i<b.length;++i)f+="|"+b[i].replace(/([^=<>:&a-z])/g,"\\$1");f+=")\\s*";return f}(),L=/&/g,M=/</g,N=/>/g,X=/\"/g,ea=/&lt;/g,fa=/&gt;/g,ga=/&apos;/g,ha=/&quot;/g,ja=/&amp;/g,ia=/&nbsp;/g,ka=/[\r\n]/g,K=null,aa=RegExp("[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z](?:[^>\"']|'[^']*'|\"[^\"]*\")*>|<","g"),ba=/^<\!--/,ca=/^<!\[CDATA\[/,da=/^<br\b/i,W=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/,
          +la=x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
          +hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true}),G={};u(la,["default-code"]);u(B([],[[z,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[C,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[E,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup",
          +"htm","html","mxml","xhtml","xml","xsl"]);u(B([[z,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[E,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],
          +["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);u(B([],[["atv",/^[\s\S]+/]]),["uq.val"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where ",
          +hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);u(x({keywords:"null true false"}),["json"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
          +hashComments:true,cStyleComments:true,verbatimStrings:true}),["cs"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",
          +cStyleComments:true}),["java"]);u(x({keywords:"break continue do else for if return while case done elif esac eval fi function in local set then until ",hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);u(x({keywords:"break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);
          +u(x({keywords:"caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);u(x({keywords:"break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",hashComments:true,
          +multiLineStrings:true,regexLiterals:true}),["rb"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN ",cStyleComments:true,regexLiterals:true}),["js"]);u(B([],[[A,/^[\s\S]+/]]),
          +["regex"]);window.PR_normalizedHtml=H;window.prettyPrintOne=function(b,f){var i={f:b,e:f};U(i);return i.a};window.prettyPrint=function(b){function f(){for(var t=window.PR_SHOULD_USE_CONTINUATION?j.now()+250:Infinity;q<o.length&&j.now()<t;q++){var p=o[q];if(p.className&&p.className.indexOf("prettyprint")>=0){var c=p.className.match(/\blang-(\w+)\b/);if(c)c=c[1];for(var d=false,a=p.parentNode;a;a=a.parentNode)if((a.tagName==="pre"||a.tagName==="code"||a.tagName==="xmp")&&a.className&&a.className.indexOf("prettyprint")>=
          +0){d=true;break}if(!d){a=p;if(null===K){d=document.createElement("PRE");d.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));K=!/</.test(d.innerHTML)}if(K){d=a.innerHTML;if("XMP"===a.tagName)d=y(d);else{a=a;if("PRE"===a.tagName)a=true;else if(ka.test(d)){var k="";if(a.currentStyle)k=a.currentStyle.whiteSpace;else if(window.getComputedStyle)k=window.getComputedStyle(a,null).whiteSpace;a=!k||k==="pre"}else a=true;a||(d=d.replace(/(<br\s*\/?>)[\r\n]+/g,"$1").replace(/(?:[\r\n]+[ \t]*)+/g,
          +" "))}d=d}else{d=[];for(a=a.firstChild;a;a=a.nextSibling)H(a,d);d=d.join("")}d=d.replace(/(?:\r\n?|\n)$/,"");m={f:d,e:c,b:p};U(m);if(p=m.a){c=m.b;if("XMP"===c.tagName){d=document.createElement("PRE");for(a=0;a<c.attributes.length;++a){k=c.attributes[a];if(k.specified)if(k.name.toLowerCase()==="class")d.className=k.value;else d.setAttribute(k.name,k.value)}d.innerHTML=p;c.parentNode.replaceChild(d,c)}else c.innerHTML=p}}}}if(q<o.length)setTimeout(f,250);else b&&b()}for(var i=[document.getElementsByTagName("pre"),
          +document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],o=[],l=0;l<i.length;++l)for(var n=0,r=i[l].length;n<r;++n)o.push(i[l][n]);i=null;var j=Date;j.now||(j={now:function(){return(new Date).getTime()}});var q=0,m;f()};window.PR={combinePrefixPatterns:O,createSimpleLexer:B,registerLangHandler:u,sourceDecorator:x,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:C,PR_DECLARATION:"dec",PR_KEYWORD:R,PR_LITERAL:J,PR_NOCODE:V,PR_PLAIN:z,PR_PUNCTUATION:E,PR_SOURCE:P,PR_STRING:A,
          +PR_TAG:"tag",PR_TYPE:S}})()
          +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
          +["com",/^(?:<!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#(?:[0-9a-f]{3}){1,2}/i],["pln",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],["pun",/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^\)\"\']+/]]),["css-str"])
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Anim.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Anim.html
          new file mode 100644
          index 000000000..7b1ab5bf3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Anim.html
          @@ -0,0 +1,330 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Anim</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Anim Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l7"><code>input&#x2F;test&#x2F;anim.js:7</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/anim.html">anim</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>This is the Anim Class description</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSeries.html
          new file mode 100644
          index 000000000..476bf31c0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSeries.html
          @@ -0,0 +1,731 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>AreaSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>AreaSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l1"><code>input&#x2F;charts&#x2F;AreaSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The AreaSeries class renders quantitative data on a graph by creating a fill between 0
          +and the relevant data points.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setStyles">_setStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l42"><code>input&#x2F;charts&#x2F;AreaSeries.js:42</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setStyles" class="method item protected">
          +    <h3 class="name"><code>_setStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>newStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l24"><code>input&#x2F;charts&#x2F;AreaSeries.js:24</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">newStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to update.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l12"><code>input&#x2F;charts&#x2F;AreaSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l70"><code>input&#x2F;charts&#x2F;AreaSeries.js:70</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing area fills. This attribute is inherited from <code>Renderer</code>. Below are the default values:</p>
          +
          +<p><dl>
          +     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +     retrieved from the following array:
          +     <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +     </dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSeries.js.html#l59"><code>input&#x2F;charts&#x2F;AreaSeries.js:59</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> area</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSplineSeries.html
          new file mode 100644
          index 000000000..a12a905e6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AreaSplineSeries.html
          @@ -0,0 +1,541 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>AreaSplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>AreaSplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_AreaSplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;AreaSplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>AreaSplineSeries renders an area graph with data points connected by a curve.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSplineSeries.js.html#l12"><code>input&#x2F;charts&#x2F;AreaSplineSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSplineSeries.js.html#l36"><code>input&#x2F;charts&#x2F;AreaSplineSeries.js:36</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing area fills. This attribute is inherited from <code>Renderer</code>. Below are the default values:</p>
          +
          +<p><dl>
          +     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +     retrieved from the following array:
          +     <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +     </dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AreaSplineSeries.js.html#l25"><code>input&#x2F;charts&#x2F;AreaSplineSeries.js:25</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> areaSpline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Axis.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Axis.html
          new file mode 100644
          index 000000000..26d5e7ac4
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Axis.html
          @@ -0,0 +1,4877 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Axis</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Axis Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1"><code>input&#x2F;charts&#x2F;Axis.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The Axis class. Generates axes for a chart.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__clearLabelCache">_clearLabelCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__createLabelCache">_createLabelCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__dataChangeHandler">_dataChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__drawAxis">_drawAxis</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getLabelBounds">_getLabelBounds</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getTextRotationProps">_getTextRotationProps</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__handleSizeChange">_handleSizeChange</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__positionChangeHandler">_positionChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__removeChildren">_removeChildren</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__rotate">_rotate</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setCanvas">_setCanvas</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setText">_setText</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setTotalTitleSize">_setTotalTitleSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__simulateTransformOrigin">_simulateTransformOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateGraphic">_updateGraphic</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateHandler">_updateHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updatePathElement">_updatePathElement</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateTitle">_updateTitle</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_drawLine">drawLine</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getFirstPoint">getFirstPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getLabel">getLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getLastPoint">getLastPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getLength">getLength</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getLineEnd">getLineEnd</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMaxLabelBounds">getMaxLabelBounds</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMinLabelBounds">getMinLabelBounds</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getNextPoint">getNextPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getPosition">getPosition</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_renderUI">renderUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_syncUI">syncUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__calculatedHeight">_calculatedHeight</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__calculatedWidth">_calculatedWidth</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__layoutClasses">_layoutClasses</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property_maxLabelSize">maxLabelSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_appendLabelFunction">appendLabelFunction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_appendTitleFunction">appendTitleFunction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_bottomTickOffset">bottomTickOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_calculatedHeight">calculatedHeight</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_calculatedWidth">calculatedWidth</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr protected">
          +                                <a href="#attr_edgeOffset">edgeOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graphic">graphic</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_height">height</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFunction">labelFunction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFunctionScope">labelFunctionScope</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labels">labels</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_leftTickOffset">leftTickOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr protected">
          +                                <a href="#attr_maxLabelSize">maxLabelSize</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_node">node</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_overlapGraph">overlapGraph</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_path">path</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_position">position</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_rightTickOffset">rightTickOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_tickPath">tickPath</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_tickPoints">tickPoints</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_title">title</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_topTickOffset">topTickOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_width">width</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__clearLabelCache" class="method item private">
          +    <h3 class="name"><code>_clearLabelCache</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l666"><code>input&#x2F;charts&#x2F;Axis.js:666</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Removes axis labels from the dom and clears the label cache.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createLabelCache" class="method item private">
          +    <h3 class="name"><code>_createLabelCache</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l644"><code>input&#x2F;charts&#x2F;Axis.js:644</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a cache of labels that can be re-used when the axis redraws.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__dataChangeHandler" class="method item private">
          +    <h3 class="name"><code>_dataChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l30"><code>input&#x2F;charts&#x2F;Axis.js:30</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles change to the dataProvider</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__drawAxis" class="method item private">
          +    <h3 class="name"><code>_drawAxis</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l332"><code>input&#x2F;charts&#x2F;Axis.js:332</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l172"><code>input&#x2F;charts&#x2F;Axis.js:172</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default value for the <code>styles</code> attribute. Overrides
          +base implementation.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getLabelBounds" class="method item private">
          +    <h3 class="name"><code>_getLabelBounds</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>Value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l961"><code>input&#x2F;charts&#x2F;Axis.js:961</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the coordinates (top, right, bottom, left) for the bounding box of a label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">Value</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>of the label</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTextRotationProps" class="method item private">
          +    <h3 class="name"><code>_getTextRotationProps</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l292"><code>input&#x2F;charts&#x2F;Axis.js:292</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Generates the properties necessary for rotating and positioning a text field.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>properties for the text field</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__handleSizeChange" class="method item private">
          +    <h3 class="name"><code>_handleSizeChange</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l240"><code>input&#x2F;charts&#x2F;Axis.js:240</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the axis when the size changes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__positionChangeHandler" class="method item private">
          +    <h3 class="name"><code>_positionChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l45"><code>input&#x2F;charts&#x2F;Axis.js:45</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles change to the position attribute</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__removeChildren" class="method item private">
          +    <h3 class="name"><code>_removeChildren</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l992"><code>input&#x2F;charts&#x2F;Axis.js:992</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Removes all DOM elements from an HTML element. Used to clear out labels during detruction
          +phase.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__rotate" class="method item private">
          +    <h3 class="name"><code>_rotate</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>props</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l844"><code>input&#x2F;charts&#x2F;Axis.js:844</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotates and positions a text field.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>text field to rotate and position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">props</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>properties to be applied to the text field.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setCanvas" class="method item private">
          +    <h3 class="name"><code>_setCanvas</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l139"><code>input&#x2F;charts&#x2F;Axis.js:139</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a graphic instance to be used for the axis line and ticks.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setText" class="method item private">
          +    <h3 class="name"><code>_setText</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1051"><code>input&#x2F;charts&#x2F;Axis.js:1051</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the content of text field. This method writes a value into a text field using 
          +<code>appendChild</code>. If the value is a <code>String</code>, it is converted to a <code>TextNode</code> first.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>label to be updated</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value with which to update the label</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setTotalTitleSize" class="method item private">
          +    <h3 class="name"><code>_setTotalTitleSize</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l465"><code>input&#x2F;charts&#x2F;Axis.js:465</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and sets the total size of a title.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Properties for the title field.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__simulateTransformOrigin" class="method item private">
          +    <h3 class="name"><code>_simulateTransformOrigin</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>matrix</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>rot</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>transformOrigin</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>w</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>h</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l916"><code>input&#x2F;charts&#x2F;Axis.js:916</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Simulates a rotation with a specified transformOrigin.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">matrix</code>
          +                        <span class="type">Matrix</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to a <code>Matrix</code> instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">rot</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The rotation (in degrees) that will be performed on a matrix.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">transformOrigin</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An array represeniting the origin in which to perform the transform. The first 
          +index represents the x origin and the second index represents the y origin.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">w</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The width of the object that will be transformed.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">h</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The height of the object that will be transformed.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateGraphic" class="method item private">
          +    <h3 class="name"><code>_updateGraphic</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>position</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l58"><code>input&#x2F;charts&#x2F;Axis.js:58</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the the Graphic instance</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">position</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Position of axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateHandler" class="method item private">
          +    <h3 class="name"><code>_updateHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l84"><code>input&#x2F;charts&#x2F;Axis.js:84</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles changes to axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updatePathElement" class="method item private">
          +    <h3 class="name"><code>_updatePathElement</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l505"><code>input&#x2F;charts&#x2F;Axis.js:505</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates path.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateTitle" class="method item private">
          +    <h3 class="name"><code>_updateTitle</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l533"><code>input&#x2F;charts&#x2F;Axis.js:533</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the content and style properties for a title field.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1013"><code>input&#x2F;charts&#x2F;Axis.js:1013</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawLine" class="method item private">
          +    <h3 class="name"><code>drawLine</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>startPoint</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>endPoint</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>line</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l277"><code>input&#x2F;charts&#x2F;Axis.js:277</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a line segment between 2 points</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">startPoint</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>x and y coordinates for the start point of the line segment</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">endPoint</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>x and y coordinates for the for the end point of the line segment</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">line</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>styles (weight, color and alpha to be applied to the line segment)</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getFirstPoint" class="method item private">
          +    <h3 class="name"><code>getFirstPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l738"><code>input&#x2F;charts&#x2F;Axis.js:738</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the position of the first point on an axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing x and y coordinates.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabel" class="method item private">
          +    <h3 class="name"><code>getLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l595"><code>input&#x2F;charts&#x2F;Axis.js:595</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates or updates an axis label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>x and y coordinates for the label</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>styles applied to label</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    HTMLElement
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLastPoint" class="method item private">
          +    <h3 class="name"><code>getLastPoint</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l786"><code>input&#x2F;charts&#x2F;Axis.js:786</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the placement of last tick on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLength" class="method item private">
          +    <h3 class="name"><code>getLength</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l712"><code>input&#x2F;charts&#x2F;Axis.js:712</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calcuates the width or height of an axis depending on its direction.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLineEnd" class="method item private">
          +    <h3 class="name"><code>getLineEnd</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l690"><code>input&#x2F;charts&#x2F;Axis.js:690</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the end point of an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMaxLabelBounds" class="method item">
          +    <h3 class="name"><code>getMaxLabelBounds</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l939"><code>input&#x2F;charts&#x2F;Axis.js:939</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the coordinates (top, right, bottom, left) for the bounding box of the last label.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMinLabelBounds" class="method item">
          +    <h3 class="name"><code>getMinLabelBounds</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l950"><code>input&#x2F;charts&#x2F;Axis.js:950</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the coordinates (top, right, bottom, left) for the bounding box of the first label.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getNextPoint" class="method item private">
          +    <h3 class="name"><code>getNextPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>point</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>majorUnitDistance</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l763"><code>input&#x2F;charts&#x2F;Axis.js:763</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the position of the next point on an axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">point</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing x and y coordinates.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">majorUnitDistance</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Distance in pixels between ticks.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getPosition" class="method item private">
          +    <h3 class="name"><code>getPosition</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>point</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l809"><code>input&#x2F;charts&#x2F;Axis.js:809</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates position on the axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">point</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>contains x and y values</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_renderUI" class="method item private">
          +    <h3 class="name"><code>renderUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l99"><code>input&#x2F;charts&#x2F;Axis.js:99</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_syncUI" class="method item private">
          +    <h3 class="name"><code>syncUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l108"><code>input&#x2F;charts&#x2F;Axis.js:108</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__calculatedHeight" class="property item private">
          +    <h3 class="name"><code>_calculatedHeight</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l21"><code>input&#x2F;charts&#x2F;Axis.js:21</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for calculatedHeight value.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__calculatedWidth" class="property item private">
          +    <h3 class="name"><code>_calculatedWidth</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l12"><code>input&#x2F;charts&#x2F;Axis.js:12</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for calculatedWidth value.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__layoutClasses" class="property item private">
          +    <h3 class="name"><code>_layoutClasses</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l262"><code>input&#x2F;charts&#x2F;Axis.js:262</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Maps key values to classes containing layout algorithms</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_maxLabelSize" class="property item protected">
          +    <h3 class="name"><code>maxLabelSize</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1042"><code>input&#x2F;charts&#x2F;Axis.js:1042</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Length in pixels of largest text bounding box. Used to calculate the height of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_appendLabelFunction" class="attr item">
          +    <a name="config_appendLabelFunction"></a> 
          +    <h3 class="name"><code>appendLabelFunction</code></h3>
          +    <span class="type">Function</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1423"><code>input&#x2F;charts&#x2F;Axis.js:1423</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Function used to append an axis value to an axis label. This function has the following signature:
          + <dl>
          +     <dt>textField</dt><dd>The axis label to be appended. (<code>HTMLElement</code>)</dd>
          +     <dt>val</dt><dd>The value to attach to the text field. This method will accept an <code>HTMLELement</code>
          +     or a <code>String</code>. This method does not use (<code>HTMLElement</code> | <code>String</code>)</dd>
          + </dl>
          +The default method appends a value to the <code>HTMLElement</code> using the <code>appendChild</code> method. If the given 
          +value is a <code>String</code>, the method will convert the the value to a <code>textNode</code> before appending to the 
          +<code>HTMLElement</code>. This method will not convert an <code>HTMLString</code> to an <code>HTMLElement</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_appendTitleFunction" class="attr item">
          +    <a name="config_appendTitleFunction"></a> 
          +    <h3 class="name"><code>appendTitleFunction</code></h3>
          +    <span class="type">Function</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1444"><code>input&#x2F;charts&#x2F;Axis.js:1444</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Function used to append a title value to the title object. This function has the following signature:
          + <dl>
          +     <dt>textField</dt><dd>The title text field to be appended. (<code>HTMLElement</code>)</dd>
          +     <dt>val</dt><dd>The value to attach to the text field. This method will accept an <code>HTMLELement</code>
          +     or a <code>String</code>. This method does not use (<code>HTMLElement</code> | <code>String</code>)</dd>
          + </dl>
          +The default method appends a value to the <code>HTMLElement</code> using the <code>appendChild</code> method. If the given 
          +value is a <code>String</code>, the method will convert the the value to a <code>textNode</code> before appending to the 
          +<code>HTMLElement</code> element. This method will not convert an <code>HTMLString</code> to an <code>HTMLElement</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_bottomTickOffset" class="attr item">
          +    <a name="config_bottomTickOffset"></a> 
          +    <h3 class="name"><code>bottomTickOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1279"><code>input&#x2F;charts&#x2F;Axis.js:1279</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance determined by the tick styles used to calculate the distance between the axis
          +line in relation to the bottom of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_calculatedHeight" class="attr item private">
          +    <a name="config_calculatedHeight"></a> 
          +    <h3 class="name"><code>calculatedHeight</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1156"><code>input&#x2F;charts&#x2F;Axis.js:1156</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculated value of an axis' height. By default, the value is used internally for horizontal axes. If the <code>height</code> attribute is explicitly set, this value will be ignored.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_calculatedWidth" class="attr item private">
          +    <a name="config_calculatedWidth"></a> 
          +    <h3 class="name"><code>calculatedWidth</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1136"><code>input&#x2F;charts&#x2F;Axis.js:1136</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculated value of an axis' width. By default, the value is used internally for vertical axes. If the <code>width</code> attribute is explicitly set, this value will be ignored.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_edgeOffset" class="attr item protected">
          +    <a name="config_edgeOffset"></a> 
          +    <h3 class="name"><code>edgeOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1176"><code>input&#x2F;charts&#x2F;Axis.js:1176</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Difference betweend the first/last tick and edge of axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graphic" class="attr item">
          +    <a name="config_graphic"></a> 
          +    <h3 class="name"><code>graphic</code></h3>
          +    <span class="type">Graphic</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1188"><code>input&#x2F;charts&#x2F;Axis.js:1188</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The graphic in which the axis line and ticks will be rendered.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_height" class="attr item">
          +    <a name="config_height"></a> 
          +    <h3 class="name"><code>height</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1108"><code>input&#x2F;charts&#x2F;Axis.js:1108</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based on their contents. When the
          +height attribute is set, the axis will not calculate its height. When the height attribute is explicitly set, axis labels will postion themselves off of the 
          +the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified height is less than the sum of 
          +the axis' contents, excess content will overflow.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labelFunction" class="attr item">
          +    <a name="config_labelFunction"></a> 
          +    <h3 class="name"><code>labelFunction</code></h3>
          +    <span class="type">Function</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1405"><code>input&#x2F;charts&#x2F;Axis.js:1405</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +to implement the arguments below and return a <code>String</code> or <code>HTMLElement</code>. </p>
          +
          +<dl>
          +     <dt>val</dt><dd>Label to be formatted. (<code>String</code>)</dd>
          +     <dt>format</dt><dd>Template for formatting label. (optional)</dd>
          +</dl>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labelFunctionScope" class="attr item">
          +    <a name="config_labelFunctionScope"></a> 
          +    <h3 class="name"><code>labelFunctionScope</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1361"><code>input&#x2F;charts&#x2F;Axis.js:1361</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Object which should have by the labelFunction</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labels" class="attr item">
          +    <a name="config_labels"></a> 
          +    <h3 class="name"><code>labels</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1312"><code>input&#x2F;charts&#x2F;Axis.js:1312</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of labels used to render the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_leftTickOffset" class="attr item">
          +    <a name="config_leftTickOffset"></a> 
          +    <h3 class="name"><code>leftTickOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1290"><code>input&#x2F;charts&#x2F;Axis.js:1290</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance determined by the tick styles used to calculate the distance between the axis
          +line in relation to the left of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_maxLabelSize" class="attr item protected">
          +    <a name="config_maxLabelSize"></a> 
          +    <h3 class="name"><code>maxLabelSize</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1369"><code>input&#x2F;charts&#x2F;Axis.js:1369</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Length in pixels of largest text bounding box. Used to calculate the height of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_node" class="attr item">
          +    <a name="config_node"></a> 
          +    <h3 class="name"><code>node</code></h3>
          +    <span class="type">HTMLElement</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1242"><code>input&#x2F;charts&#x2F;Axis.js:1242</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Contains the contents of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_overlapGraph" class="attr item">
          +    <a name="config_overlapGraph"></a> 
          +    <h3 class="name"><code>overlapGraph</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1345"><code>input&#x2F;charts&#x2F;Axis.js:1345</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given
          +position and the tick position is inside or cross, the axis will need to overlap the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_path" class="attr item private">
          +    <a name="config_path"></a> 
          +    <h3 class="name"><code>path</code></h3>
          +    <span class="type">Shape</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1196"><code>input&#x2F;charts&#x2F;Axis.js:1196</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_position" class="attr item">
          +    <a name="config_position"></a> 
          +    <h3 class="name"><code>position</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1250"><code>input&#x2F;charts&#x2F;Axis.js:1250</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Direction of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_rightTickOffset" class="attr item">
          +    <a name="config_rightTickOffset"></a> 
          +    <h3 class="name"><code>rightTickOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1301"><code>input&#x2F;charts&#x2F;Axis.js:1301</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance determined by the tick styles used to calculate the distance between the axis
          +line in relation to the right side of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1465"><code>input&#x2F;charts&#x2F;Axis.js:1465</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing an axis. This attribute is inherited from <code>Renderer</code>. Below are the default values:
          + <dl>
          +     <dt>majorTicks</dt><dd>Properties used for drawing ticks.
          +         <dl>
          +             <dt>display</dt><dd>Position of the tick. Possible values are <code>inside</code>, <code>outside</code>, <code>cross</code> and <code>none</code>. The
          +             default value is <code>inside</code>.</dd>
          +             <dt>length</dt><dd>The length (in pixels) of the tick. The default value is 4.</dd>
          +             <dt>color</dt><dd>The color of the tick. The default value is <code>#dad8c9</code></dd>
          +             <dt>weight</dt><dd>Number indicating the width of the tick. The default value is 1.</dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>line</dt><dd>Properties used for drawing the axis line. 
          +         <dl>
          +             <dt>weight</dt><dd>Number indicating the width of the axis line. The default value is 1.</dd>
          +             <dt>color</dt><dd>The color of the axis line. The default value is <code>#dad8c9</code>.</dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>majorUnit</dt><dd>Properties used to calculate the <code>majorUnit</code> for the axis. 
          +         <dl>
          +             <dt>determinant</dt><dd>The algorithm used for calculating distance between ticks. The possible options are <code>count</code> and <code>distance</code>. If
          +             the <code>determinant</code> is <code>count</code>, the axis ticks will spaced so that a specified number of ticks appear on the axis. If the <code>determinant</code>
          +             is <code>distance</code>, the axis ticks will spaced out according to the specified distance. The default value is <code>count</code>.</dd>
          +             <dt>count</dt><dd>Number of ticks to appear on the axis when the <code>determinant</code> is <code>count</code>. The default value is 11.</dd>
          +             <dt>distance</dt><dd>The distance (in pixels) between ticks when the <code>determinant</code> is <code>distance</code>. The default value is 75.</dd>
          +         </dl>
          +     </dd>
          +     <dt>label</dt><dd>Properties and styles applied to the axis labels.
          +         <dl>
          +             <dt>color</dt><dd>The color of the labels. The default value is <code>#808080</code>.</dd>
          +             <dt>alpha</dt><dd>Number between 0 and 1 indicating the opacity of the labels. The default value is 1.</dd>
          +             <dt>fontSize</dt><dd>The font-size of the labels. The default value is 85%</dd>
          +             <dt>rotation</dt><dd>The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.</dd>
          +             <dt>margin</dt><dd>The distance between the label and the axis/tick. Depending on the position of the <code>Axis</code>, only one of the properties used.
          +                 <dl>
          +                     <dt>top</dt><dd>Pixel value used for an axis with a <code>position</code> of <code>bottom</code>. The default value is 4.</dd>
          +                     <dt>right</dt><dd>Pixel value used for an axis with a <code>position</code> of <code>left</code>. The default value is 4.</dd>
          +                     <dt>bottom</dt><dd>Pixel value used for an axis with a <code>position</code> of <code>top</code>. The default value is 4.</dd>
          +                     <dt>left</dt><dd>Pixel value used for an axis with a <code>position</code> of <code>right</code>. The default value is 4.</dd>
          +                 </dl>
          +             </dd>
          +         </dl>
          +     </dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_tickPath" class="attr item private">
          +    <a name="config_tickPath"></a> 
          +    <h3 class="name"><code>tickPath</code></h3>
          +    <span class="type">Shape</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1219"><code>input&#x2F;charts&#x2F;Axis.js:1219</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_tickPoints" class="attr item">
          +    <a name="config_tickPoints"></a> 
          +    <h3 class="name"><code>tickPoints</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1326"><code>input&#x2F;charts&#x2F;Axis.js:1326</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of points used for placement of labels and ticks along the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_title" class="attr item">
          +    <a name="config_title"></a> 
          +    <h3 class="name"><code>title</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1389"><code>input&#x2F;charts&#x2F;Axis.js:1389</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Title for the axis. When specified, the title will display. The position of the title is determined by the axis position. </p>
          +
          +<dl>
          +    <dt>top</dt><dd>Appears above the axis and it labels. The default rotation is 0.</dd>
          +    <dt>right</dt><dd>Appears to the right of the axis and its labels. The default rotation is 90.</dd>
          +    <dt>bottom</dt><dd>Appears below the axis and its labels. The default rotation is 0.</dd>
          +    <dt>left</dt><dd>Appears to the left of the axis and its labels. The default rotation is -90.</dd>
          +</dl>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_topTickOffset" class="attr item">
          +    <a name="config_topTickOffset"></a> 
          +    <h3 class="name"><code>topTickOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1268"><code>input&#x2F;charts&#x2F;Axis.js:1268</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance determined by the tick styles used to calculate the distance between the axis
          +line in relation to the top of the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_width" class="attr item">
          +    <a name="config_width"></a> 
          +    <h3 class="name"><code>width</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Axis.js.html#l1080"><code>input&#x2F;charts&#x2F;Axis.js:1080</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based on their contents. When the
          +width attribute is set, the axis will not calculate its width. When the width attribute is explicitly set, axis labels will postion themselves off of the 
          +the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified width is less than the sum of 
          +the axis' contents, excess content will overflow.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AxisType.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AxisType.html
          new file mode 100644
          index 000000000..de0560a33
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/AxisType.html
          @@ -0,0 +1,3302 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>AxisType</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>AxisType Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l1"><code>input&#x2F;charts&#x2F;AxisType.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>AxisType is an abstract class that manages the data for an axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__dataProviderChangeHandler">_dataProviderChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getKeyArray">_getKeyArray</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__hasDataOverflow">_hasDataOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__keyChangeHandler">_keyChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setDataByKey">_setDataByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateMinAndMax">_updateMinAndMax</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateTotalData">_updateTotalData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_addKey">addKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_bindUI">bindUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getDataByKey">getDataByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getEdgeOffset">getEdgeOffset</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getKeyValueAt">getKeyValueAt</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getLabelByIndex">getLabelByIndex</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMajorUnitDistance">getMajorUnitDistance</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMaximumValue">getMaximumValue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMinimumValue">getMinimumValue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getTotalMajorUnits">getTotalMajorUnits</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_initializer">initializer</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_removeKey">removeKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__data">_data</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dataMaximum">_dataMaximum</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dataReady">_dataReady</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__setMaximum">_setMaximum</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__setMinimum">_setMinimum</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__type">_type</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__updateTotalDataFlag">_updateTotalDataFlag</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_GUID">GUID</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_data">data</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_dataMaximum">dataMaximum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_dataMinimum">dataMinimum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_dataProvider">dataProvider</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_keyCollection">keyCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_keys">keys</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_maximum">maximum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_minimum">minimum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_roundingMethod">roundingMethod</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_setMax">setMax</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_setMin">setMin</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__dataProviderChangeHandler" class="method item private">
          +    <h3 class="name"><code>_dataProviderChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l41"><code>input&#x2F;charts&#x2F;AxisType.js:41</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles changes to <code>dataProvider</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getKeyArray" class="method item private">
          +    <h3 class="name"><code>_getKeyArray</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l155"><code>input&#x2F;charts&#x2F;AxisType.js:155</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets an array of values based on a key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Value key associated with the data array.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array in which the data resides.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__hasDataOverflow" class="method item protected">
          +    <h3 class="name"><code>_hasDataOverflow</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l404"><code>input&#x2F;charts&#x2F;AxisType.js:404</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Checks to see if data extends beyond the range of the axis. If so,
          +that data will need to be hidden. This method is internal, temporary and subject
          +to removal in the future.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__keyChangeHandler" class="method item private">
          +    <h3 class="name"><code>_keyChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l391"><code>input&#x2F;charts&#x2F;AxisType.js:391</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the <code>Axis</code> after a change in keys.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setDataByKey" class="method item private">
          +    <h3 class="name"><code>_setDataByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l178"><code>input&#x2F;charts&#x2F;AxisType.js:178</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets data by key</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Key value to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateMinAndMax" class="method item private">
          +    <h3 class="name"><code>_updateMinAndMax</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l276"><code>input&#x2F;charts&#x2F;AxisType.js:276</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the maximum and minimum values for the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateTotalData" class="method item private">
          +    <h3 class="name"><code>_updateTotalData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l202"><code>input&#x2F;charts&#x2F;AxisType.js:202</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the total data array.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_addKey" class="method item">
          +    <h3 class="name"><code>addKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l143"><code>input&#x2F;charts&#x2F;AxisType.js:143</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds an array to the key hash.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Indicates what key to use in retrieving
          +the array.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bindUI" class="method item private">
          +    <h3 class="name"><code>bindUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l26"><code>input&#x2F;charts&#x2F;AxisType.js:26</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getDataByKey" class="method item">
          +    <h3 class="name"><code>getDataByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l259"><code>input&#x2F;charts&#x2F;AxisType.js:259</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns an array of values based on an identifier key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value used to identify the array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getEdgeOffset" class="method item">
          +    <h3 class="name"><code>getEdgeOffset</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>ct</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l357"><code>input&#x2F;charts&#x2F;AxisType.js:357</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the distance that the first and last ticks are offset from there respective
          +edges.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ct</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number of ticks on the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Length (in pixels) of the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getKeyValueAt" class="method item">
          +    <h3 class="name"><code>getKeyValueAt</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l240"><code>input&#x2F;charts&#x2F;AxisType.js:240</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a value based of a key value and an index.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value used to look up the correct array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>within the array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelByIndex" class="method item">
          +    <h3 class="name"><code>getLabelByIndex</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l371"><code>input&#x2F;charts&#x2F;AxisType.js:371</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and returns a value based on the number of labels and the index of
          +the current label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total number of labels.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMajorUnitDistance" class="method item">
          +    <h3 class="name"><code>getMajorUnitDistance</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>len</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>uiLen</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>majorUnit</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l334"><code>input&#x2F;charts&#x2F;AxisType.js:334</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the distance between major units on an axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">len</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number of ticks</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">uiLen</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Size of the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">majorUnit</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties used to determine the majorUnit</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMaximumValue" class="method item">
          +    <h3 class="name"><code>getMaximumValue</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l434"><code>input&#x2F;charts&#x2F;AxisType.js:434</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a string corresponding to the last label on an 
          +axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMinimumValue" class="method item">
          +    <h3 class="name"><code>getMinimumValue</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l422"><code>input&#x2F;charts&#x2F;AxisType.js:422</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a string corresponding to the first label on an 
          +axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getTotalMajorUnits" class="method item">
          +    <h3 class="name"><code>getTotalMajorUnits</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l312"><code>input&#x2F;charts&#x2F;AxisType.js:312</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the total number of majorUnits that will appear on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_initializer" class="method item private">
          +    <h3 class="name"><code>initializer</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l10"><code>input&#x2F;charts&#x2F;AxisType.js:10</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_removeKey" class="method item">
          +    <h3 class="name"><code>removeKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l223"><code>input&#x2F;charts&#x2F;AxisType.js:223</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Removes an array from the key hash.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Indicates what key to use in removing from 
          +the hash.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__data" class="property item private">
          +    <h3 class="name"><code>_data</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l115"><code>input&#x2F;charts&#x2F;AxisType.js:115</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to data array.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__dataMaximum" class="property item private">
          +    <h3 class="name"><code>_dataMaximum</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l97"><code>input&#x2F;charts&#x2F;AxisType.js:97</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>dataMaximum</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__dataReady" class="property item private">
          +    <h3 class="name"><code>_dataReady</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l133"><code>input&#x2F;charts&#x2F;AxisType.js:133</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>dataReady</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__setMaximum" class="property item private">
          +    <h3 class="name"><code>_setMaximum</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l88"><code>input&#x2F;charts&#x2F;AxisType.js:88</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>setMaximum</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__setMinimum" class="property item private">
          +    <h3 class="name"><code>_setMinimum</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l106"><code>input&#x2F;charts&#x2F;AxisType.js:106</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>setMinimum</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__type" class="property item private">
          +    <h3 class="name"><code>_type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l78"><code>input&#x2F;charts&#x2F;AxisType.js:78</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of data used in <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__updateTotalDataFlag" class="property item private">
          +    <h3 class="name"><code>_updateTotalDataFlag</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l124"><code>input&#x2F;charts&#x2F;AxisType.js:124</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the all data is up to date.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_GUID" class="property item private">
          +    <h3 class="name"><code>GUID</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l69"><code>input&#x2F;charts&#x2F;AxisType.js:69</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Constant used to generate unique id.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_data" class="attr item">
          +    <a name="config_data"></a> 
          +    <h3 class="name"><code>data</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l669"><code>input&#x2F;charts&#x2F;AxisType.js:669</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Array of axis data</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_dataMaximum" class="attr item">
          +    <a name="config_dataMaximum"></a> 
          +    <h3 class="name"><code>dataMaximum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l544"><code>input&#x2F;charts&#x2F;AxisType.js:544</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The maximum value contained in the <code>data</code> array. Used for
          +<code>maximum</code> when <code>autoMax</code> is true.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_dataMinimum" class="attr item">
          +    <a name="config_dataMinimum"></a> 
          +    <h3 class="name"><code>dataMinimum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l594"><code>input&#x2F;charts&#x2F;AxisType.js:594</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The minimum value contained in the <code>data</code> array. Used for
          +<code>minimum</code> when <code>autoMin</code> is true.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_dataProvider" class="attr item">
          +    <a name="config_dataProvider"></a> 
          +    <h3 class="name"><code>dataProvider</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l530"><code>input&#x2F;charts&#x2F;AxisType.js:530</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Instance of <code>ChartDataProvider</code> that the class uses
          +to build its own data.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_keyCollection" class="attr item">
          +    <a name="config_keyCollection"></a> 
          +    <h3 class="name"><code>keyCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l686"><code>input&#x2F;charts&#x2F;AxisType.js:686</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Array containing all the keys in the axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_keys" class="attr item">
          +    <a name="config_keys"></a> 
          +    <h3 class="name"><code>keys</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l447"><code>input&#x2F;charts&#x2F;AxisType.js:447</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Hash of array identifed by a string value.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_maximum" class="attr item">
          +    <a name="config_maximum"></a> 
          +    <h3 class="name"><code>maximum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l562"><code>input&#x2F;charts&#x2F;AxisType.js:562</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The maximum value that will appear on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_minimum" class="attr item">
          +    <a name="config_minimum"></a> 
          +    <h3 class="name"><code>minimum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l612"><code>input&#x2F;charts&#x2F;AxisType.js:612</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The minimum value that will appear on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_roundingMethod" class="attr item">
          +    <a name="config_roundingMethod"></a> 
          +    <h3 class="name"><code>roundingMethod</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l491"><code>input&#x2F;charts&#x2F;AxisType.js:491</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates how to round unit values.
          +  <dl>
          +      <dt>niceNumber</dt><dd>Units will be smoothed based on the number of ticks and data range.</dd>
          +      <dt>auto</dt><dd>If the range is greater than 1, the units will be rounded.</dd>
          +      <dt>numeric value</dt><dd>Units will be equal to the numeric value.</dd>
          +      <dt>null</dt><dd>No rounding will occur.</dd>
          +  </dl></p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> niceNumber</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_setMax" class="attr item">
          +    <a name="config_setMax"></a> 
          +    <h3 class="name"><code>setMax</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l637"><code>input&#x2F;charts&#x2F;AxisType.js:637</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines whether the maximum is calculated or explicitly 
          +set by the user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_setMin" class="attr item">
          +    <a name="config_setMin"></a> 
          +    <h3 class="name"><code>setMin</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l653"><code>input&#x2F;charts&#x2F;AxisType.js:653</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines whether the minimum is calculated or explicitly
          +set by the user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_AxisType.js.html#l508"><code>input&#x2F;charts&#x2F;AxisType.js:508</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the type of axis data
          +  <dl>
          +      <dt>time</dt><dd>Manages time data</dd>
          +      <dt>stacked</dt><dd>Manages stacked numeric data</dd> <br />
          +      <dt>numeric</dt><dd>Manages numeric data</dd>
          +      <dt>category</dt><dd>Manages categorical data</dd>
          +  </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BarSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BarSeries.html
          new file mode 100644
          index 000000000..f25d3c619
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BarSeries.html
          @@ -0,0 +1,840 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>BarSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>BarSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l1"><code>input&#x2F;charts&#x2F;BarSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The BarSeries class renders bars positioned vertically along a category or time axis. The bars'
          +lengths are proportional to the values they represent along a horizontal axis.
          +and the relevant data points.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getMarkerDimensions">_getMarkerDimensions</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getMarkerDimensions" class="method item private">
          +    <h3 class="name"><code>_getMarkerDimensions</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>xcoord</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ycoord</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>calculatedSize</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>offset</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l13"><code>input&#x2F;charts&#x2F;BarSeries.js:13</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Helper method for calculating the size of markers.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xcoord</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The x-coordinate representing the data point for the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ycoord</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The y-coordinate representing the data point for the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">calculatedSize</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The calculated size for the marker. For a <code>BarSeries</code> is it the width. For a <code>ColumnSeries</code> it is the height.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">offset</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Distance of position offset dictated by other marker series in the same graph.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l42"><code>input&#x2F;charts&#x2F;BarSeries.js:42</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Resizes and positions markers based on a mouse interaction.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l117"><code>input&#x2F;charts&#x2F;BarSeries.js:117</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the direction of the category axis that the bars are plotted against.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l127"><code>input&#x2F;charts&#x2F;BarSeries.js:127</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>MarkerSeries</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>height</dt><dd>indicates the width of the marker. The default value is 12.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BarSeries.js.html#l106"><code>input&#x2F;charts&#x2F;BarSeries.js:106</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> bar</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BottomAxisLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BottomAxisLayout.html
          new file mode 100644
          index 000000000..9e2719bbe
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/BottomAxisLayout.html
          @@ -0,0 +1,1554 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>BottomAxisLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>BottomAxisLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l1"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Contains algorithms for rendering a bottom axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultMargins">_getDefaultMargins</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getTransformOrigin">_getTransformOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setRotationCoords">_setRotationCoords</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawTick">drawTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getExplicitlySized">getExplicitlySized</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLabelPoint">getLabelPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLineStart">getLineStart</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_offsetNodeForTick">offsetNodeForTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionLabel">positionLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionTitle">positionTitle</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setCalculatedSize">setCalculatedSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setTickOffsets">setTickOffsets</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMaxLabelSize">updateMaxLabelSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultMargins" class="method item private">
          +    <h3 class="name"><code>_getDefaultMargins</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l11"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default margins for text fields.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTransformOrigin" class="method item protected">
          +    <h3 class="name"><code>_getTransformOrigin</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>rot</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l289"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:289</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the transformOrigin to use for an axis label based on the position of the axis 
          +and the rotation of the label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">rot</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The rotation (in degrees) of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setRotationCoords" class="method item protected">
          +    <h3 class="name"><code>_setRotationCoords</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>props</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l254"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:254</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts the coordinates of an axis label based on the rotation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">props</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates, dimension and rotation properties of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawTick" class="method item protected">
          +    <h3 class="name"><code>drawTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>tickStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l90"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:90</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a tick</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>reference to the path <code>Path</code> element in which to draw the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing x and y coordinates</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">tickStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash of properties used to draw the tick</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getExplicitlySized" class="method item protected">
          +    <h3 class="name"><code>getExplicitlySized</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l154"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:154</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines the available label height when the axis width has been explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelPoint" class="method item protected">
          +    <h3 class="name"><code>getLabelPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l110"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:110</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the point for a label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing x and y coordinates</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLineStart" class="method item protected">
          +    <h3 class="name"><code>getLineStart</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l65"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:65</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the coordinates for the first point on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_offsetNodeForTick" class="method item protected">
          +    <h3 class="name"><code>offsetNodeForTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cb</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l316"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:316</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts position for inner ticks.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cb</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>contentBox of the axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionLabel" class="method item protected">
          +    <h3 class="name"><code>positionLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l206"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:206</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position labels.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing the x and y coordinates in which the label will be positioned
          +against.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionTitle" class="method item protected">
          +    <h3 class="name"><code>positionTitle</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l176"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:176</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position title.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setCalculatedSize" class="method item protected">
          +    <h3 class="name"><code>setCalculatedSize</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l329"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:329</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Assigns a height based on the size of the contents.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setTickOffsets" class="method item protected">
          +    <h3 class="name"><code>setTickOffsets</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l28"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:28</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the length of the tick on either side of the axis line.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMaxLabelSize" class="method item protected">
          +    <h3 class="name"><code>updateMaxLabelSize</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_BottomAxisLayout.js.html#l123"><code>input&#x2F;charts&#x2F;BottomAxisLayout.js:123</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the value for the <code>maxLabelSize</code> for use in calculating total size.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to measure</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianChart.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianChart.html
          new file mode 100644
          index 000000000..503e5e9b6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianChart.html
          @@ -0,0 +1,4855 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>CartesianChart</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>CartesianChart Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1"><code>input&#x2F;charts&#x2F;CartesianChart.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The CartesianChart class creates a chart with horizontal and vertical axes.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +            <li class="api-class-tab events"><a href="#events">Events</a></li>
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addAxes">_addAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addGridlines">_addGridlines</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addSeries">_addSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method__addToAxesCollection">_addToAxesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addToAxesRenderQueue">_addToAxesRenderQueue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method__getAllKeys">_getAllKeys</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method__getAriaMessage">_getAriaMessage</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getBaseAttribute">_getBaseAttribute</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getBottomOverflow">_getBottomOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getCategoryAxis">_getCategoryAxis</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultAxes">_getDefaultAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultAxisPosition">_getDefaultAxisPosition</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultSeriesCollection">_getDefaultSeriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getLeftOverflow">_getLeftOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getRightOverflow">_getRightOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getSeriesAxis">_getSeriesAxis</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getTopOverflow">_getTopOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseAxes">_parseAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseSeriesAxes">_parseSeriesAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseSeriesCollection">_parseSeriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__planarEventDispatcher">_planarEventDispatcher</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__redraw">_redraw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setAxes">_setAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setBaseAttribute">_setBaseAttribute</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__sizeChanged">_sizeChanged</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getSeriesItems">getSeriesItems</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_renderUI">renderUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__itemRenderQueue">_itemRenderQueue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__type">_type</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_allowContentOverflow">allowContentOverflow</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_axes">axes</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_axesStyles">axesStyles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_bottomAxesCollection">bottomAxesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryAxis">categoryAxis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryAxisName">categoryAxisName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_graphStyles">graphStyles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_horizontalGridlines">horizontalGridlines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_leftAxesCollection">leftAxesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_rightAxesCollection">rightAxesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_seriesCollection">seriesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_seriesStyles">seriesStyles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showAreaFill">showAreaFill</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showLines">showLines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showMarkers">showMarkers</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_stacked">stacked</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_topAxesCollection">topAxesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_valueAxisName">valueAxisName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_verticalGridlines">verticalGridlines</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section events">
          +                    <h3>Events</h3>
          +
          +                    <ul class="index-list events">
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_planarEvent:mouseout">planarEvent:mouseout</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_planarEvent:mouseover">planarEvent:mouseover</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__addAxes" class="method item private">
          +    <h3 class="name"><code>_addAxes</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l619"><code>input&#x2F;charts&#x2F;CartesianChart.js:619</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds axes to the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__addGridlines" class="method item private">
          +    <h3 class="name"><code>_addGridlines</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l690"><code>input&#x2F;charts&#x2F;CartesianChart.js:690</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds gridlines to the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__addSeries" class="method item private">
          +    <h3 class="name"><code>_addSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l676"><code>input&#x2F;charts&#x2F;CartesianChart.js:676</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Renders the Graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__addToAxesCollection" class="method item">
          +    <h3 class="name"><code>_addToAxesCollection</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>position</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>axis</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l233"><code>input&#x2F;charts&#x2F;CartesianChart.js:233</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds axis instance to the appropriate array based on position</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">position</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The position of the axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">axis</code>
          +                        <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The <code>Axis</code> instance</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__addToAxesRenderQueue" class="method item private">
          +    <h3 class="name"><code>_addToAxesRenderQueue</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>axis</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l214"><code>input&#x2F;charts&#x2F;CartesianChart.js:214</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds an <code>Axis</code> instance to the <code>_itemRenderQueue</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">axis</code>
          +                        <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An <code>Axis</code> instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getAllKeys" class="method item">
          +    <h3 class="name"><code>_getAllKeys</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>dp</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l763"><code>input&#x2F;charts&#x2F;CartesianChart.js:763</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns all the keys contained in a  <code>dataProvider</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">dp</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of objects to be parsed.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getAriaMessage" class="method item">
          +    <h3 class="name"><code>_getAriaMessage</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1575"><code>input&#x2F;charts&#x2F;CartesianChart.js:1575</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the appropriate message based on the key press.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The keycode that was pressed.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getBaseAttribute" class="method item private">
          +    <h3 class="name"><code>_getBaseAttribute</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>item</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l456"><code>input&#x2F;charts&#x2F;CartesianChart.js:456</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets an attribute from an object, using a getter for Base objects and a property for object
          +literals. Used for determining attributes from series/axis references which can be an actual class instance
          +or a hash of properties that will be used to create a class instance.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">item</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object or instance in which the attribute resides.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Attribute whose value will be returned.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getBottomOverflow" class="method item private">
          +    <h3 class="name"><code>_getBottomOverflow</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>set1</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>set2</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>height</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1216"><code>input&#x2F;charts&#x2F;CartesianChart.js:1216</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the maximum distance in pixels that the extends outside the bottom bounds of all vertical axes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set1</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set2</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Seconf collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">height</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Height of the axes</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getCategoryAxis" class="method item private">
          +    <h3 class="name"><code>_getCategoryAxis</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l401"><code>input&#x2F;charts&#x2F;CartesianChart.js:401</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the category axis instance for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Axis
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultAxes" class="method item private">
          +    <h3 class="name"><code>_getDefaultAxes</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l791"><code>input&#x2F;charts&#x2F;CartesianChart.js:791</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default Function for the axes attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultAxisPosition" class="method item private">
          +    <h3 class="name"><code>_getDefaultAxisPosition</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>axis</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>valueAxes</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>position</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l970"><code>input&#x2F;charts&#x2F;CartesianChart.js:970</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines the position of an axis when one is not specified.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">axis</code>
          +                        <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p><code>Axis</code> instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">valueAxes</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of <code>Axis</code> instances.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">position</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Default position depending on the direction of the chart and type of axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultSeriesCollection" class="method item private">
          +    <h3 class="name"><code>_getDefaultSeriesCollection</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l251"><code>input&#x2F;charts&#x2F;CartesianChart.js:251</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the default value for the <code>seriesCollection</code> attribute.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array containing either <code>CartesianSeries</code> instances or objects containing data to construct series instances.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getLeftOverflow" class="method item private">
          +    <h3 class="name"><code>_getLeftOverflow</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>set1</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>set2</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>width</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1178"><code>input&#x2F;charts&#x2F;CartesianChart.js:1178</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the maximum distance in pixels that the extends outside the left bounds of all horizontal axes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set1</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set2</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Seconf collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">width</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the axes</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getRightOverflow" class="method item private">
          +    <h3 class="name"><code>_getRightOverflow</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>set1</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>set2</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>width</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1140"><code>input&#x2F;charts&#x2F;CartesianChart.js:1140</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the maximum distance in pixels that the extends outside the right bounds of all horizontal axes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set1</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set2</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Seconf collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">width</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the axes</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getSeriesAxis" class="method item private">
          +    <h3 class="name"><code>_getSeriesAxis</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l417"><code>input&#x2F;charts&#x2F;CartesianChart.js:417</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the value axis for a series.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The key value used to determine the axis instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Axis
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTopOverflow" class="method item private">
          +    <h3 class="name"><code>_getTopOverflow</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>set1</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>set2</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>width</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1102"><code>input&#x2F;charts&#x2F;CartesianChart.js:1102</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the maximum distance in pixels that the extends outside the top bounds of all vertical axes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set1</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">set2</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Seconf collection of axes to check.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">width</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the axes</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseAxes" class="method item private">
          +    <h3 class="name"><code>_parseAxes</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>axes</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l803"><code>input&#x2F;charts&#x2F;CartesianChart.js:803</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Generates and returns a key-indexed object containing <code>Axis</code> instances or objects used to create <code>Axis</code> instances.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">axes</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing <code>Axis</code> instances or <code>Axis</code> attributes.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseSeriesAxes" class="method item private">
          +    <h3 class="name"><code>_parseSeriesAxes</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l368"><code>input&#x2F;charts&#x2F;CartesianChart.js:368</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parse and sets the axes for a series instance.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>A <code>CartesianSeries</code> instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseSeriesCollection" class="method item private">
          +    <h3 class="name"><code>_parseSeriesCollection</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l264"><code>input&#x2F;charts&#x2F;CartesianChart.js:264</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses and returns a series collection from an object and default properties.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object contain properties for series being set.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__planarEventDispatcher" class="method item private">
          +    <h3 class="name"><code>_planarEventDispatcher</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l48"><code>input&#x2F;charts&#x2F;CartesianChart.js:48</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>When <code>interactionType</code> is set to <code>planar</code>, listens for mouse move events and fires <code>planarEvent:mouseover</code> or <code>planarEvent:mouseout</code> depending on the position of the mouse in relation to 
          +data points on the <code>Chart</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__redraw" class="method item private">
          +    <h3 class="name"><code>_redraw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1254"><code>input&#x2F;charts&#x2F;CartesianChart.js:1254</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Redraws and position all the components of the chart instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setAxes" class="method item private">
          +    <h3 class="name"><code>_setAxes</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l503"><code>input&#x2F;charts&#x2F;CartesianChart.js:503</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates <code>Axis</code> instances.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing <code>Axis</code> instances or objects in which to construct <code>Axis</code> instances.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setBaseAttribute" class="method item private">
          +    <h3 class="name"><code>_setBaseAttribute</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>item</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l480"><code>input&#x2F;charts&#x2F;CartesianChart.js:480</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets an attribute on an object, using a setter of Base objects and a property for object
          +literals. Used for setting attributes on a Base class, either directly or to be stored in an object literal
          +for use at instantiation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">item</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object or instance in which the attribute resides.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Attribute whose value will be assigned.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Value to be assigned to the attribute.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__sizeChanged" class="method item private">
          +    <h3 class="name"><code>_sizeChanged</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1080"><code>input&#x2F;charts&#x2F;CartesianChart.js:1080</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handler for sizeChanged event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1518"><code>input&#x2F;charts&#x2F;CartesianChart.js:1518</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation for the CartesianChart class. Calls destroy on all axes, series and the Graph instance.
          +Removes the tooltip and overlay HTML elements.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getSeriesItems" class="method item">
          +    <h3 class="name"><code>getSeriesItems</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1014"><code>input&#x2F;charts&#x2F;CartesianChart.js:1014</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns an object literal containing a categoryItem and a valueItem for a given series index. Below is the structure of each:</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to a series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the specified item within a series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object An object literal containing the following:
          +
          +<dl>
          +     <dt>categoryItem</dt><dd>Object containing the following data related to the category axis of the series.
          + <dl>
          +     <dt>axis</dt><dd>Reference to the category axis of the series.</dd>
          +     <dt>key</dt><dd>Category key for the series.</dd>
          +     <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>
          + </dl>
          +     </dd>
          +     <dt>valueItem</dt><dd>Object containing the following data related to the category axis of the series.
          + <dl>
          +     <dt>axis</dt><dd>Reference to the value axis of the series.</dd>
          +     <dt>key</dt><dd>Value key for the series.</dd>
          +     <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>
          + </dl>
          +     </dd>
          + </dl>
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_renderUI" class="method item private">
          +    <h3 class="name"><code>renderUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l10"><code>input&#x2F;charts&#x2F;CartesianChart.js:10</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__itemRenderQueue" class="property item private">
          +    <h3 class="name"><code>_itemRenderQueue</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l205"><code>input&#x2F;charts&#x2F;CartesianChart.js:205</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Queue of axes instances that will be updated. This method is used internally to determine when all axes have been updated.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__type" class="property item private">
          +    <h3 class="name"><code>_type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l196"><code>input&#x2F;charts&#x2F;CartesianChart.js:196</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the default series type for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_allowContentOverflow" class="attr item">
          +    <a name="config_allowContentOverflow"></a> 
          +    <h3 class="name"><code>allowContentOverflow</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1658"><code>input&#x2F;charts&#x2F;CartesianChart.js:1658</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether axis labels are allowed to overflow beyond the bounds of the chart's content box.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_axes" class="attr item">
          +    <a name="config_axes"></a> 
          +    <h3 class="name"><code>axes</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1866"><code>input&#x2F;charts&#x2F;CartesianChart.js:1866</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Axes to appear in the chart. This can be a key indexed hash of axis instances or object literals
          +used to construct the appropriate axes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_axesStyles" class="attr item private">
          +    <a name="config_axesStyles"></a> 
          +    <h3 class="name"><code>axesStyles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1668"><code>input&#x2F;charts&#x2F;CartesianChart.js:1668</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style object for the axes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_bottomAxesCollection" class="attr item private">
          +    <a name="config_bottomAxesCollection"></a> 
          +    <h3 class="name"><code>bottomAxesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1907"><code>input&#x2F;charts&#x2F;CartesianChart.js:1907</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the bottom-aligned axes for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryAxis" class="attr item">
          +    <a name="config_categoryAxis"></a> 
          +    <h3 class="name"><code>categoryAxis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l2123"><code>input&#x2F;charts&#x2F;CartesianChart.js:2123</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the category axis used by the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryAxisName" class="attr item">
          +    <a name="config_categoryAxisName"></a> 
          +    <h3 class="name"><code>categoryAxisName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1998"><code>input&#x2F;charts&#x2F;CartesianChart.js:1998</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the key value used to identify a category axis in the <code>axes</code> hash. If
          +not specified, the categoryKey attribute value will be used.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1944"><code>input&#x2F;charts&#x2F;CartesianChart.js:1944</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Direction of chart's category axis when there is no series collection specified. Charts can
          +be horizontal or vertical. When the chart type is column, the chart is horizontal.
          +When the chart type is bar, the chart is vertical.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graphStyles" class="attr item private">
          +    <a name="config_graphStyles"></a> 
          +    <h3 class="name"><code>graphStyles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1775"><code>input&#x2F;charts&#x2F;CartesianChart.js:1775</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Styles for the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_horizontalGridlines" class="attr item">
          +    <a name="config_horizontalGridlines"></a> 
          +    <h3 class="name"><code>horizontalGridlines</code></h3>
          +    <span class="type"><a href="../classes/Gridlines.html" class="crosslink">Gridlines</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l2018"><code>input&#x2F;charts&#x2F;CartesianChart.js:2018</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the horizontalGridlines for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_leftAxesCollection" class="attr item private">
          +    <a name="config_leftAxesCollection"></a> 
          +    <h3 class="name"><code>leftAxesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1898"><code>input&#x2F;charts&#x2F;CartesianChart.js:1898</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the left-aligned axes for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_rightAxesCollection" class="attr item private">
          +    <a name="config_rightAxesCollection"></a> 
          +    <h3 class="name"><code>rightAxesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1916"><code>input&#x2F;charts&#x2F;CartesianChart.js:1916</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the right-aligned axes for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesCollection" class="attr item">
          +    <a name="config_seriesCollection"></a> 
          +    <h3 class="name"><code>seriesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1882"><code>input&#x2F;charts&#x2F;CartesianChart.js:1882</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +used to construct the appropriate series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesStyles" class="attr item private">
          +    <a name="config_seriesStyles"></a> 
          +    <h3 class="name"><code>seriesStyles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1712"><code>input&#x2F;charts&#x2F;CartesianChart.js:1712</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style object for the series</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showAreaFill" class="attr item">
          +    <a name="config_showAreaFill"></a> 
          +    <h3 class="name"><code>showAreaFill</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1974"><code>input&#x2F;charts&#x2F;CartesianChart.js:1974</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether or not an area is filled in a combo chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showLines" class="attr item">
          +    <a name="config_showLines"></a> 
          +    <h3 class="name"><code>showLines</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1990"><code>input&#x2F;charts&#x2F;CartesianChart.js:1990</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether to display lines in a combo chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showMarkers" class="attr item">
          +    <a name="config_showMarkers"></a> 
          +    <h3 class="name"><code>showMarkers</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1982"><code>input&#x2F;charts&#x2F;CartesianChart.js:1982</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether to display markers in a combo chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_stacked" class="attr item">
          +    <a name="config_stacked"></a> 
          +    <h3 class="name"><code>stacked</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1934"><code>input&#x2F;charts&#x2F;CartesianChart.js:1934</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether or not the chart is stacked.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1801"><code>input&#x2F;charts&#x2F;CartesianChart.js:1801</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties for the chart. Contains a key indexed hash of the following:
          + <dl>
          +     <dt>series</dt><dd>A key indexed hash containing references to the <code>styles</code> attribute for each series in the chart.
          +     Specific style attributes vary depending on the series:
          +     <ul>
          +         <li><a href="AreaSeries.html#attr_styles">AreaSeries</a></li>
          +         <li><a href="BarSeries.html#attr_styles">BarSeries</a></li>
          +         <li><a href="ColumnSeries.html#attr_styles">ColumnSeries</a></li>
          +         <li><a href="ComboSeries.html#attr_styles">ComboSeries</a></li>
          +         <li><a href="LineSeries.html#attr_styles">LineSeries</a></li>
          +         <li><a href="MarkerSeries.html#attr_styles">MarkerSeries</a></li>
          +         <li><a href="SplineSeries.html#attr_styles">SplineSeries</a></li>
          +     </ul>
          +     </dd>
          +     <dt>axes</dt><dd>A key indexed hash containing references to the <code>styles</code> attribute for each axes in the chart. Specific
          +     style attributes can be found in the <a href="Axis.html#attr_styles">Axis</a> class.</dd>
          +     <dt>graph</dt><dd>A reference to the <code>styles</code> attribute in the chart. Specific style attributes can be found in the
          +     <a href="Graph.html#attr_styles">Graph</a> class.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_topAxesCollection" class="attr item private">
          +    <a name="config_topAxesCollection"></a> 
          +    <h3 class="name"><code>topAxesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l1925"><code>input&#x2F;charts&#x2F;CartesianChart.js:1925</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the top-aligned axes for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l2086"><code>input&#x2F;charts&#x2F;CartesianChart.js:2086</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of chart when there is no series collection specified.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_valueAxisName" class="attr item">
          +    <a name="config_valueAxisName"></a> 
          +    <h3 class="name"><code>valueAxisName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l2008"><code>input&#x2F;charts&#x2F;CartesianChart.js:2008</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the key value used to identify a the series axis when an axis not generated.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_verticalGridlines" class="attr item">
          +    <a name="config_verticalGridlines"></a> 
          +    <h3 class="name"><code>verticalGridlines</code></h3>
          +    <span class="type"><a href="../classes/Gridlines.html" class="crosslink">Gridlines</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l2052"><code>input&#x2F;charts&#x2F;CartesianChart.js:2052</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the verticalGridlines for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="events" class="api-class-tabpanel">
          +                <h2 class="off-left">Events</h2>
          +
          +                
          +                    <div id="event_planarEvent:mouseout" class="events item">
          +    <h3 class="name"><code>planarEvent:mouseout</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l168"><code>input&#x2F;charts&#x2F;CartesianChart.js:168</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>planar</code> and a series' marker plane has received a mouseout event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                         
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +                    <div id="event_planarEvent:mouseover" class="events item">
          +    <h3 class="name"><code>planarEvent:mouseover</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChart.js.html#l148"><code>input&#x2F;charts&#x2F;CartesianChart.js:148</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>planar</code> and a series' marker plane has received a mouseover event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>An array of hashes, each containing information about the category <code>Axis</code> of each marker whose plane has been intersected.</dd>
          +     <dt>valueItem</dt><dd>An array of hashes, each containing information about the value <code>Axis</code> of each marker whose plane has been intersected.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>
          +     <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>
          +     <dt>items</dt><dd>An array including all the series which contain a marker whose plane has been intersected.</dd>
          +     <dt>index</dt><dd>Index of the markers in their respective series.</dd>
          +     <dt>originEvent</dt><dd>Underlying dom event.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianSeries.html
          new file mode 100644
          index 000000000..5c04eefec
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CartesianSeries.html
          @@ -0,0 +1,3582 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>CartesianSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>CartesianSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l1"><code>input&#x2F;charts&#x2F;CartesianSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The CartesianSeries class creates a chart with horizontal and vertical axes.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultColor">_getDefaultColor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__handleVisibleChange">_handleVisibleChange</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setCanvas">_setCanvas</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateAxisData">_updateAxisData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__xAxisChangeHandler">_xAxisChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__xDataChangeHandler">_xDataChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__yAxisChangeHandler">_yAxisChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__yDataChangeHandler">_yDataChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_addListeners">addListeners</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_draw">draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getTotalValues">getTotalValues</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_render">render</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_validate">validate</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__bottomOrigin">_bottomOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultBorderColors">_defaultBorderColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultFillColors">_defaultFillColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultLineColors">_defaultLineColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__defaultPlaneOffset">_defaultPlaneOffset</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultSliceColors">_defaultSliceColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__leftOrigin">_leftOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__xDisplayName">_xDisplayName</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__yDisplayName">_yDisplayName</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_GUID">GUID</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryDisplayName">categoryDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_chart">chart</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graph">graph</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graphOrder">graphOrder</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_groupMarkers">groupMarkers</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_height">height</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_order">order</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_rendered">rendered</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_valueDisplayName">valueDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_visible">visible</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xAxis">xAxis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xcoords">xcoords</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xData">xData</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xDisplayName">xDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xKey">xKey</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xMarkerPlane">xMarkerPlane</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_xMarkerPlaneOffset">xMarkerPlaneOffset</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yAxis">yAxis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_ycoords">ycoords</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yData">yData</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yDisplayName">yDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yKey">yKey</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yMarkerPlane">yMarkerPlane</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_yMarkerPlaneOffset">yMarkerPlaneOffset</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultColor" class="method item protected">
          +    <h3 class="name"><code>_getDefaultColor</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l425"><code>input&#x2F;charts&#x2F;CartesianSeries.js:425</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses a color based on a series order and type.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index indicating the series order.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Indicates which type of object needs the color.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l371"><code>input&#x2F;charts&#x2F;CartesianSeries.js:371</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default value for the <code>styles</code> attribute. Overrides
          +base implementation.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__handleVisibleChange" class="method item protected">
          +    <h3 class="name"><code>_handleVisibleChange</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l453"><code>input&#x2F;charts&#x2F;CartesianSeries.js:453</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Shows/hides contents of the series.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setCanvas" class="method item protected">
          +    <h3 class="name"><code>_setCanvas</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l222"><code>input&#x2F;charts&#x2F;CartesianSeries.js:222</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a <code>Graphic</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateAxisData" class="method item private">
          +    <h3 class="name"><code>_updateAxisData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l174"><code>input&#x2F;charts&#x2F;CartesianSeries.js:174</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Checks to ensure that both xAxis and yAxis data are available. If so, set the <code>xData</code> and <code>yData</code> attributes and return <code>true</code>. Otherwise, return <code>false</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__xAxisChangeHandler" class="method item private">
          +    <h3 class="name"><code>_xAxisChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l105"><code>input&#x2F;charts&#x2F;CartesianSeries.js:105</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for the xAxisChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__xDataChangeHandler" class="method item private">
          +    <h3 class="name"><code>_xDataChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>event</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l142"><code>input&#x2F;charts&#x2F;CartesianSeries.js:142</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for xDataChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">event</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__yAxisChangeHandler" class="method item private">
          +    <h3 class="name"><code>_yAxisChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l119"><code>input&#x2F;charts&#x2F;CartesianSeries.js:119</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler the yAxisChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__yDataChangeHandler" class="method item private">
          +    <h3 class="name"><code>_yDataChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>event</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l158"><code>input&#x2F;charts&#x2F;CartesianSeries.js:158</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for yDataChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">event</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_addListeners" class="method item private">
          +    <h3 class="name"><code>addListeners</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l59"><code>input&#x2F;charts&#x2F;CartesianSeries.js:59</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds event listeners.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l477"><code>input&#x2F;charts&#x2F;CartesianSeries.js:477</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_draw" class="method item protected">
          +    <h3 class="name"><code>draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l321"><code>input&#x2F;charts&#x2F;CartesianSeries.js:321</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getTotalValues" class="method item">
          +    <h3 class="name"><code>getTotalValues</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l465"><code>input&#x2F;charts&#x2F;CartesianSeries.js:465</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the sum of all values for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_render" class="method item private">
          +    <h3 class="name"><code>render</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l47"><code>input&#x2F;charts&#x2F;CartesianSeries.js:47</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l235"><code>input&#x2F;charts&#x2F;CartesianSeries.js:235</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the coordinates for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_validate" class="method item private">
          +    <h3 class="name"><code>validate</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l204"><code>input&#x2F;charts&#x2F;CartesianSeries.js:204</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series is the xAxis and yAxis data are both available.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__bottomOrigin" class="property item private">
          +    <h3 class="name"><code>_bottomOrigin</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l38"><code>input&#x2F;charts&#x2F;CartesianSeries.js:38</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The y-coordinate for the bottom edge of the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultBorderColors" class="property item protected">
          +    <h3 class="name"><code>_defaultBorderColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l407"><code>input&#x2F;charts&#x2F;CartesianSeries.js:407</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for marker borders in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultFillColors" class="property item protected">
          +    <h3 class="name"><code>_defaultFillColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l398"><code>input&#x2F;charts&#x2F;CartesianSeries.js:398</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for marker fills in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultLineColors" class="property item protected">
          +    <h3 class="name"><code>_defaultLineColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l389"><code>input&#x2F;charts&#x2F;CartesianSeries.js:389</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for lines in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultPlaneOffset" class="property item private">
          +    <h3 class="name"><code>_defaultPlaneOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l362"><code>input&#x2F;charts&#x2F;CartesianSeries.js:362</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default value for plane offsets when the parent chart's <code>interactiveType</code> is <code>planar</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultSliceColors" class="property item protected">
          +    <h3 class="name"><code>_defaultSliceColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l416"><code>input&#x2F;charts&#x2F;CartesianSeries.js:416</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__leftOrigin" class="property item private">
          +    <h3 class="name"><code>_leftOrigin</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l29"><code>input&#x2F;charts&#x2F;CartesianSeries.js:29</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Th x-coordinate for the left edge of the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__xDisplayName" class="property item private">
          +    <h3 class="name"><code>_xDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l11"><code>input&#x2F;charts&#x2F;CartesianSeries.js:11</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>xDisplayName</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__yDisplayName" class="property item private">
          +    <h3 class="name"><code>_yDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l20"><code>input&#x2F;charts&#x2F;CartesianSeries.js:20</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>yDisplayName</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_GUID" class="property item private">
          +    <h3 class="name"><code>GUID</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l133"><code>input&#x2F;charts&#x2F;CartesianSeries.js:133</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Constant used to generate unique id.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_categoryDisplayName" class="attr item">
          +    <a name="config_categoryDisplayName"></a> 
          +    <h3 class="name"><code>categoryDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l539"><code>input&#x2F;charts&#x2F;CartesianSeries.js:539</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying category data</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_chart" class="attr item">
          +    <a name="config_chart"></a> 
          +    <h3 class="name"><code>chart</code></h3>
          +    <span class="type"><a href="../classes/ChartBase.html" class="crosslink">ChartBase</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l614"><code>input&#x2F;charts&#x2F;CartesianSeries.js:614</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Chart</code> application.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l803"><code>input&#x2F;charts&#x2F;CartesianSeries.js:803</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Direction of the series</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graph" class="attr item">
          +    <a name="config_graph"></a> 
          +    <h3 class="name"><code>graph</code></h3>
          +    <span class="type"><a href="../classes/Graph.html" class="crosslink">Graph</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l630"><code>input&#x2F;charts&#x2F;CartesianSeries.js:630</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Graph</code> in which the series is drawn into.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graphOrder" class="attr item">
          +    <a name="config_graphOrder"></a> 
          +    <h3 class="name"><code>graphOrder</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l590"><code>input&#x2F;charts&#x2F;CartesianSeries.js:590</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Order of the instance</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_groupMarkers" class="attr item">
          +    <a name="config_groupMarkers"></a> 
          +    <h3 class="name"><code>groupMarkers</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l813"><code>input&#x2F;charts&#x2F;CartesianSeries.js:813</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_height" class="attr item">
          +    <a name="config_height"></a> 
          +    <h3 class="name"><code>height</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l725"><code>input&#x2F;charts&#x2F;CartesianSeries.js:725</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the height of the parent graph</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_order" class="attr item">
          +    <a name="config_order"></a> 
          +    <h3 class="name"><code>order</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l582"><code>input&#x2F;charts&#x2F;CartesianSeries.js:582</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Order of this instance of this <code>type</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_rendered" class="attr item">
          +    <a name="config_rendered"></a> 
          +    <h3 class="name"><code>rendered</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l700"><code>input&#x2F;charts&#x2F;CartesianSeries.js:700</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the Series has been through its initial set up.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l571"><code>input&#x2F;charts&#x2F;CartesianSeries.js:571</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> cartesian</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_valueDisplayName" class="attr item">
          +    <a name="config_valueDisplayName"></a> 
          +    <h3 class="name"><code>valueDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l555"><code>input&#x2F;charts&#x2F;CartesianSeries.js:555</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying value data</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_visible" class="attr item">
          +    <a name="config_visible"></a> 
          +    <h3 class="name"><code>visible</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l740"><code>input&#x2F;charts&#x2F;CartesianSeries.js:740</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether to show the series</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xAxis" class="attr item">
          +    <a name="config_xAxis"></a> 
          +    <h3 class="name"><code>xAxis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l638"><code>input&#x2F;charts&#x2F;CartesianSeries.js:638</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Axis</code> instance used for assigning 
          +x-values to the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xcoords" class="attr item">
          +    <a name="config_xcoords"></a> 
          +    <h3 class="name"><code>xcoords</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l598"><code>input&#x2F;charts&#x2F;CartesianSeries.js:598</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>x coordinates for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xData" class="attr item">
          +    <a name="config_xData"></a> 
          +    <h3 class="name"><code>xData</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l684"><code>input&#x2F;charts&#x2F;CartesianSeries.js:684</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Array of x values for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xDisplayName" class="attr item">
          +    <a name="config_xDisplayName"></a> 
          +    <h3 class="name"><code>xDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l501"><code>input&#x2F;charts&#x2F;CartesianSeries.js:501</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying data related to the x-coordinate.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xKey" class="attr item">
          +    <a name="config_xKey"></a> 
          +    <h3 class="name"><code>xKey</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l656"><code>input&#x2F;charts&#x2F;CartesianSeries.js:656</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates which array to from the hash of value arrays in 
          +the x-axis <code>Axis</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xMarkerPlane" class="attr item">
          +    <a name="config_xMarkerPlane"></a> 
          +    <h3 class="name"><code>xMarkerPlane</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l751"><code>input&#x2F;charts&#x2F;CartesianSeries.js:751</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of area maps along the xAxis. Used to determine mouseover for multiple
          +series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_xMarkerPlaneOffset" class="attr item">
          +    <a name="config_xMarkerPlaneOffset"></a> 
          +    <h3 class="name"><code>xMarkerPlaneOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l769"><code>input&#x2F;charts&#x2F;CartesianSeries.js:769</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance from a data coordinate to the left/right for setting a hotspot.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yAxis" class="attr item">
          +    <a name="config_yAxis"></a> 
          +    <h3 class="name"><code>yAxis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l647"><code>input&#x2F;charts&#x2F;CartesianSeries.js:647</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Axis</code> instance used for assigning 
          +y-values to the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_ycoords" class="attr item">
          +    <a name="config_ycoords"></a> 
          +    <h3 class="name"><code>ycoords</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l606"><code>input&#x2F;charts&#x2F;CartesianSeries.js:606</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>y coordinates for the series</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yData" class="attr item">
          +    <a name="config_yData"></a> 
          +    <h3 class="name"><code>yData</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l692"><code>input&#x2F;charts&#x2F;CartesianSeries.js:692</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Array of y values for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yDisplayName" class="attr item">
          +    <a name="config_yDisplayName"></a> 
          +    <h3 class="name"><code>yDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l520"><code>input&#x2F;charts&#x2F;CartesianSeries.js:520</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying data related to the y-coordinate.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yKey" class="attr item">
          +    <a name="config_yKey"></a> 
          +    <h3 class="name"><code>yKey</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l670"><code>input&#x2F;charts&#x2F;CartesianSeries.js:670</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates which array to from the hash of value arrays in 
          +the y-axis <code>Axis</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yMarkerPlane" class="attr item">
          +    <a name="config_yMarkerPlane"></a> 
          +    <h3 class="name"><code>yMarkerPlane</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l760"><code>input&#x2F;charts&#x2F;CartesianSeries.js:760</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of area maps along the yAxis. Used to determine mouseover for multiple
          +series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_yMarkerPlaneOffset" class="attr item">
          +    <a name="config_yMarkerPlaneOffset"></a> 
          +    <h3 class="name"><code>yMarkerPlaneOffset</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianSeries.js.html#l786"><code>input&#x2F;charts&#x2F;CartesianSeries.js:786</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Distance from a data coordinate to the top/bottom for setting a hotspot.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CategoryAxis.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CategoryAxis.html
          new file mode 100644
          index 000000000..cdce3ed61
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CategoryAxis.html
          @@ -0,0 +1,1899 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>CategoryAxis</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>CategoryAxis Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l1"><code>input&#x2F;charts&#x2F;CategoryAxis.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>CategoryAxis manages category data on an axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getKeyArray">_getKeyArray</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setDataByKey">_setDataByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateMinAndMax">_updateMinAndMax</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_formatLabel">formatLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getDataByKey">getDataByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getEdgeOffset">getEdgeOffset</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getKeyValueAt">getKeyValueAt</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getLabelByIndex">getLabelByIndex</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMajorUnitDistance">getMajorUnitDistance</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMaximumValue">getMaximumValue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getMinimumValue">getMinimumValue</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getTotalMajorUnits">getTotalMajorUnits</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dataType">_dataType</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__indices">_indices</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_GUID">GUID</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getKeyArray" class="method item private">
          +    <h3 class="name"><code>_getKeyArray</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l70"><code>input&#x2F;charts&#x2F;CategoryAxis.js:70</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets an array of values based on a key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Value key associated with the data array.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array in which the data resides.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setDataByKey" class="method item private">
          +    <h3 class="name"><code>_setDataByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l100"><code>input&#x2F;charts&#x2F;CategoryAxis.js:100</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets data by key</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Key value to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateMinAndMax" class="method item private">
          +    <h3 class="name"><code>_updateMinAndMax</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l58"><code>input&#x2F;charts&#x2F;CategoryAxis.js:58</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the maximum and minimum values for the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_formatLabel" class="method item">
          +    <h3 class="name"><code>formatLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>format</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l19"><code>input&#x2F;charts&#x2F;CategoryAxis.js:19</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats a label based on the axis type and optionally specified format.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                         
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">format</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Pattern used to format the value.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getDataByKey" class="method item">
          +    <h3 class="name"><code>getDataByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l131"><code>input&#x2F;charts&#x2F;CategoryAxis.js:131</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns an array of values based on an identifier key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value used to identify the array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getEdgeOffset" class="method item">
          +    <h3 class="name"><code>getEdgeOffset</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>ct</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l188"><code>input&#x2F;charts&#x2F;CategoryAxis.js:188</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the distance that the first and last ticks are offset from there respective
          +edges.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ct</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number of ticks on the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Length (in pixels) of the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getKeyValueAt" class="method item">
          +    <h3 class="name"><code>getKeyValueAt</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l202"><code>input&#x2F;charts&#x2F;CategoryAxis.js:202</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a value based of a key value and an index.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value used to look up the correct array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>within the array</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelByIndex" class="method item">
          +    <h3 class="name"><code>getLabelByIndex</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l221"><code>input&#x2F;charts&#x2F;CategoryAxis.js:221</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and returns a value based on the number of labels and the index of
          +the current label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total number of labels.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMajorUnitDistance" class="method item">
          +    <h3 class="name"><code>getMajorUnitDistance</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>len</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>uiLen</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>majorUnit</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l165"><code>input&#x2F;charts&#x2F;CategoryAxis.js:165</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the distance between major units on an axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">len</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number of ticks</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">uiLen</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Size of the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">majorUnit</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties used to determine the majorUnit</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMaximumValue" class="method item">
          +    <h3 class="name"><code>getMaximumValue</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l260"><code>input&#x2F;charts&#x2F;CategoryAxis.js:260</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a string corresponding to the last label on an 
          +axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMinimumValue" class="method item">
          +    <h3 class="name"><code>getMinimumValue</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l246"><code>input&#x2F;charts&#x2F;CategoryAxis.js:246</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a string corresponding to the first label on an 
          +axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getTotalMajorUnits" class="method item">
          +    <h3 class="name"><code>getTotalMajorUnits</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>majorUnit</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>len</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l152"><code>input&#x2F;charts&#x2F;CategoryAxis.js:152</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the total number of majorUnits that will appear on an axis.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">majorUnit</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing properties related to the majorUnit.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">len</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Length of the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__dataType" class="property item private">
          +    <h3 class="name"><code>_dataType</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l49"><code>input&#x2F;charts&#x2F;CategoryAxis.js:49</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of data used in <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__indices" class="property item private">
          +    <h3 class="name"><code>_indices</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l32"><code>input&#x2F;charts&#x2F;CategoryAxis.js:32</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Object storing key data.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_GUID" class="property item private">
          +    <h3 class="name"><code>GUID</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CategoryAxis.js.html#l40"><code>input&#x2F;charts&#x2F;CategoryAxis.js:40</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Constant used to generate unique id.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Chart.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Chart.html
          new file mode 100644
          index 000000000..5e79e8743
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Chart.html
          @@ -0,0 +1,330 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Chart</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Chart Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Chart.js.html#l1"><code>input&#x2F;charts&#x2F;Chart.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The Chart class is the basic application used to create a chart.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartBase.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartBase.html
          new file mode 100644
          index 000000000..d9b936075
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartBase.html
          @@ -0,0 +1,4401 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ChartBase</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ChartBase Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l1"><code>input&#x2F;charts&#x2F;ChartBase.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The ChartBase class is an abstract class used to create charts.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +            <li class="api-class-tab events"><a href="#events">Events</a></li>
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addTooltip">_addTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__dataProviderChangeHandler">_dataProviderChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getAxisClass">_getAxisClass</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getGraph">_getGraph</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getTooltip">_getTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__itemRendered">_itemRendered</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__markerEventDispatcher">_markerEventDispatcher</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__planarLabelFunction">_planarLabelFunction</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__positionTooltip">_positionTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setAriaElements">_setAriaElements</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setDataValues">_setDataValues</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setOffscreen">_setOffscreen</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setText">_setText</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__showTooltip">_showTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__tooltipChangeHandler">_tooltipChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__tooltipLabelFunction">_tooltipLabelFunction</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateTooltip">_updateTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_bindUI">bindUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getAxisByKey">getAxisByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getCategoryAxis">getCategoryAxis</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getSeries">getSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_hideTooltip">hideTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_initializer">initializer</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_renderUI">renderUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_syncUI">syncUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_toggleTooltip">toggleTooltip</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__axes">_axes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__axisClass">_axisClass</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dataProvider">_dataProvider</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__direction">_direction</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__seriesCollection">_seriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__setSeriesCollection">_setSeriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_ariaDescription">ariaDescription</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_ariaLabel">ariaLabel</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_axesCollection">axesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryKey">categoryKey</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryType">categoryType</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_dataProvider">dataProvider</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graph">graph</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_groupMarkers">groupMarkers</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_interactionType">interactionType</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_seriesKeys">seriesKeys</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_tooltip">tooltip</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section events">
          +                    <h3>Events</h3>
          +
          +                    <ul class="index-list events">
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_markerEvent:click">markerEvent:click</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_markerEvent:mousedown">markerEvent:mousedown</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_markerEvent:mouseout">markerEvent:mouseout</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_markerEvent:mouseover">markerEvent:mouseover</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_markerEvent:mouseup">markerEvent:mouseup</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__addTooltip" class="method item private">
          +    <h3 class="name"><code>_addTooltip</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l902"><code>input&#x2F;charts&#x2F;ChartBase.js:902</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds a tooltip to the dom.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__dataProviderChangeHandler" class="method item private">
          +    <h3 class="name"><code>_dataProviderChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l787"><code>input&#x2F;charts&#x2F;ChartBase.js:787</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for dataProviderChange.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getAxisClass" class="method item private">
          +    <h3 class="name"><code>_getAxisClass</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>t</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l406"><code>input&#x2F;charts&#x2F;ChartBase.js:406</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Helper method that returns the axis class that a key references.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">t</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The type of axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Axis
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getGraph" class="method item private">
          +    <h3 class="name"><code>_getGraph</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l251"><code>input&#x2F;charts&#x2F;ChartBase.js:251</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default value function for the <code>Graph</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Graph
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTooltip" class="method item private">
          +    <h3 class="name"><code>_getTooltip</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l973"><code>input&#x2F;charts&#x2F;ChartBase.js:973</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default getter for <code>tooltip</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__itemRendered" class="method item private">
          +    <h3 class="name"><code>_itemRendered</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l235"><code>input&#x2F;charts&#x2F;ChartBase.js:235</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handler for itemRendered event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__markerEventDispatcher" class="method item private">
          +    <h3 class="name"><code>_markerEventDispatcher</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l646"><code>input&#x2F;charts&#x2F;ChartBase.js:646</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for marker events.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__planarLabelFunction" class="method item private">
          +    <h3 class="name"><code>_planarLabelFunction</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>categoryAxis</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>valueItems</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesArray</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesIndex</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String | HTML</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l1025"><code>input&#x2F;charts&#x2F;ChartBase.js:1025</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats tooltip text when <code>interactionType</code> is <code>planar</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">categoryAxis</code>
          +                        <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to the categoryAxis of the chart.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">valueItems</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          + <dl>
          +     <dt>axis</dt><dd>The value axis of the series.</dd>
          +     <dt>key</dt><dd>The key for the series.</dd>
          +     <dt>value</dt><dd>The value for the series item.</dd>
          +     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the item within its series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesArray</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of series instances for each value item.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the series in the <code>seriesCollection</code>.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String | HTML</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__positionTooltip" class="method item private">
          +    <h3 class="name"><code>_positionTooltip</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l865"><code>input&#x2F;charts&#x2F;ChartBase.js:865</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Positions the tooltip</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setAriaElements" class="method item private">
          +    <h3 class="name"><code>_setAriaElements</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cb</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l475"><code>input&#x2F;charts&#x2F;ChartBase.js:475</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates an aria <code>live-region</code>, <code>aria-label</code> and <code>aria-describedby</code> for the Chart.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cb</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to the Chart's <code>contentBox</code> attribute.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setDataValues" class="method item private">
          +    <h3 class="name"><code>_setDataValues</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l353"><code>input&#x2F;charts&#x2F;ChartBase.js:353</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Setter method for <code>dataProvider</code> attribute.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array to be set as <code>dataProvider</code>.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setOffscreen" class="method item private">
          +    <h3 class="name"><code>_setOffscreen</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l505"><code>input&#x2F;charts&#x2F;ChartBase.js:505</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets a node offscreen for use as aria-description or aria-live-regin.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Node
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setText" class="method item private">
          +    <h3 class="name"><code>_setText</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l1156"><code>input&#x2F;charts&#x2F;ChartBase.js:1156</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the content of text field. This method writes a value into a text field using 
          +<code>appendChild</code>. If the value is a <code>String</code>, it is converted to a <code>TextNode</code> first.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>label to be updated</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>value with which to update the label</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__showTooltip" class="method item private">
          +    <h3 class="name"><code>_showTooltip</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>msg</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>x</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>y</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l842"><code>input&#x2F;charts&#x2F;ChartBase.js:842</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Shows a tooltip</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">msg</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Message to dispaly in the tooltip.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">x</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>x-coordinate</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">y</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>y-coordinate</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__tooltipChangeHandler" class="method item private">
          +    <h3 class="name"><code>_tooltipChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l1131"><code>input&#x2F;charts&#x2F;ChartBase.js:1131</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for the tooltipChange.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__tooltipLabelFunction" class="method item private">
          +    <h3 class="name"><code>_tooltipLabelFunction</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>categoryItem</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>valueItem</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>itemIndex</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesIndex</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String | HTML</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l1084"><code>input&#x2F;charts&#x2F;ChartBase.js:1084</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats tooltip text when <code>interactionType</code> is <code>marker</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">categoryItem</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An object containing the following:
          + <dl>
          +     <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>
          +     <dt>key</dt><dd>The key of the category.</dd>
          +     <dt>value</dt><dd>The value of the category</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">valueItem</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An object containing the following:
          + <dl>
          +     <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     <dt>key</dt><dd>The key for the series.</dd>
          +     <dt>value</dt><dd>The value for the series item.</dd> 
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">itemIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the item within the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The <code>CartesianSeries</code> instance of the item.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the series in the <code>seriesCollection</code>.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String | HTML</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateTooltip" class="method item private">
          +    <h3 class="name"><code>_updateTooltip</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l923"><code>input&#x2F;charts&#x2F;ChartBase.js:923</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the tooltip attribute.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing properties for the tooltip.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bindUI" class="method item private">
          +    <h3 class="name"><code>bindUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l534"><code>input&#x2F;charts&#x2F;ChartBase.js:534</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getAxisByKey" class="method item">
          +    <h3 class="name"><code>getAxisByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l295"><code>input&#x2F;charts&#x2F;ChartBase.js:295</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns an <code>Axis</code> instance by key reference. If the axis was explicitly set through the <code>axes</code> attribute,
          +the key will be the same as the key used in the <code>axes</code> object. For default axes, the key for
          +the category axis is the value of the <code>categoryKey</code> (<code>category</code>). For the value axis, the default 
          +key is <code>values</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Key reference used to look up the axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Axis
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getCategoryAxis" class="method item">
          +    <h3 class="name"><code>getCategoryAxis</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l316"><code>input&#x2F;charts&#x2F;ChartBase.js:316</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the category axis for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Axis
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getSeries" class="method item">
          +    <h3 class="name"><code>getSeries</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l270"><code>input&#x2F;charts&#x2F;ChartBase.js:270</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a series instance by index or key value.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                         
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    CartesianSeries
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_hideTooltip" class="method item">
          +    <h3 class="name"><code>hideTooltip</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l886"><code>input&#x2F;charts&#x2F;ChartBase.js:886</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Hides the default tooltip</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_initializer" class="method item private">
          +    <h3 class="name"><code>initializer</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l442"><code>input&#x2F;charts&#x2F;ChartBase.js:442</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_renderUI" class="method item private">
          +    <h3 class="name"><code>renderUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l454"><code>input&#x2F;charts&#x2F;ChartBase.js:454</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_syncUI" class="method item private">
          +    <h3 class="name"><code>syncUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l525"><code>input&#x2F;charts&#x2F;ChartBase.js:525</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_toggleTooltip" class="method item">
          +    <h3 class="name"><code>toggleTooltip</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l822"><code>input&#x2F;charts&#x2F;ChartBase.js:822</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event listener for toggling the tooltip. If a tooltip is visible, hide it. If not, it 
          +will create and show a tooltip based on the event object.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__axes" class="property item private">
          +    <h3 class="name"><code>_axes</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l433"><code>input&#x2F;charts&#x2F;ChartBase.js:433</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of axes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__axisClass" class="property item private">
          +    <h3 class="name"><code>_axisClass</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l419"><code>input&#x2F;charts&#x2F;ChartBase.js:419</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Key value pairs of axis types.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__dataProvider" class="property item private">
          +    <h3 class="name"><code>_dataProvider</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l344"><code>input&#x2F;charts&#x2F;ChartBase.js:344</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for the <code>dataProvider</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__direction" class="property item private">
          +    <h3 class="name"><code>_direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l334"><code>input&#x2F;charts&#x2F;ChartBase.js:334</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default direction of the chart.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> horizontal</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__seriesCollection" class="property item private">
          +    <h3 class="name"><code>_seriesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l386"><code>input&#x2F;charts&#x2F;ChartBase.js:386</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>seriesCollection</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__setSeriesCollection" class="property item private">
          +    <h3 class="name"><code>_setSeriesCollection</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l395"><code>input&#x2F;charts&#x2F;ChartBase.js:395</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Setter method for <code>seriesCollection</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <h4>Sub-properties:</h4>
          +
          +        <ul class="params-list">
          +            
          +            <li class="param">
          +                
          +                    <code class="param-name">val</code>
          +                    <span class="type">Array</span>
          +                
          +
          +                <div class="param-description">
          +                    <p>Array of either <code>CartesianSeries</code> instances or objects containing series attribute key value pairs.</p>
          +                </div>
          +
          +                
          +            </li>
          +            
          +        </ul>
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_ariaDescription" class="attr item">
          +    <a name="config_ariaDescription"></a> 
          +    <h3 class="name"><code>ariaDescription</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l31"><code>input&#x2F;charts&#x2F;ChartBase.js:31</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the aria description for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_ariaLabel" class="attr item">
          +    <a name="config_ariaLabel"></a> 
          +    <h3 class="name"><code>ariaLabel</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l11"><code>input&#x2F;charts&#x2F;ChartBase.js:11</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the <code>aria-label</code> for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_axesCollection" class="attr item">
          +    <a name="config_axesCollection"></a> 
          +    <h3 class="name"><code>axesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l196"><code>input&#x2F;charts&#x2F;ChartBase.js:196</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to all the axes in the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryKey" class="attr item">
          +    <a name="config_categoryKey"></a> 
          +    <h3 class="name"><code>categoryKey</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l129"><code>input&#x2F;charts&#x2F;ChartBase.js:129</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The key value used for the chart's category axis.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> category</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryType" class="attr item">
          +    <a name="config_categoryType"></a> 
          +    <h3 class="name"><code>categoryType</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l140"><code>input&#x2F;charts&#x2F;ChartBase.js:140</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the type of axis to use for the category axis.</p>
          +
          +<p><dl>
          +     <dt>category</dt><dd>Specifies a <code>CategoryAxis</code>.</dd>
          +     <dt>time</dt><dd>Specifies a `TimeAxis</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> category</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_dataProvider" class="attr item">
          +    <a name="config_dataProvider"></a> 
          +    <h3 class="name"><code>dataProvider</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l173"><code>input&#x2F;charts&#x2F;ChartBase.js:173</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Data used to generate the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graph" class="attr item">
          +    <a name="config_graph"></a> 
          +    <h3 class="name"><code>graph</code></h3>
          +    <span class="type"><a href="../classes/Graph.html" class="crosslink">Graph</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l204"><code>input&#x2F;charts&#x2F;ChartBase.js:204</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to graph instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_groupMarkers" class="attr item">
          +    <a name="config_groupMarkers"></a> 
          +    <h3 class="name"><code>groupMarkers</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l214"><code>input&#x2F;charts&#x2F;ChartBase.js:214</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_interactionType" class="attr item">
          +    <a name="config_interactionType"></a> 
          +    <h3 class="name"><code>interactionType</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l156"><code>input&#x2F;charts&#x2F;ChartBase.js:156</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the the type of interactions that will fire events.</p>
          +
          +<p><dl>
          +     <dt>marker</dt><dd>Events will be broadcasted when the mouse interacts with individual markers.</dd>
          +     <dt>planar</dt><dd>Events will be broadcasted when the mouse intersects the plane of any markers on the chart.</dd>
          +     <dt>none</dt><dd>No events will be broadcasted.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> marker</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesKeys" class="attr item">
          +    <a name="config_seriesKeys"></a> 
          +    <h3 class="name"><code>seriesKeys</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l186"><code>input&#x2F;charts&#x2F;ChartBase.js:186</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>A collection of keys that map to the series axes. If no keys are set,
          +they will be generated automatically depending on the data structure passed into 
          +the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_tooltip" class="attr item">
          +    <a name="config_tooltip"></a> 
          +    <h3 class="name"><code>tooltip</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l51"><code>input&#x2F;charts&#x2F;ChartBase.js:51</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the default tooltip available for the chart.</p>
          +
          +<p>Contains the following properties:</p>
          +
          +<p><dl>
          +     <dt>node</dt><dd>Reference to the actual dom node</dd>
          +     <dt>showEvent</dt><dd>Event that should trigger the tooltip</dd>
          +     <dt>hideEvent</dt><dd>Event that should trigger the removal of a tooltip (can be an event or an array of events)</dd>
          +     <dt>styles</dt><dd>A hash of style properties that will be applied to the tooltip node</dd>
          +     <dt>show</dt><dd>Indicates whether or not to show the tooltip</dd>
          +     <dt>markerEventHandler</dt><dd>Displays and hides tooltip based on marker events</dd>
          +     <dt>planarEventHandler</dt><dd>Displays and hides tooltip based on planar events</dd>
          +     <dt>markerLabelFunction</dt><dd>Reference to the function used to format a marker event triggered tooltip's text. The method contains 
          +     the following arguments:
          + <dl>
          +     <dt>categoryItem</dt><dd>An object containing the following:
          + <dl>
          +     <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided).</dd>
          +     <dt>key</dt><dd>The key of the category.</dd>
          +     <dt>value</dt><dd>The value of the category.</dd>
          + </dl>
          + </dd>
          + <dt>valueItem</dt><dd>An object containing the following:
          +     <dl>
          +         <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +         <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +         <dt>key</dt><dd>The key for the series.</dd>
          +         <dt>value</dt><dd>The value for the series item.</dd> 
          +     </dl>
          + </dd>
          + <dt>itemIndex</dt><dd>The index of the item within the series.</dd>
          + <dt>series</dt><dd> The <code>CartesianSeries</code> instance of the item.</dd>
          + <dt>seriesIndex</dt><dd>The index of the series in the <code>seriesCollection</code>.</dd>
          + </dl>
          + The method returns an <code>HTMLElement</code> which is written into the DOM using <code>appendChild</code>. If you override this method and choose to return an html string, you
          + will also need to override the tooltip's <code>setTextFunction</code> method to accept an html string.
          + </dd>
          + <dt>planarLabelFunction</dt><dd>Reference to the function used to format a planar event triggered tooltip's text
          + <dl>
          +     <dt>categoryAxis</dt><dd> <code>CategoryAxis</code> Reference to the categoryAxis of the chart.
          +     <dt>valueItems</dt><dd>Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          + <dl>
          +     <dt>axis</dt><dd>The value axis of the series.</dd>
          +     <dt>key</dt><dd>The key for the series.</dd>
          +     <dt>value</dt><dd>The value for the series item.</dd>
          +     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          + </dl> 
          + </dd>
          +     <dt>index</dt><dd>The index of the item within its series.</dd>
          +     <dt>seriesArray</dt><dd>Array of series instances for each value item.</dd>
          +     <dt>seriesIndex</dt><dd>The index of the series in the <code>seriesCollection</code>.</dd>
          + </dl>
          + </dd>
          + </dl>
          + The method returns an <code>HTMLElement</code> which is written into the DOM using <code>appendChild</code>. If you override this method and choose to return an html string, you
          + will also need to override the tooltip's <code>setTextFunction</code> method to accept an html string.
          + </dd>
          + <dt>setTextFunction</dt><dd>Method that writes content returned from <code>planarLabelFunction</code> or <code>markerLabelFunction</code> into the the tooltip node.
          + has the following signature:
          + <dl>
          +     <dt>label</dt><dd>The <code>HTMLElement</code> that the content is to be added.</dd>
          +     <dt>val</dt><dd>The content to be rendered into tooltip. This can be a <code>String</code> or <code>HTMLElement</code>. If an HTML string is used, it will be rendered as a
          +     string.</dd>
          + </dl>
          + </dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="events" class="api-class-tabpanel">
          +                <h2 class="off-left">Events</h2>
          +
          +                
          +                    <div id="event_markerEvent:click" class="events item">
          +    <h3 class="name"><code>markerEvent:click</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l751"><code>input&#x2F;charts&#x2F;ChartBase.js:751</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>marker</code> and a series marker has received a click event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>Hash containing information about the category <code>Axis</code>.</dd>
          +     <dt>valueItem</dt><dd>Hash containing information about the value <code>Axis</code>.</dd>
          +     <dt>node</dt><dd>The dom node of the marker.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>
          +     <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>
          +     <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +     <dt>index</dt><dd>Index of the marker in the series.</dd>
          +     <dt>seriesIndex</dt><dd>The <code>order</code> of the marker's series.</dd>
          +     <dt>originEvent</dt><dd>Underlying dom event.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +                    <div id="event_markerEvent:mousedown" class="events item">
          +    <h3 class="name"><code>markerEvent:mousedown</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l715"><code>input&#x2F;charts&#x2F;ChartBase.js:715</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>marker</code> and a series marker has received a mousedown event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>Hash containing information about the category <code>Axis</code>.</dd>
          +     <dt>valueItem</dt><dd>Hash containing information about the value <code>Axis</code>.</dd>
          +     <dt>node</dt><dd>The dom node of the marker.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +     <dt>index</dt><dd>Index of the marker in the series.</dd>
          +     <dt>seriesIndex</dt><dd>The <code>order</code> of the marker's series.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +                    <div id="event_markerEvent:mouseout" class="events item">
          +    <h3 class="name"><code>markerEvent:mouseout</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l697"><code>input&#x2F;charts&#x2F;ChartBase.js:697</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>marker</code> and a series marker has received a mouseout event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>Hash containing information about the category <code>Axis</code>.</dd>
          +     <dt>valueItem</dt><dd>Hash containing information about the value <code>Axis</code>.</dd>
          +     <dt>node</dt><dd>The dom node of the marker.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +     <dt>index</dt><dd>Index of the marker in the series.</dd>
          +     <dt>seriesIndex</dt><dd>The <code>order</code> of the marker's series.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +                    <div id="event_markerEvent:mouseover" class="events item">
          +    <h3 class="name"><code>markerEvent:mouseover</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l678"><code>input&#x2F;charts&#x2F;ChartBase.js:678</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>marker</code> and a series marker has received a mouseover event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>Hash containing information about the category <code>Axis</code>.</dd>
          +     <dt>valueItem</dt><dd>Hash containing information about the value <code>Axis</code>.</dd>
          +     <dt>node</dt><dd>The dom node of the marker.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +     <dt>index</dt><dd>Index of the marker in the series.</dd>
          +     <dt>seriesIndex</dt><dd>The <code>order</code> of the marker's series.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +                    <div id="event_markerEvent:mouseup" class="events item">
          +    <h3 class="name"><code>markerEvent:mouseup</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartBase.js.html#l733"><code>input&#x2F;charts&#x2F;ChartBase.js:733</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Broadcasts when <code>interactionType</code> is set to <code>marker</code> and a series marker has received a mouseup event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">EventFacade</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event facade with the following additional
          +  properties:
          + <dl>
          +     <dt>categoryItem</dt><dd>Hash containing information about the category <code>Axis</code>.</dd>
          +     <dt>valueItem</dt><dd>Hash containing information about the value <code>Axis</code>.</dd>
          +     <dt>node</dt><dd>The dom node of the marker.</dd>
          +     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>
          +     <dt>series</dt><dd>Reference to the series of the marker.</dd>
          +     <dt>index</dt><dd>Index of the marker in the series.</dd>
          +     <dt>seriesIndex</dt><dd>The <code>order</code> of the marker's series.</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartLegend.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartLegend.html
          new file mode 100644
          index 000000000..27e363e8c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ChartLegend.html
          @@ -0,0 +1,2450 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ChartLegend</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ChartLegend Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +        <div class="extends">
          +            Extends Widget
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l1"><code>input&#x2F;charts&#x2F;ChartLegend.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts-legend.html">charts-legend</a><br>
          +            Parent Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>ChartLegend provides a legend for a chart.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods extends">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__destroyLegendItems">_destroyLegendItems</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__drawLegend">_drawLegend</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getLegendItem">_getLegendItem</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getShapeClass">_getShapeClass</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getStylesBySeriesType">_getStylesBySeriesType</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__handleSizeChange">_handleSizeChange</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__positionChangeHandler">_positionChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateBackground">_updateBackground</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateHandler">_updateHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_bindUI">bindUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_initializer">initializer</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_renderUI">renderUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_syncUI">syncUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties extends">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__layout">_layout</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs extends">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_background">background</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_chart">chart</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_height">height</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_includeInChartLayout">includeInChartLayout</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_position">position</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_width">width</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_x">x</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_y">y</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__destroyLegendItems" class="method item private">
          +    <h3 class="name"><code>_destroyLegendItems</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l475"><code>input&#x2F;charts&#x2F;ChartLegend.js:475</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destroys legend items.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__drawLegend" class="method item private">
          +    <h3 class="name"><code>_drawLegend</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l122"><code>input&#x2F;charts&#x2F;ChartLegend.js:122</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the legend</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l416"><code>input&#x2F;charts&#x2F;ChartLegend.js:416</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the default hash for the <code>styles</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getLegendItem" class="method item private">
          +    <h3 class="name"><code>_getLegendItem</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>shapeProps</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>shapeClass</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>fill</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>border</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>text</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>width</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>height</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>text</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l337"><code>input&#x2F;charts&#x2F;ChartLegend.js:337</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a legend item consisting of the following properties:
          + <dl>
          +   <dt>node</dt><dd>The <code>Node</code> containing the legend item elements.</dd>
          +     <dt>shape</dt><dd>The <code>Shape</code> element for the legend item.</dd>
          +     <dt>textNode</dt><dd>The <code>Node</code> containing the text></dd>
          +     <dt>text</dt><dd></dd>
          + </dl></p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">shapeProps</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to the <code>node</code> attribute.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">shapeClass</code>
          +                        <span class="type">String | Class</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The type of shape</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">fill</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Properties for the shape's fill</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">border</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Properties for the shape's border</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">text</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>String to be rendered as the legend's text</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">width</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total width of the legend item</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">height</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total height of the legend item</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">text</code>
          +                        <span class="type">HTML | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Text for the legendItem</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item protected">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l458"><code>input&#x2F;charts&#x2F;ChartLegend.js:458</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default values for series that use the utility. This method is used by
          +the class' <code>styles</code> attribute's getter to get build default values.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getShapeClass" class="method item private">
          +    <h3 class="name"><code>_getShapeClass</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l403"><code>input&#x2F;charts&#x2F;ChartLegend.js:403</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Evaluates and returns correct class for drawing a shape.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Shape
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getStylesBySeriesType" class="method item private">
          +    <h3 class="name"><code>_getStylesBySeriesType</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>The</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l282"><code>input&#x2F;charts&#x2F;ChartLegend.js:282</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Retrieves the marker styles based on the type of series. For series that contain a marker, the marker styles are returned.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">The</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a> | <a href="../classes/PieSeries.html" class="crosslink">PieSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>series in which the style properties will be received.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object An object containing fill, border and shape information.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__handleSizeChange" class="method item private">
          +    <h3 class="name"><code>_handleSizeChange</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l103"><code>input&#x2F;charts&#x2F;ChartLegend.js:103</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the legend when the size changes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__positionChangeHandler" class="method item private">
          +    <h3 class="name"><code>_positionChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l82"><code>input&#x2F;charts&#x2F;ChartLegend.js:82</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles position changes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateBackground" class="method item private">
          +    <h3 class="name"><code>_updateBackground</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l256"><code>input&#x2F;charts&#x2F;ChartLegend.js:256</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the background for the legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to the legend's styles attribute</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateHandler" class="method item private">
          +    <h3 class="name"><code>_updateHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l67"><code>input&#x2F;charts&#x2F;ChartLegend.js:67</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handles changes to legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bindUI" class="method item private">
          +    <h3 class="name"><code>bindUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l40"><code>input&#x2F;charts&#x2F;ChartLegend.js:40</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l509"><code>input&#x2F;charts&#x2F;ChartLegend.js:509</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation ChartLegend class. Removes all items and the Graphic instance from the widget.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_initializer" class="method item private">
          +    <h3 class="name"><code>initializer</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l10"><code>input&#x2F;charts&#x2F;ChartLegend.js:10</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Initializes the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_renderUI" class="method item private">
          +    <h3 class="name"><code>renderUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l21"><code>input&#x2F;charts&#x2F;ChartLegend.js:21</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_syncUI" class="method item private">
          +    <h3 class="name"><code>syncUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l53"><code>input&#x2F;charts&#x2F;ChartLegend.js:53</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__layout" class="property item private">
          +    <h3 class="name"><code>_layout</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l498"><code>input&#x2F;charts&#x2F;ChartLegend.js:498</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Maps layout classes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_background" class="attr item">
          +    <a name="config_background"></a> 
          +    <h3 class="name"><code>background</code></h3>
          +    <span class="type">Rect</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l714"><code>input&#x2F;charts&#x2F;ChartLegend.js:714</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Background for the legend.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_chart" class="attr item">
          +    <a name="config_chart"></a> 
          +    <h3 class="name"><code>chart</code></h3>
          +    <span class="type"><a href="../classes/Chart.html" class="crosslink">Chart</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l537"><code>input&#x2F;charts&#x2F;ChartLegend.js:537</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Chart</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l551"><code>input&#x2F;charts&#x2F;ChartLegend.js:551</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the direction in relation of the legend's layout. The <code>direction</code> of the legend is determined by its
          +<code>position</code> value.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_height" class="attr item">
          +    <a name="config_height"></a> 
          +    <h3 class="name"><code>height</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l627"><code>input&#x2F;charts&#x2F;ChartLegend.js:627</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The height of the legend. Depending on the implementation of the ChartLegend, this value is <code>readOnly</code>. By default, the legend is included in the layout of the <code>Chart</code> that 
          +it references. Under this circumstance, <code>height</code> is always <code>readOnly</code>. When the legend is rendered in its own dom element, the <code>readOnly</code> status is determined by the 
          +direction of the legend. If the <code>position</code> is <code>top</code> or <code>bottom</code> or the <code>direction</code> is <code>horizontal</code>, height is <code>readOnly</code>. If the position is <code>left</code> or <code>right</code> or the <code>direction</code>
          +is <code>vertical</code>, height can be explicitly set. If height is not explicitly set, the height will be determined by the width of the legend's parent element.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_includeInChartLayout" class="attr item private">
          +    <a name="config_includeInChartLayout"></a> 
          +    <h3 class="name"><code>includeInChartLayout</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l526"><code>input&#x2F;charts&#x2F;ChartLegend.js:526</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the chart's contentBox is the parentNode for the legend.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_position" class="attr item">
          +    <a name="config_position"></a> 
          +    <h3 class="name"><code>position</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l562"><code>input&#x2F;charts&#x2F;ChartLegend.js:562</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the position and direction of the legend. Possible values are <code>left</code>, <code>top</code>, <code>right</code> and <code>bottom</code>. Values of <code>left</code> and
          +<code>right</code> values have a <code>direction</code> of <code>vertical</code>. Values of <code>top</code> and <code>bottom</code> values have a <code>direction</code> of <code>horizontal</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l722"><code>input&#x2F;charts&#x2F;ChartLegend.js:722</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Properties used to display and style the ChartLegend.  This attribute is inherited from <code>Renderer</code>. Below are the default values:</p>
          +
          +<p><dl>
          +     <dt>gap</dt><dd>Distance, in pixels, between the <code>ChartLegend</code> instance and the chart's content. When <code>ChartLegend</code> is rendered within a <code>Chart</code> instance this value is applied.</dd>
          +     <dt>hAlign</dt><dd>Defines the horizontal alignment of the <code>items</code> in a <code>ChartLegend</code> rendered in a horizontal direction. This value is applied when the instance's <code>position</code> is set to top or bottom. This attribute can be set to left, center or right. The default value is center.</dd>
          +     <dt>vAlign</dt><dd>Defines the vertical alignment of the <code>items</code> in a <code>ChartLegend</code> rendered in vertical direction. This value is applied when the instance's <code>position</code> is set to left or right. The attribute can be set to top, middle or bottom. The default value is middle.</dd>
          +     <dt>item</dt><dd>Set of style properties applied to the <code>items</code> of the <code>ChartLegend</code>.
          +         <dl>
          +             <dt>hSpacing</dt><dd>Horizontal distance, in pixels, between legend <code>items</code>.</dd>
          +             <dt>vSpacing</dt><dd>Vertical distance, in pixels, between legend <code>items</code>.</dd>
          +             <dt>label</dt><dd>Properties for the text of an <code>item</code>.
          +                 <dl>
          +                     <dt>color</dt><dd>Color of the text. The default values is "#808080".</dd>
          +                     <dt>fontSize</dt><dd>Font size for the text. The default value is "85%".</dd>
          +                 </dl>
          +             </dd>
          +             <dt>marker</dt><dd>Properties for the <code>item</code> markers.
          +                 <dl>
          +                     <dt>width</dt><dd>Specifies the width of the markers.</dd>
          +                     <dt>height</dt><dd>Specifies the height of the markers.</dd>
          +                 </dl>
          +             </dd>
          +         </dl>
          +     </dd>
          +     <dt>background</dt><dd>Properties for the <code>ChartLegend</code> background.
          +         <dl>
          +             <dt>fill</dt><dd>Properties for the background fill.
          +                 <dl>
          +                     <dt>color</dt><dd>Color for the fill. The default value is "#faf9f2".</dd>
          +                 </dl>
          +             </dd>
          +             <dt>border</dt><dd>Properties for the background border.
          +                 <dl>
          +                     <dt>color</dt><dd>Color for the border. The default value is "#dad8c9".</dd>
          +                     <dt>weight</dt><dd>Weight of the border. The default values is 1.</dd>
          +                 </dl>
          +             </dd>
          +         </dl>
          +     </dd>
          +</dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_width" class="attr item">
          +    <a name="config_width"></a> 
          +    <h3 class="name"><code>width</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l588"><code>input&#x2F;charts&#x2F;ChartLegend.js:588</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The width of the legend. Depending on the implementation of the ChartLegend, this value is <code>readOnly</code>. By default, the legend is included in the layout of the <code>Chart</code> that 
          +it references. Under this circumstance, <code>width</code> is always <code>readOnly</code>. When the legend is rendered in its own dom element, the <code>readOnly</code> status is determined by the 
          +direction of the legend. If the <code>position</code> is <code>left</code> or <code>right</code> or the <code>direction</code> is <code>vertical</code>, width is <code>readOnly</code>. If the position is <code>top</code> or <code>bottom</code> or the <code>direction</code>
          +is <code>horizontal</code>, width can be explicitly set. If width is not explicitly set, the width will be determined by the width of the legend's parent element.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_x" class="attr item">
          +    <a name="config_x"></a> 
          +    <h3 class="name"><code>x</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l668"><code>input&#x2F;charts&#x2F;ChartLegend.js:668</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the x position of legend.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_y" class="attr item">
          +    <a name="config_y"></a> 
          +    <h3 class="name"><code>y</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l691"><code>input&#x2F;charts&#x2F;ChartLegend.js:691</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the y position of legend.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ColumnSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ColumnSeries.html
          new file mode 100644
          index 000000000..22ad0ab4e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ColumnSeries.html
          @@ -0,0 +1,787 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ColumnSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ColumnSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ColumnSeries.js.html#l1"><code>input&#x2F;charts&#x2F;ColumnSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The ColumnSeries class renders columns positioned horizontally along a category or time axis. The columns'
          +lengths are proportional to the values they represent along a vertical axis.
          +and the relevant data points.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getMarkerDimensions">_getMarkerDimensions</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getMarkerDimensions" class="method item private">
          +    <h3 class="name"><code>_getMarkerDimensions</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>xcoord</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ycoord</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>calculatedSize</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>offset</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ColumnSeries.js.html#l13"><code>input&#x2F;charts&#x2F;ColumnSeries.js:13</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Helper method for calculating the size of markers.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xcoord</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The x-coordinate representing the data point for the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ycoord</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The y-coordinate representing the data point for the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">calculatedSize</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The calculated size for the marker. For a <code>BarSeries</code> is it the width. For a <code>ColumnSeries</code> it is the height.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">offset</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Distance of position offset dictated by other marker series in the same graph.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ColumnSeries.js.html#l42"><code>input&#x2F;charts&#x2F;ColumnSeries.js:42</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Resizes and positions markers based on a mouse interaction.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ColumnSeries.js.html#l118"><code>input&#x2F;charts&#x2F;ColumnSeries.js:118</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>MarkerSeries</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>width</dt><dd>indicates the width of the marker. The default value is 12.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ColumnSeries.js.html#l106"><code>input&#x2F;charts&#x2F;ColumnSeries.js:106</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> column</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSeries.html
          new file mode 100644
          index 000000000..21ec8b451
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSeries.html
          @@ -0,0 +1,1092 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ComboSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ComboSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l1"><code>input&#x2F;charts&#x2F;ComboSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The ComboSeries class renders a combination of lines, plots and area fills in a single series. Each
          +series type has a corresponding boolean attribute indicating if it is rendered. By default, lines and plots 
          +are rendered and area is not.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__toggleVisible">_toggleVisible</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_area">area</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_line">line</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_marker">marker</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showAreaFill">showAreaFill</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showLines">showLines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showMarkers">showMarkers</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l78"><code>input&#x2F;charts&#x2F;ComboSeries.js:78</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__toggleVisible" class="method item private">
          +    <h3 class="name"><code>_toggleVisible</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>visible</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l38"><code>input&#x2F;charts&#x2F;ComboSeries.js:38</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Toggles visibility</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">visible</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>indicates visibilitye</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l15"><code>input&#x2F;charts&#x2F;ComboSeries.js:15</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_area" class="attr item">
          +    <a name="config_area"></a> 
          +    <h3 class="name"><code>area</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l219"><code>input&#x2F;charts&#x2F;ComboSeries.js:219</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the styles of the area fills. These styles can also be accessed through the <code>styles</code> attribute.
          +Below are the default values:</p>
          +
          +<p><dl>
          +     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +     retrieved from the following array:
          +     <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +     </dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_line" class="attr item">
          +    <a name="config_line"></a> 
          +    <h3 class="name"><code>line</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l186"><code>input&#x2F;charts&#x2F;ComboSeries.js:186</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the styles of the lines. These styles can also be accessed through the <code>styles</code> attribute.
          +Below are the default values:
          + <dl>
          +     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +     retrieved from the following array: 
          +     <code>["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]</code>
          +     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +     <dt>dashLength</dt><dd>When the <code>lineType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>gapSpace</dt><dd>When the <code>lineType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +     <dt>discontinuousDashLength</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>discontinuousGapSpace</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_marker" class="attr item">
          +    <a name="config_marker"></a> 
          +    <h3 class="name"><code>marker</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l141"><code>input&#x2F;charts&#x2F;ComboSeries.js:141</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the styles of the markers. These styles can also
          +be accessed through the <code>styles</code> attribute. Below are default
          +values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>
          +     <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showAreaFill" class="attr item">
          +    <a name="config_showAreaFill"></a> 
          +    <h3 class="name"><code>showAreaFill</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l108"><code>input&#x2F;charts&#x2F;ComboSeries.js:108</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether a fill is displayed.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> false</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showLines" class="attr item">
          +    <a name="config_showLines"></a> 
          +    <h3 class="name"><code>showLines</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l119"><code>input&#x2F;charts&#x2F;ComboSeries.js:119</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether lines are displayed.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showMarkers" class="attr item">
          +    <a name="config_showMarkers"></a> 
          +    <h3 class="name"><code>showMarkers</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l130"><code>input&#x2F;charts&#x2F;ComboSeries.js:130</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether markers are displayed.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l246"><code>input&#x2F;charts&#x2F;ComboSeries.js:246</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties for the series. Contains a key indexed hash of the following:
          + <dl>
          +     <dt>marker</dt><dd>Style properties for the markers in the series. Specific style attributes are listed
          +     <a href="#attr_marker">here</a>.</dd>
          +     <dt>line</dt><dd>Style properties for the lines in the series. Specific
          +     style attributes are listed <a href="#attr_line">here</a>.</dd>
          +     <dt>area</dt><dd>Style properties for the area fills in the series. Specific style attributes are listed
          +     <a href="#attr_area">here</a>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSeries.js.html#l97"><code>input&#x2F;charts&#x2F;ComboSeries.js:97</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> combo</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSplineSeries.html
          new file mode 100644
          index 000000000..977571c46
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ComboSplineSeries.html
          @@ -0,0 +1,482 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ComboSplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ComboSplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ComboSplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;ComboSplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The ComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Each
          +series type has a corresponding boolean attribute indicating if it is rendered. By default, splines and plots 
          +are rendered and areaspline is not.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSplineSeries.js.html#l13"><code>input&#x2F;charts&#x2F;ComboSplineSeries.js:13</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ComboSplineSeries.js.html#l37"><code>input&#x2F;charts&#x2F;ComboSplineSeries.js:37</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> comboSpline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CurveUtil.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CurveUtil.html
          new file mode 100644
          index 000000000..1b53e9c34
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/CurveUtil.html
          @@ -0,0 +1,589 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>CurveUtil</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>CurveUtil Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CurveUtil.js.html#l1"><code>input&#x2F;charts&#x2F;CurveUtil.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Utility class used for calculating curve points.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_getControlPoints">getControlPoints</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getCurveControlPoints">getCurveControlPoints</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_getControlPoints" class="method item private">
          +    <h3 class="name"><code>getControlPoints</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>vals</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CurveUtil.js.html#l88"><code>input&#x2F;charts&#x2F;CurveUtil.js:88</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the control points for the curve.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">vals</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of values coords used to generate control points.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getCurveControlPoints" class="method item protected">
          +    <h3 class="name"><code>getCurveControlPoints</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>xcoords</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ycoords</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CurveUtil.js.html#l13"><code>input&#x2F;charts&#x2F;CurveUtil.js:13</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates an array of start, end and control points for splines.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xcoords</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of x-coordinates used for calculate the curves</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ycoords</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Collection of y-coordinates used for calculate the curves</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Easing.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Easing.html
          new file mode 100644
          index 000000000..24eb33230
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Easing.html
          @@ -0,0 +1,332 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Easing</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Easing Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l12"><code>input&#x2F;test&#x2F;anim.js:12</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/anim-easing.html">anim-easing</a><br>
          +            Parent Module: <a href="../modules/anim.html">anim</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The easing module provides methods for customizing
          +how an animation behaves during each run.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EasingFoo.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EasingFoo.html
          new file mode 100644
          index 000000000..c05f992d8
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EasingFoo.html
          @@ -0,0 +1,331 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>EasingFoo</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>EasingFoo Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l20"><code>input&#x2F;test&#x2F;anim.js:20</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/anim-easing-foo.html">anim-easing-foo</a><br>
          +            Parent Module: <a href="../modules/anim.html">anim</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>FOO FOO FOO FOO FOO The easing module provides methods for customizing</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EllipseGroup.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EllipseGroup.html
          new file mode 100644
          index 000000000..3e0daf397
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/EllipseGroup.html
          @@ -0,0 +1,409 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>EllipseGroup</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>EllipseGroup Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_EllipseGroup.js.html#l1"><code>input&#x2F;charts&#x2F;EllipseGroup.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/graphics.html">graphics</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of diamonds with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__draw">_draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__draw" class="method item private">
          +    <h3 class="name"><code>_draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_EllipseGroup.js.html#l16"><code>input&#x2F;charts&#x2F;EllipseGroup.js:16</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the diamond.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Fills.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Fills.html
          new file mode 100644
          index 000000000..0c2ad9fdf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Fills.html
          @@ -0,0 +1,1066 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Fills</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Fills Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l1"><code>input&#x2F;charts&#x2F;Fills.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Utility class used for drawing area fills.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getAreaDefaults">_getAreaDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getClosingPoints">_getClosingPoints</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getPath">_getPath</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getStackedClosingPoints">_getStackedClosingPoints</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__toggleVisible">_toggleVisible</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawAreaSpline">drawAreaSpline</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawFill">drawFill</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawStackedAreaSpline">drawStackedAreaSpline</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__defaults">_defaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getAreaDefaults" class="method item private">
          +    <h3 class="name"><code>_getAreaDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l349"><code>input&#x2F;charts&#x2F;Fills.js:349</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns default values for area styles.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getClosingPoints" class="method item protected">
          +    <h3 class="name"><code>_getClosingPoints</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l269"><code>input&#x2F;charts&#x2F;Fills.js:269</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Concatenates coordinate array with correct coordinates for closing an area fill.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getPath" class="method item private">
          +    <h3 class="name"><code>_getPath</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l29"><code>input&#x2F;charts&#x2F;Fills.js:29</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a path shape used for drawing fills.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Path
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getStackedClosingPoints" class="method item protected">
          +    <h3 class="name"><code>_getStackedClosingPoints</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l299"><code>input&#x2F;charts&#x2F;Fills.js:299</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Concatenates coordinate array with the correct coordinates for closing an area stack.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__toggleVisible" class="method item private">
          +    <h3 class="name"><code>_toggleVisible</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>visible</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l47"><code>input&#x2F;charts&#x2F;Fills.js:47</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Toggles visibility</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">visible</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>indicates visibilitye</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawAreaSpline" class="method item protected">
          +    <h3 class="name"><code>drawAreaSpline</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l111"><code>input&#x2F;charts&#x2F;Fills.js:111</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a fill for a spline</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawFill" class="method item protected">
          +    <h3 class="name"><code>drawFill</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>xcoords</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ycoords</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l62"><code>input&#x2F;charts&#x2F;Fills.js:62</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws fill</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xcoords</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The x-coordinates for the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ycoords</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The y-coordinates for the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawStackedAreaSpline" class="method item protected">
          +    <h3 class="name"><code>drawStackedAreaSpline</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l169"><code>input&#x2F;charts&#x2F;Fills.js:169</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a a stacked area spline</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__defaults" class="property item private">
          +    <h3 class="name"><code>_defaults</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Fills.js.html#l260"><code>input&#x2F;charts&#x2F;Fills.js:260</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for default area styles.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Foo.Bar.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Foo.Bar.html
          new file mode 100644
          index 000000000..ac3499cee
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Foo.Bar.html
          @@ -0,0 +1,407 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Foo.Bar</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Foo.Bar Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_namespace_ns.js.html#l1"><code>input&#x2F;namespace&#x2F;ns.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/foobar.html">foobar</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Test Class</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_Baz">Baz</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_Baz" class="method item">
          +    <h3 class="name"><code>Baz</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_namespace_ns.js.html#l9"><code>input&#x2F;namespace&#x2F;ns.js:9</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Test Method</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Graph.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Graph.html
          new file mode 100644
          index 000000000..1d845992b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Graph.html
          @@ -0,0 +1,2786 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Graph</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Graph Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l1"><code>input&#x2F;charts&#x2F;Graph.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Graph manages and contains series instances for a <code>CartesianChart</code>
          +instance.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addSeries">_addSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__drawingCompleteHandler">_drawingCompleteHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__drawSeries">_drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getSeries">_getSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__markerEventHandler">_markerEventHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseSeriesCollection">_parseSeriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__sizeChangeHandler">_sizeChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateStyles">_updateStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_addDispatcher">addDispatcher</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_bindUI">bindUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_createSeries">createSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getSeriesByIndex">getSeriesByIndex</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getSeriesByKey">getSeriesByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_syncUI">syncUI</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dispatchers">_dispatchers</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__seriesCollection">_seriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__seriesDictionary">_seriesDictionary</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__seriesMap">_seriesMap</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_seriesTypes">seriesTypes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_background">background</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_chart">chart</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graphic">graphic</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_gridlines">gridlines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_groupMarkers">groupMarkers</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_horizontalGridlines">horizontalGridlines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_seriesCollection">seriesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_seriesDictionary">seriesDictionary</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showBackground">showBackground</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_verticalGridlines">verticalGridlines</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr protected">
          +                                <a href="#attr_x">x</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr protected">
          +                                <a href="#attr_y">y</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__addSeries" class="method item private">
          +    <h3 class="name"><code>_addSeries</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l199"><code>input&#x2F;charts&#x2F;Graph.js:199</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds a series to the graph.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Series to add to the graph.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__drawingCompleteHandler" class="method item private">
          +    <h3 class="name"><code>_drawingCompleteHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l469"><code>input&#x2F;charts&#x2F;Graph.js:469</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for series drawingComplete event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__drawSeries" class="method item private">
          +    <h3 class="name"><code>_drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l430"><code>input&#x2F;charts&#x2F;Graph.js:430</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws each series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l496"><code>input&#x2F;charts&#x2F;Graph.js:496</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default value for the <code>styles</code> attribute. Overrides
          +base implementation.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getSeries" class="method item private">
          +    <h3 class="name"><code>_getSeries</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l295"><code>input&#x2F;charts&#x2F;Graph.js:295</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a specific <code>CartesianSeries</code> class based on key value from a look up table of a direct reference to a class. When specifying a key value, the following options
          +are available:</p>
          +
          +<p><table>
          +     <tr><th>Key Value</th><th>Class</th></tr>
          +     <tr><td>line</td><td>Y.LineSeries</td></tr> <br />
          +     <tr><td>column</td><td>Y.ColumnSeries</td></tr> <br />
          +     <tr><td>bar</td><td>Y.BarSeries</td></tr> <br />
          +     <tr><td>area</td><td>Y.AreaSeries</td></tr> <br />
          +     <tr><td>stackedarea</td><td>Y.StackedAreaSeries</td></tr> <br />
          +     <tr><td>stackedline</td><td>Y.StackedLineSeries</td></tr> <br />
          +     <tr><td>stackedcolumn</td><td>Y.StackedColumnSeries</td></tr> <br />
          +     <tr><td>stackedbar</td><td>Y.StackedBarSeries</td></tr> <br />
          +     <tr><td>markerseries</td><td>Y.MarkerSeries</td></tr> <br />
          +     <tr><td>spline</td><td>Y.SplineSeries</td></tr> <br />
          +     <tr><td>areaspline</td><td>Y.AreaSplineSeries</td></tr> <br />
          +     <tr><td>stackedspline</td><td>Y.StackedSplineSeries</td></tr>
          +     <tr><td>stackedareaspline</td><td>Y.StackedAreaSplineSeries</td></tr>
          +     <tr><td>stackedmarkerseries</td><td>Y.StackedMarkerSeries</td></tr>
          +     <tr><td>pie</td><td>Y.PieSeries</td></tr>
          +     <tr><td>combo</td><td>Y.ComboSeries</td></tr>
          +     <tr><td>stackedcombo</td><td>Y.StackedComboSeries</td></tr>
          +     <tr><td>combospline</td><td>Y.ComboSplineSeries</td></tr>
          +     <tr><td>stackedcombospline</td><td>Y.StackedComboSplineSeries</td></tr>
          + </table></p>
          +
          +<p>When referencing a class directly, you can specify any of the above classes or any custom class that extends <code>CartesianSeries</code> or <code>PieSeries</code>.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String | Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Series type.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    CartesianSeries
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__markerEventHandler" class="method item private">
          +    <h3 class="name"><code>_markerEventHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l343"><code>input&#x2F;charts&#x2F;Graph.js:343</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for marker events.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseSeriesCollection" class="method item private">
          +    <h3 class="name"><code>_parseSeriesCollection</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>Collection</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l151"><code>input&#x2F;charts&#x2F;Graph.js:151</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses series instances to be displayed in the graph.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">Collection</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>of <code>CartesianSeries</code> instances or objects container <code>CartesianSeries</code> attributes values.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__sizeChangeHandler" class="method item private">
          +    <h3 class="name"><code>_sizeChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l386"><code>input&#x2F;charts&#x2F;Graph.js:386</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for size changes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateStyles" class="method item private">
          +    <h3 class="name"><code>_updateStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l369"><code>input&#x2F;charts&#x2F;Graph.js:369</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the <code>Graph</code> styles.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_addDispatcher" class="method item protected">
          +    <h3 class="name"><code>addDispatcher</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l116"><code>input&#x2F;charts&#x2F;Graph.js:116</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds dispatcher to a <code>_dispatcher</code> used to
          +to ensure all series have redrawn before for firing event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>series instance to add</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bindUI" class="method item private">
          +    <h3 class="name"><code>bindUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l12"><code>input&#x2F;charts&#x2F;Graph.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_createSeries" class="method item private">
          +    <h3 class="name"><code>createSeries</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesData</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l231"><code>input&#x2F;charts&#x2F;Graph.js:231</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a <code>CartesianSeries</code> instance from an object containing attribute key value pairs. The key value pairs include attributes for the specific series and a type value which defines the type of
          +series to be used.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesData</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Series attribute key value pairs.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l521"><code>input&#x2F;charts&#x2F;Graph.js:521</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation Graph class. Removes all Graphic instances from the widget.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getSeriesByIndex" class="method item">
          +    <h3 class="name"><code>getSeriesByIndex</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l80"><code>input&#x2F;charts&#x2F;Graph.js:80</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a series instance based on an index.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the series</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    CartesianSeries
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getSeriesByKey" class="method item">
          +    <h3 class="name"><code>getSeriesByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l98"><code>input&#x2F;charts&#x2F;Graph.js:98</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a series instance based on a key value.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>key value of the series</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    CartesianSeries
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_syncUI" class="method item private">
          +    <h3 class="name"><code>syncUI</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l25"><code>input&#x2F;charts&#x2F;Graph.js:25</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__dispatchers" class="property item private">
          +    <h3 class="name"><code>_dispatchers</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l360"><code>input&#x2F;charts&#x2F;Graph.js:360</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of <code>CartesianSeries</code> instances to be redrawn.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__seriesCollection" class="property item private">
          +    <h3 class="name"><code>_seriesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l133"><code>input&#x2F;charts&#x2F;Graph.js:133</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of series to be displayed in the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__seriesDictionary" class="property item private">
          +    <h3 class="name"><code>_seriesDictionary</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l142"><code>input&#x2F;charts&#x2F;Graph.js:142</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Object containing key value pairs of <code>CartesianSeries</code> instances.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__seriesMap" class="property item private">
          +    <h3 class="name"><code>_seriesMap</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l264"><code>input&#x2F;charts&#x2F;Graph.js:264</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>String reference for pre-defined <code>Series</code> classes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_seriesTypes" class="property item private">
          +    <h3 class="name"><code>seriesTypes</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l71"><code>input&#x2F;charts&#x2F;Graph.js:71</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Object of arrays containing series mapped to a series type.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_background" class="attr item">
          +    <a name="config_background"></a> 
          +    <h3 class="name"><code>background</code></h3>
          +    <span class="type">Graphic</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l692"><code>input&#x2F;charts&#x2F;Graph.js:692</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to graphic instance used for the background.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_chart" class="attr item">
          +    <a name="config_chart"></a> 
          +    <h3 class="name"><code>chart</code></h3>
          +    <span class="type"><a href="../classes/ChartBase.html" class="crosslink">ChartBase</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l574"><code>input&#x2F;charts&#x2F;Graph.js:574</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the chart instance using the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graphic" class="attr item">
          +    <a name="config_graphic"></a> 
          +    <h3 class="name"><code>graphic</code></h3>
          +    <span class="type">Graphic</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l734"><code>input&#x2F;charts&#x2F;Graph.js:734</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to graphic instance used for series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_gridlines" class="attr item">
          +    <a name="config_gridlines"></a> 
          +    <h3 class="name"><code>gridlines</code></h3>
          +    <span class="type">Graphic</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l712"><code>input&#x2F;charts&#x2F;Graph.js:712</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to graphic instance used for gridlines.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_groupMarkers" class="attr item">
          +    <a name="config_groupMarkers"></a> 
          +    <h3 class="name"><code>groupMarkers</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l756"><code>input&#x2F;charts&#x2F;Graph.js:756</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_horizontalGridlines" class="attr item">
          +    <a name="config_horizontalGridlines"></a> 
          +    <h3 class="name"><code>horizontalGridlines</code></h3>
          +    <span class="type"><a href="../classes/Gridlines.html" class="crosslink">Gridlines</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l630"><code>input&#x2F;charts&#x2F;Graph.js:630</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the horizontal <code>Gridlines</code> instance.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesCollection" class="attr item">
          +    <a name="config_seriesCollection"></a> 
          +    <h3 class="name"><code>seriesCollection</code></h3>
          +    <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l583"><code>input&#x2F;charts&#x2F;Graph.js:583</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of series. When setting the <code>seriesCollection</code> the array can contain a combination of either
          +<code>CartesianSeries</code> instances or object literals with properties that will define a series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesDictionary" class="attr item">
          +    <a name="config_seriesDictionary"></a> 
          +    <h3 class="name"><code>seriesDictionary</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l614"><code>input&#x2F;charts&#x2F;Graph.js:614</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only hash lookup for all series on in the <code>Graph</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_showBackground" class="attr item">
          +    <a name="config_showBackground"></a> 
          +    <h3 class="name"><code>showBackground</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l603"><code>input&#x2F;charts&#x2F;Graph.js:603</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the <code>Graph</code> has a background.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l766"><code>input&#x2F;charts&#x2F;Graph.js:766</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing a background. Below are the default values:
          + <dl>
          +     <dt>background</dt><dd>An object containing the following values:
          +         <dl>
          +             <dt>fill</dt><dd>Defines the style properties for the fill. Contains the following values:
          +                 <dl>
          +                     <dt>color</dt><dd>Color of the fill. The default value is #faf9f2.</dd>
          +                     <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background fill. The default value is 1.</dd>
          +                 </dl>
          +             </dd>
          +             <dt>border</dt><dd>Defines the style properties for the border. Contains the following values:
          +                 <dl>
          +                     <dt>color</dt><dd>Color of the border. The default value is #dad8c9.</dd>
          +                     <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background border. The default value is 1.</dd>
          +                     <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +                 </dl>
          +             </dd>
          +         </dl>
          +     </dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_verticalGridlines" class="attr item">
          +    <a name="config_verticalGridlines"></a> 
          +    <h3 class="name"><code>verticalGridlines</code></h3>
          +    <span class="type"><a href="../classes/Gridlines.html" class="crosslink">Gridlines</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l661"><code>input&#x2F;charts&#x2F;Graph.js:661</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the vertical <code>Gridlines</code> instance.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_x" class="attr item protected">
          +    <a name="config_x"></a> 
          +    <h3 class="name"><code>x</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l544"><code>input&#x2F;charts&#x2F;Graph.js:544</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The x-coordinate for the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_y" class="attr item protected">
          +    <a name="config_y"></a> 
          +    <h3 class="name"><code>y</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Graph.js.html#l559"><code>input&#x2F;charts&#x2F;Graph.js:559</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The y-coordinate for the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Gridlines.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Gridlines.html
          new file mode 100644
          index 000000000..b7925d099
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Gridlines.html
          @@ -0,0 +1,1178 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Gridlines</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Gridlines Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l1"><code>input&#x2F;charts&#x2F;Gridlines.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Gridlines draws gridlines on a Graph.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__drawGridlines">_drawGridlines</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__horizontalLine">_horizontalLine</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__verticalLine">_verticalLine</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_draw">draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_remove">remove</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__path">_path</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_axis">axis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graph">graph</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__drawGridlines" class="method item private">
          +    <h3 class="name"><code>_drawGridlines</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l49"><code>input&#x2F;charts&#x2F;Gridlines.js:49</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Algorithm for drawing gridlines</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l140"><code>input&#x2F;charts&#x2F;Gridlines.js:140</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default value for the <code>styles</code> attribute. Overrides
          +base implementation.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__horizontalLine" class="method item private">
          +    <h3 class="name"><code>_horizontalLine</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>w</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>h</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l108"><code>input&#x2F;charts&#x2F;Gridlines.js:108</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Algorithm for horizontal lines.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to path element</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates corresponding to a major unit of an axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">w</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the Graph</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">h</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Height of the Graph</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__verticalLine" class="method item private">
          +    <h3 class="name"><code>_verticalLine</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>w</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>h</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l124"><code>input&#x2F;charts&#x2F;Gridlines.js:124</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Algorithm for vertical lines.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to path element</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates corresponding to a major unit of an axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">w</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the Graph</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">h</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Height of the Graph</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_draw" class="method item protected">
          +    <h3 class="name"><code>draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l35"><code>input&#x2F;charts&#x2F;Gridlines.js:35</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the gridlines</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_remove" class="method item private">
          +    <h3 class="name"><code>remove</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l20"><code>input&#x2F;charts&#x2F;Gridlines.js:20</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Removes the Gridlines.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__path" class="property item private">
          +    <h3 class="name"><code>_path</code></h3>
          +    <span class="type">Path</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l11"><code>input&#x2F;charts&#x2F;Gridlines.js:11</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Path</code> element used for drawing Gridlines.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_axis" class="attr item">
          +    <a name="config_axis"></a> 
          +    <h3 class="name"><code>axis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l171"><code>input&#x2F;charts&#x2F;Gridlines.js:171</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicate the <code>Axis</code> in which to bind
          +the gridlines.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l163"><code>input&#x2F;charts&#x2F;Gridlines.js:163</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the direction of the gridline.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graph" class="attr item">
          +    <a name="config_graph"></a> 
          +    <h3 class="name"><code>graph</code></h3>
          +    <span class="type"><a href="../classes/Graph.html" class="crosslink">Graph</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Gridlines.js.html#l180"><code>input&#x2F;charts&#x2F;Gridlines.js:180</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates the <code>Graph</code> in which the gridlines 
          +are drawn.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupCircle.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupCircle.html
          new file mode 100644
          index 000000000..0b5908675
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupCircle.html
          @@ -0,0 +1,440 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>GroupCircle</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>GroupCircle Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CircleGroup.js.html#l1"><code>input&#x2F;charts&#x2F;CircleGroup.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/graphics.html">graphics</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of circles with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_drawShape">drawShape</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawShape" class="method item">
          +    <h3 class="name"><code>drawShape</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cfg</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CircleGroup.js.html#l16"><code>input&#x2F;charts&#x2F;CircleGroup.js:16</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Algorithm for drawing shape.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cfg</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Parameters used to draw the shape.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupDiamond.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupDiamond.html
          new file mode 100644
          index 000000000..f3bc49c1a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupDiamond.html
          @@ -0,0 +1,409 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>GroupDiamond</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>GroupDiamond Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_DiamondGroup.js.html#l1"><code>input&#x2F;charts&#x2F;DiamondGroup.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/graphics.html">graphics</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of diamonds with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__draw">_draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__draw" class="method item private">
          +    <h3 class="name"><code>_draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_DiamondGroup.js.html#l16"><code>input&#x2F;charts&#x2F;DiamondGroup.js:16</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the diamond.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupRect.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupRect.html
          new file mode 100644
          index 000000000..f50e666a6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/GroupRect.html
          @@ -0,0 +1,409 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>GroupRect</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>GroupRect Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_RectGroup.js.html#l1"><code>input&#x2F;charts&#x2F;RectGroup.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/graphics.html">graphics</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of rects with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__draw">_draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__draw" class="method item private">
          +    <h3 class="name"><code>_draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RectGroup.js.html#l16"><code>input&#x2F;charts&#x2F;RectGroup.js:16</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the rect.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Histogram.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Histogram.html
          new file mode 100644
          index 000000000..8d5647cd5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Histogram.html
          @@ -0,0 +1,556 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Histogram</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Histogram Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Histogram.js.html#l1"><code>input&#x2F;charts&#x2F;Histogram.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Histogram is the base class for Column and Bar series.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultFillColors">_defaultFillColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item private">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Histogram.js.html#l181"><code>input&#x2F;charts&#x2F;Histogram.js:181</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default style values for the markers.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Histogram.js.html#l11"><code>input&#x2F;charts&#x2F;Histogram.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__defaultFillColors" class="property item protected">
          +    <h3 class="name"><code>_defaultFillColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Histogram.js.html#l172"><code>input&#x2F;charts&#x2F;Histogram.js:172</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for marker fills in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/HorizontalLegendLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/HorizontalLegendLayout.html
          new file mode 100644
          index 000000000..baa276ac9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/HorizontalLegendLayout.html
          @@ -0,0 +1,945 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>HorizontalLegendLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>HorizontalLegendLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l48"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:48</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts-legend.html">charts-legend</a><br>
          +            Parent Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Contains methods for displaying items horizontally in a legend.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__positionLegendItems">_positionLegendItems</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setRowArrays">_setRowArrays</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getStartPoint">getStartPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__positionLegendItems" class="method item protected">
          +    <h3 class="name"><code>_positionLegendItems</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>items</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>maxWidth</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>maxHeight</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalWidth</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalHeight</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>padding</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>horizontalGap</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>verticalGap</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>hAlign</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>vAlign</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l56"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:56</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Displays items horizontally in a legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">items</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of items to display in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">maxWidth</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The width of the largest item in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">maxHeight</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The height of the largest item in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalWidth</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The total width of all items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalHeight</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The total height of all items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">padding</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The left, top, right and bottom padding properties for the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">horizontalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The horizontal distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">verticalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The vertical distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">hAlign</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The horizontal alignment of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">vAlign</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The vertical alignment of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setRowArrays" class="method item protected">
          +    <h3 class="name"><code>_setRowArrays</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>items</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>limit</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>horizontalGap</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l133"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:133</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates row and total width arrays used for displaying multiple rows of
          +legend items based on the items, available width and horizontalGap for the legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">items</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of legend items to display in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">limit</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total available width for displaying items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">horizontalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Horizontal distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getStartPoint" class="method item protected">
          +    <h3 class="name"><code>getStartPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>w</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalWidth</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>align</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>padding</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l177"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:177</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the starting x-coordinate for a row of legend items.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">w</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Width of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalWidth</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total width of all labels in the row.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">align</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Horizontal alignment of items for the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">padding</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object contain left, top, right and bottom padding properties.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/JSON.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/JSON.html
          new file mode 100644
          index 000000000..0ae79a8de
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/JSON.html
          @@ -0,0 +1,1595 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>JSON</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>JSON Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l1"><code>input&#x2F;json&#x2F;parse.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/json-parse.html">json-parse</a><br>
          +            Parent Module: <a href="../modules/json.html">json</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The JSON module adds support for serializing JavaScript objects into
          +JSON strings and parsing JavaScript objects from strings in JSON format.</p>
          +
          +<p>The JSON namespace is added to your YUI instance including static methods
          +Y.JSON.parse(..) and Y.JSON.stringify(..).</p>
          +
          +<p>The functionality and method signatures follow the ECMAScript 5
          +specification.  In browsers with native JSON support, the native
          +implementation is used.</p>
          +
          +<p>The <code>json</code> module is a rollup of <code>json-parse</code> and
          +<code>json-stringify</code>.</p>
          +
          +<p>As their names suggest, <code>json-parse</code> adds support for parsing
          +JSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing
          +JavaScript data into JSON strings (Y.JSON.stringify).  You may choose to
          +include either of the submodules individually if you don't need the
          +complementary functionality, or include the rollup for both.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__revive">_revive</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method deprecated">
          +                                <a href="#method_dateToString">dateToString</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                                    <span class="flag deprecated">deprecated</span>
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_escapeException">escapeException</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_parse">parse</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_stringify">stringify</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__BRACKETS">_BRACKETS</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__ESCAPES">_ESCAPES</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__UNICODE_EXCEPTIONS">_UNICODE_EXCEPTIONS</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__UNSAFE">_UNSAFE</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__VALUES">_VALUES</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_charCacheThreshold">charCacheThreshold</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_Native">Native</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_useNativeParse">useNativeParse</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_useNativeStringify">useNativeStringify</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__revive" class="method item private">
          +    <h3 class="name"><code>_revive</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>reviver</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">MIXED</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l124"><code>input&#x2F;json&#x2F;parse.js:124</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Traverses nested objects, applying a reviver function to each (key,value)
          +from the scope if the key:value's containing object.  The value returned
          +from the function will replace the original value in the key:value pair.
          +If the value returned is undefined, the key will be omitted from the
          +returned object.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">MIXED</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Any JavaScript data</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">reviver</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>filter or mutation function</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">MIXED</span>:
          +                    
          +                    The results of the filtered data
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_dateToString" class="method item deprecated">
          +    <h3 class="name"><code>dateToString</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>d</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +        <span class="flag deprecated" title="Use a replacer function">deprecated</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                    <p>Provided by the <a href="../modules/json-stringify.html">json-stringify</a> module.</p>
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_stringify.js.html#l261"><code>input&#x2F;json&#x2F;stringify.js:261</code></a>
          +        
          +        </p>
          +
          +
          +        
          +            <p>Deprecated: Use a replacer function</p>
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Serializes a Date instance as a UTC date string.  Used internally by
          +stringify.  Override this method if you need Dates serialized in a
          +different format.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">d</code>
          +                        <span class="type">Date</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The Date to serialize</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_escapeException" class="method item private">
          +    <h3 class="name"><code>escapeException</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l111"><code>input&#x2F;json&#x2F;parse.js:111</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Replaces specific unicode characters with their appropriate \unnnn
          +format. Some browsers ignore certain characters during eval.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Unicode character</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    the \unnnn escapement of the character
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_parse" class="method item">
          +    <h3 class="name"><code>parse</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>reviver</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">MIXED</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l158"><code>input&#x2F;json&#x2F;parse.js:158</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parse a JSON string, returning the native JavaScript representation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>JSON string data</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">reviver</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>(optional) function(k,v) passed each key value
          +         pair of object literals, allowing pruning or altering values</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">MIXED</span>:
          +                    
          +                    the native JavaScript representation of the JSON string
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_stringify" class="method item">
          +    <h3 class="name"><code>stringify</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>w</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ind</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                    <p>Provided by the <a href="../modules/json-stringify.html">json-stringify</a> module.</p>
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_stringify.js.html#l285"><code>input&#x2F;json&#x2F;stringify.js:285</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Converts an arbitrary value to a JSON string representation.</p>
          +
          +<p>Objects with cyclical references will trigger an exception.</p>
          +
          +<p>If a whitelist is provided, only matching object keys will be
          +included.  Alternately, a replacer function may be passed as the
          +second parameter.  This function is executed on every value in the
          +input, and its return value will be used in place of the original value.
          +This is useful to serialize specialized objects or class instances.</p>
          +
          +<p>If a positive integer or non-empty string is passed as the third
          +parameter, the output will be formatted with carriage returns and
          +indentation for readability.  If a String is passed (such as "\t") it
          +will be used once for each indentation level.  If a number is passed,
          +that number of spaces will be used.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">MIXED</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>any arbitrary value to convert to JSON string</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">w</code>
          +                        <span class="type">Array | Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>(optional) whitelist of acceptable object
          +                 keys to include, or a replacer function to modify the
          +                 raw value before serialization</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ind</code>
          +                        <span class="type">Number | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>(optional) indentation character or depth of
          +                 spaces to format the output.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    JSON string representation of the input
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__BRACKETS" class="property item private">
          +    <h3 class="name"><code>_BRACKETS</code></h3>
          +    <span class="type">RegExp</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l90"><code>input&#x2F;json&#x2F;parse.js:90</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Third step in the safety evaluation.  Regex used to remove all open
          +square brackets following a colon, comma, or at the beginning of the
          +string.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__ESCAPES" class="property item private">
          +    <h3 class="name"><code>_ESCAPES</code></h3>
          +    <span class="type">RegExp</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l70"><code>input&#x2F;json&#x2F;parse.js:70</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>First step in the safety evaluation.  Regex used to replace all escape
          +sequences (i.e. "\", etc) with '@' characters (a non-JSON character).</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__UNICODE_EXCEPTIONS" class="property item private">
          +    <h3 class="name"><code>_UNICODE_EXCEPTIONS</code></h3>
          +    <span class="type">RegExp</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l56"><code>input&#x2F;json&#x2F;parse.js:56</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Replace certain Unicode characters that JavaScript may handle incorrectly
          +during eval--either by deleting them or treating them as line
          +endings--with escape sequences.
          +IMPORTANT NOTE: This regex will be used to modify the input if a match is
          +found.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__UNSAFE" class="property item private">
          +    <h3 class="name"><code>_UNSAFE</code></h3>
          +    <span class="type">RegExp</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l101"><code>input&#x2F;json&#x2F;parse.js:101</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Final step in the safety evaluation.  Regex used to test the string left
          +after all previous replacements for invalid characters.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__VALUES" class="property item private">
          +    <h3 class="name"><code>_VALUES</code></h3>
          +    <span class="type">RegExp</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l80"><code>input&#x2F;json&#x2F;parse.js:80</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Second step in the safety evaluation.  Regex used to replace all simple
          +values with ']' characters.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_charCacheThreshold" class="property item">
          +    <h3 class="name"><code>charCacheThreshold</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                    <p>Provided by the <a href="../modules/json-stringify.html">json-stringify</a> module.</p>
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_stringify.js.html#l317"><code>input&#x2F;json&#x2F;stringify.js:317</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Number of occurrences of a special character within a single call to
          +stringify that should trigger promotion of that character to a dedicated
          +preprocess step for future calls.  This is only used in environments
          +that don't support native JSON, or when useNativeStringify is set to
          +false.</p>
          +
          +<p>So, if set to 50 and an object is passed to stringify that includes
          +strings containing the special character \x07 more than 50 times,
          +subsequent calls to stringify will process object strings through a
          +faster serialization path for \x07 before using the generic, slower,
          +replacement process for all special characters.</p>
          +
          +<p>To prime the preprocessor cache, set this value to 1, then call
          +<code>Y.JSON.stringify("<em>(all special characters to
          +cache)</em>");</code>, then return this setting to a more conservative
          +value.</p>
          +
          +<p>Special characters \ " \b \t \n \f \r are already cached.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> 100</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_Native" class="property item private">
          +    <h3 class="name"><code>Native</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l44"><code>input&#x2F;json&#x2F;parse.js:44</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Alias to native browser implementation of the JSON object if available.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_useNativeParse" class="property item">
          +    <h3 class="name"><code>useNativeParse</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l214"><code>input&#x2F;json&#x2F;parse.js:214</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Leverage native JSON parse if the browser has a native implementation.
          +In general, this is a good idea.  See the Known Issues section in the
          +JSON user guide for caveats.  The default value is true for browsers with
          +native JSON support.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_useNativeStringify" class="property item">
          +    <h3 class="name"><code>useNativeStringify</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                    <p>Provided by the <a href="../modules/json-stringify.html">json-stringify</a> module.</p>
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_json_stringify.js.html#l248"><code>input&#x2F;json&#x2F;stringify.js:248</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Leverage native JSON stringify if the browser has a native
          +implementation.  In general, this is a good idea.  See the Known Issues
          +section in the JSON user guide for caveats.  The default value is true
          +for browsers with native JSON support.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LeftAxisLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LeftAxisLayout.html
          new file mode 100644
          index 000000000..972275f40
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LeftAxisLayout.html
          @@ -0,0 +1,1571 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>LeftAxisLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>LeftAxisLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l1"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Algorithmic strategy for rendering a left axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultMargins">_getDefaultMargins</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getTransformOrigin">_getTransformOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setRotationCoords">_setRotationCoords</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawTick">drawTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getExplicitlySized">getExplicitlySized</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLabelPoint">getLabelPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLineStart">getLineStart</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_offsetNodeForTick">offsetNodeForTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionLabel">positionLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionTitle">positionTitle</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setCalculatedSize">setCalculatedSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setTickOffset">setTickOffset</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMaxLabelSize">updateMaxLabelSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultMargins" class="method item private">
          +    <h3 class="name"><code>_getDefaultMargins</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l11"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default margins for text fields.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTransformOrigin" class="method item protected">
          +    <h3 class="name"><code>_getTransformOrigin</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>rot</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l294"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:294</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the transformOrigin to use for an axis label based on the position of the axis 
          +and the rotation of the label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">rot</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The rotation (in degrees) of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setRotationCoords" class="method item protected">
          +    <h3 class="name"><code>_setRotationCoords</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>props</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l255"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:255</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts the coordinates of an axis label based on the rotation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">props</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates, dimension and rotation properties of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawTick" class="method item protected">
          +    <h3 class="name"><code>drawTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>tickStyle</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l65"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:65</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a tick</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>reference to the path <code>Path</code> element in which to draw the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Point on the axis in which the tick will intersect.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">tickStyle</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to apply to the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getExplicitlySized" class="method item protected">
          +    <h3 class="name"><code>getExplicitlySized</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l155"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:155</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines the available label width when the axis width has been explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelPoint" class="method item protected">
          +    <h3 class="name"><code>getLabelPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>point</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l111"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:111</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the point for a label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">point</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Point on the axis in which the tick will intersect.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLineStart" class="method item protected">
          +    <h3 class="name"><code>getLineStart</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l85"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:85</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the coordinates for the first point on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_offsetNodeForTick" class="method item protected">
          +    <h3 class="name"><code>offsetNodeForTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cb</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l325"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:325</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjust the position of the Axis widget's content box for internal axes.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cb</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Content box of the Axis.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionLabel" class="method item protected">
          +    <h3 class="name"><code>positionLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l207"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:207</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position labels.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing the x and y coordinates in which the label will be positioned
          +against.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionTitle" class="method item protected">
          +    <h3 class="name"><code>positionTitle</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l177"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:177</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position title.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setCalculatedSize" class="method item protected">
          +    <h3 class="name"><code>setCalculatedSize</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l336"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:336</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the width of the axis based on its contents.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setTickOffset" class="method item protected">
          +    <h3 class="name"><code>setTickOffset</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l28"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:28</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the length of the tick on either side of the axis line.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMaxLabelSize" class="method item protected">
          +    <h3 class="name"><code>updateMaxLabelSize</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LeftAxisLayout.js.html#l124"><code>input&#x2F;charts&#x2F;LeftAxisLayout.js:124</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the value for the <code>maxLabelSize</code> for use in calculating total size.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to measure</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LineSeries.html
          new file mode 100644
          index 000000000..98c1e0718
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/LineSeries.html
          @@ -0,0 +1,736 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>LineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>LineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;LineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The LineSeries class renders quantitative data on a graph by connecting relevant data points.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setStyles">_setStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l39"><code>input&#x2F;charts&#x2F;LineSeries.js:39</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setStyles" class="method item protected">
          +    <h3 class="name"><code>_setStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>newStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l21"><code>input&#x2F;charts&#x2F;LineSeries.js:21</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">newStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to update.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l11"><code>input&#x2F;charts&#x2F;LineSeries.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l67"><code>input&#x2F;charts&#x2F;LineSeries.js:67</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing lines. This attribute is inherited from <code>Renderer</code>. Below are the default values:
          + <dl>
          +     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +     retrieved from the following array: 
          +     <code>["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]</code>
          +     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +     <dt>dashLength</dt><dd>When the <code>lineType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>gapSpace</dt><dd>When the <code>lineType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +     <dt>discontinuousDashLength</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>discontinuousGapSpace</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_LineSeries.js.html#l56"><code>input&#x2F;charts&#x2F;LineSeries.js:56</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> line</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Lines.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Lines.html
          new file mode 100644
          index 000000000..e00166d3e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Lines.html
          @@ -0,0 +1,994 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Lines</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Lines Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l1"><code>input&#x2F;charts&#x2F;Lines.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Utility class used for drawing lines.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getGraphic">_getGraphic</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getLineDefaults">_getLineDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__toggleVisible">_toggleVisible</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_drawDashedLine">drawDashedLine</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawLines">drawLines</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSpline">drawSpline</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__lineDefaults">_lineDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getGraphic" class="method item private">
          +    <h3 class="name"><code>_getGraphic</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l18"><code>input&#x2F;charts&#x2F;Lines.js:18</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a graphic in which to draw a series.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Graphic
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getLineDefaults" class="method item protected">
          +    <h3 class="name"><code>_getLineDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l241"><code>input&#x2F;charts&#x2F;Lines.js:241</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default values for <code>styles</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__toggleVisible" class="method item private">
          +    <h3 class="name"><code>_toggleVisible</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>visible</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l36"><code>input&#x2F;charts&#x2F;Lines.js:36</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Toggles visibility</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">visible</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>indicates visibilitye</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawDashedLine" class="method item private">
          +    <h3 class="name"><code>drawDashedLine</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>xStart</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>yStart</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>xEnd</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>yEnd</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>dashSize</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>gapSize</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l190"><code>input&#x2F;charts&#x2F;Lines.js:190</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a dashed line between two points.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xStart</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The x position of the start of the line</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">yStart</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The y position of the start of the line</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">xEnd</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The x position of the end of the line</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">yEnd</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The y position of the end of the line</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">dashSize</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the size of dashes, in pixels</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">gapSize</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the size of gaps between dashes, in pixels</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawLines" class="method item protected">
          +    <h3 class="name"><code>drawLines</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l51"><code>input&#x2F;charts&#x2F;Lines.js:51</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws lines for the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSpline" class="method item protected">
          +    <h3 class="name"><code>drawSpline</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l144"><code>input&#x2F;charts&#x2F;Lines.js:144</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Connects data points with a consistent curve for a series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__lineDefaults" class="property item private">
          +    <h3 class="name"><code>_lineDefaults</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Lines.js.html#l11"><code>input&#x2F;charts&#x2F;Lines.js:11</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Main.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Main.html
          new file mode 100644
          index 000000000..378e58707
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Main.html
          @@ -0,0 +1,513 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Main</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Main Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_slashes.js.html#l6"><code>input&#x2F;test2&#x2F;slashes.js:6</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/myapp_views/index.html">myapp/views/index</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>This is the main class</p>
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_Main" class="method item">
          +    <h3 class="name"><code>Main</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_slashes.js.html#l6"><code>input&#x2F;test2&#x2F;slashes.js:6</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_STATIC">STATIC</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_STATIC">STATIC</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property_STATIC" class="property item">
          +    <h3 class="name"><code>STATIC</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_slashes.js.html#l12"><code>input&#x2F;test-linked&#x2F;slashes.js:12</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Static Property</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_STATIC" class="property item">
          +    <h3 class="name"><code>STATIC</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_slashes.js.html#l12"><code>input&#x2F;test2&#x2F;slashes.js:12</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Static Property</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/MarkerSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/MarkerSeries.html
          new file mode 100644
          index 000000000..51304299e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/MarkerSeries.html
          @@ -0,0 +1,748 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>MarkerSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>MarkerSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l1"><code>input&#x2F;charts&#x2F;MarkerSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The MarkerSeries class renders quantitative data by plotting relevant data points 
          +on a graph.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setStyles">_setStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l43"><code>input&#x2F;charts&#x2F;MarkerSeries.js:43</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setStyles" class="method item protected">
          +    <h3 class="name"><code>_setStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>newStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l24"><code>input&#x2F;charts&#x2F;MarkerSeries.js:24</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">newStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to update.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l12"><code>input&#x2F;charts&#x2F;MarkerSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l70"><code>input&#x2F;charts&#x2F;MarkerSeries.js:70</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>Renderer</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#6084d0", "#eeb647", "#6c6b5f", "#d6484f", "#ce9ed1", "#ff9f3b", "#93b7ff", "#e0ddd0", "#94ecba", "#309687"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>
          +     <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_MarkerSeries.js.html#l59"><code>input&#x2F;charts&#x2F;MarkerSeries.js:59</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> marker</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/NumericAxis.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/NumericAxis.html
          new file mode 100644
          index 000000000..650593cdb
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/NumericAxis.html
          @@ -0,0 +1,2025 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>NumericAxis</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>NumericAxis Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l1"><code>input&#x2F;charts&#x2F;NumericAxis.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>NumericAxis manages numeric data on an axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getMinimumUnit">_getMinimumUnit</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getNiceNumber">_getNiceNumber</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__hasDataOverflow">_hasDataOverflow</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__roundDownToNearest">_roundDownToNearest</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__roundMinAndMax">_roundMinAndMax</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__roundToNearest">_roundToNearest</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__roundToPrecision">_roundToPrecision</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__roundUpToNearest">_roundUpToNearest</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateMinAndMax">_updateMinAndMax</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_formatLabel">formatLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getLabelByIndex">getLabelByIndex</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getTotalByKey">getTotalByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__type">_type</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_alwaysShowZero">alwaysShowZero</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFormat">labelFormat</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFunction">labelFunction</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getMinimumUnit" class="method item private">
          +    <h3 class="name"><code>_getMinimumUnit</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>max</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>min</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>units</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l123"><code>input&#x2F;charts&#x2F;NumericAxis.js:123</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Helper method for getting a <code>roundingUnit</code> when calculating the minimum and maximum values.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">max</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Maximum number</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">min</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Minimum number</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">units</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number of units on the axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getNiceNumber" class="method item private">
          +    <h3 class="name"><code>_getNiceNumber</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>roundingUnit</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l138"><code>input&#x2F;charts&#x2F;NumericAxis.js:138</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates a nice rounding unit based on the range.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">roundingUnit</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The calculated rounding unit.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__hasDataOverflow" class="method item protected">
          +    <h3 class="name"><code>_hasDataOverflow</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l651"><code>input&#x2F;charts&#x2F;NumericAxis.js:651</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Checks to see if data extends beyond the range of the axis. If so,
          +that data will need to be hidden. This method is internal, temporary and subject
          +to removal in the future.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__roundDownToNearest" class="method item private">
          +    <h3 class="name"><code>_roundDownToNearest</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>number</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>nearest</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l614"><code>input&#x2F;charts&#x2F;NumericAxis.js:614</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rounds a Number down to the nearest multiple of an input. For example, by rounding
          +16 down to the nearest 10, you will receive 10. Similar to the built-in function Math.floor().</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">number</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number to round</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">nearest</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Multiple to round towards.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__roundMinAndMax" class="method item private">
          +    <h3 class="name"><code>_roundMinAndMax</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>min</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>max</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l248"><code>input&#x2F;charts&#x2F;NumericAxis.js:248</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rounds the mimimum and maximum values based on the <code>roundingUnit</code> attribute.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">min</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Minimum value</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">max</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Maximum value</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__roundToNearest" class="method item private">
          +    <h3 class="name"><code>_roundToNearest</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>number</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>nearest</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l573"><code>input&#x2F;charts&#x2F;NumericAxis.js:573</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rounds a Number to the nearest multiple of an input. For example, by rounding
          +16 to the nearest 10, you will receive 20. Similar to the built-in function Math.round().</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">number</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number to round</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">nearest</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Multiple to round towards.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__roundToPrecision" class="method item private">
          +    <h3 class="name"><code>_roundToPrecision</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>number</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>precision</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l634"><code>input&#x2F;charts&#x2F;NumericAxis.js:634</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rounds a number to a certain level of precision. Useful for limiting the number of
          +decimal places on a fractional number.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">number</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number to round</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">precision</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Multiple to round towards.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__roundUpToNearest" class="method item private">
          +    <h3 class="name"><code>_roundUpToNearest</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>number</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>nearest</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l594"><code>input&#x2F;charts&#x2F;NumericAxis.js:594</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rounds a Number up to the nearest multiple of an input. For example, by rounding
          +16 up to the nearest 10, you will receive 20. Similar to the built-in function Math.ceil().</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">number</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Number to round</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">nearest</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Multiple to round towards.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__updateMinAndMax" class="method item private">
          +    <h3 class="name"><code>_updateMinAndMax</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l170"><code>input&#x2F;charts&#x2F;NumericAxis.js:170</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the maximum and minimum values for the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_formatLabel" class="method item">
          +    <h3 class="name"><code>formatLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>format</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l72"><code>input&#x2F;charts&#x2F;NumericAxis.js:72</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats a label based on the axis type and optionally specified format.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                         
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">format</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Pattern used to format the value.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelByIndex" class="method item">
          +    <h3 class="name"><code>getLabelByIndex</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l535"><code>input&#x2F;charts&#x2F;NumericAxis.js:535</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and returns a value based on the number of labels and the index of
          +the current label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total number of labels.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getTotalByKey" class="method item">
          +    <h3 class="name"><code>getTotalByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l89"><code>input&#x2F;charts&#x2F;NumericAxis.js:89</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the sum of all values per key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The identifier for the array whose values will be calculated.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__type" class="property item private">
          +    <h3 class="name"><code>_type</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l114"><code>input&#x2F;charts&#x2F;NumericAxis.js:114</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of data used in <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_alwaysShowZero" class="attr item">
          +    <a name="config_alwaysShowZero"></a> 
          +    <h3 class="name"><code>alwaysShowZero</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l18"><code>input&#x2F;charts&#x2F;NumericAxis.js:18</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether 0 should always be displayed.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labelFormat" class="attr item">
          +    <a name="config_labelFormat"></a> 
          +    <h3 class="name"><code>labelFormat</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l52"><code>input&#x2F;charts&#x2F;NumericAxis.js:52</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Object containing properties used by the <code>labelFunction</code> to format a
          +label.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labelFunction" class="attr item">
          +    <a name="config_labelFunction"></a> 
          +    <h3 class="name"><code>labelFunction</code></h3>
          +    <span class="type">Function</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_NumericAxis.js.html#l28"><code>input&#x2F;charts&#x2F;NumericAxis.js:28</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +to implement the arguments below and return a <code>String</code> or an <code>HTMLElement</code>. The default implementation of the method returns a <code>String</code>. The output of this method
          +will be rendered to the DOM using <code>appendChild</code>. If you override the <code>labelFunction</code> method and return an html string, you will also need to override the Axis' 
          +<code>appendLabelFunction</code> to accept html as a <code>String</code>.</p>
          +
          +<dl>
          +     <dt>val</dt><dd>Label to be formatted. (<code>String</code>)</dd>
          +     <dt>format</dt><dd>Object containing properties used to format the label. (optional)</dd>
          +</dl>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass.html
          new file mode 100644
          index 000000000..1378b5f04
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass.html
          @@ -0,0 +1,331 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>OtherClass</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>OtherClass Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_test.js.html#l114"><code>input&#x2F;test&#x2F;test.js:114</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/mysubmodule.html">mysubmodule</a><br>
          +            Parent Module: <a href="../modules/mymodule.html">mymodule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Other Class</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass2.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass2.html
          new file mode 100644
          index 000000000..7f7753c73
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/OtherClass2.html
          @@ -0,0 +1,800 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>OtherClass2</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>OtherClass2 Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_test.js.html#l120"><code>input&#x2F;test&#x2F;test.js:120</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/mysubmodule.html">mysubmodule</a><br>
          +            Parent Module: <a href="../modules/mymodule.html">mymodule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Other Class 2</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_crashTest">crashTest</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_testMethod">testMethod</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property_options">options</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_optionalAttr">optionalAttr</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_requiredAttr">requiredAttr</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_crashTest" class="method item">
          +    <h3 class="name"><code>crashTest</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>foo</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l160"><code>input&#x2F;test&#x2F;test.js:160</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>crash test method</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">foo</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The string to crash the parser</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_testMethod" class="method item">
          +    <h3 class="name"><code>testMethod</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>foo</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l142"><code>input&#x2F;test&#x2F;test.js:142</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>This is a test of CASE TaGs</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">foo</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Foo description</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property_options" class="property item protected">
          +    <h3 class="name"><code>options</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l126"><code>input&#x2F;test&#x2F;test.js:126</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default options to use for all transactions.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <h4>Sub-properties:</h4>
          +
          +        <ul class="params-list">
          +            
          +            <li class="param">
          +                
          +                    <code class="param-name optional">[attributes]</code>
          +                    <span class="type">Object</span>
          +                    <span class="flag optional" title="This property is optional.">optional</span>
          +                
          +
          +                <div class="param-description">
          +                    <p>HTML attribute name/value pairs that
          +    should be added to inserted nodes.</p>
          +                </div>
          +
          +                
          +            </li>
          +            
          +            <li class="param">
          +                
          +                    <code class="param-name optional">[autopurge=false]</code>
          +                    <span class="type">Boolean</span>
          +                    <span class="flag optional" title="This property is optional.">optional</span>
          +                
          +
          +                <div class="param-description">
          +                    <p>Whether or not to automatically
          +    purge inserted nodes after the purge threshold is reached.</p>
          +                </div>
          +
          +                
          +            </li>
          +            
          +            <li class="param">
          +                
          +                    <code class="param-name optional">[doc]</code>
          +                    <span class="type">Document</span>
          +                    <span class="flag optional" title="This property is optional.">optional</span>
          +                
          +
          +                <div class="param-description">
          +                    <p>Document into which nodes should be inserted.</p>
          +                </div>
          +
          +                
          +            </li>
          +            
          +            <li class="param">
          +                
          +                    <code class="param-name optional">[pollInterval=50]</code>
          +                    <span class="type">Number</span>
          +                    <span class="flag optional" title="This property is optional.">optional</span>
          +                
          +
          +                <div class="param-description">
          +                    <p>Polling interval (in milliseconds)
          +    for detecting CSS load completion in browsers that don't support the <code>load</code>
          +    event on <code>&lt;link&gt;</code> nodes.</p>
          +                </div>
          +
          +                
          +            </li>
          +            
          +        </ul>
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_optionalAttr" class="attr item">
          +    <a name="config_optionalAttr"></a> 
          +    <h3 class="name"><code>optionalAttr</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag optional">optional</span>
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l148"><code>input&#x2F;test&#x2F;test.js:148</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>This is an optional attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_requiredAttr" class="attr item">
          +    <a name="config_requiredAttr"></a> 
          +    <h3 class="name"><code>requiredAttr</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag required">required</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l154"><code>input&#x2F;test&#x2F;test.js:154</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>This is a required attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.LocalStore.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.LocalStore.html
          new file mode 100644
          index 000000000..815f2e289
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.LocalStore.html
          @@ -0,0 +1,391 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>P.storage.LocalStore</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>P.storage.LocalStore Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +        <div class="extends">
          +            Extends <a href="../classes/P.storage.Store.html" class="crosslink">P.storage.Store</a>
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l12"><code>input&#x2F;test2&#x2F;namespace.js:12</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/P.storage.html">P.storage</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_P.storage.LocalStore" class="method item">
          +    <h3 class="name"><code>P.storage.LocalStore</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l12"><code>input&#x2F;test2&#x2F;namespace.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.Store.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.Store.html
          new file mode 100644
          index 000000000..c64e5cda0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.Store.html
          @@ -0,0 +1,387 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>P.storage.Store</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>P.storage.Store Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l5"><code>input&#x2F;test2&#x2F;namespace.js:5</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/P.storage.html">P.storage</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_P.storage.Store" class="method item">
          +    <h3 class="name"><code>P.storage.Store</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l5"><code>input&#x2F;test2&#x2F;namespace.js:5</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.html
          new file mode 100644
          index 000000000..2bbf78bb5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/P.storage.html
          @@ -0,0 +1,460 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>P.storage</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>P.storage Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l20"><code>input&#x2F;test2&#x2F;namespace.js:20</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/P.storage.html">P.storage</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__storageMechanisms">_storageMechanisms</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__storageMechanisms">_storageMechanisms</a>
          +
          +                                
          +                                    <span class="flag static">static</span>
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__storageMechanisms" class="property item private">
          +    <h3 class="name"><code>_storageMechanisms</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_namespace.js.html#l25"><code>input&#x2F;test-linked&#x2F;namespace.js:25</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__storageMechanisms" class="property item private">
          +    <h3 class="name"><code>_storageMechanisms</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag static">static</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l25"><code>input&#x2F;test2&#x2F;namespace.js:25</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieChart.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieChart.html
          new file mode 100644
          index 000000000..790e18362
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieChart.html
          @@ -0,0 +1,1670 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>PieChart</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>PieChart Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l1"><code>input&#x2F;charts&#x2F;PieChart.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The PieChart class creates a pie chart</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addAxes">_addAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addSeries">_addSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method__getAriaMessage">_getAriaMessage</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultAxes">_getDefaultAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getSeriesCollection">_getSeriesCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseAxes">_parseAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseSeriesAxes">_parseSeriesAxes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__redraw">_redraw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__sizeChanged">_sizeChanged</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__tooltipLabelFunction">_tooltipLabelFunction</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getSeriesItem">getSeriesItem</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_ariaDescription">ariaDescription</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_axes">axes</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_seriesCollection">seriesCollection</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__addAxes" class="method item private">
          +    <h3 class="name"><code>_addAxes</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l105"><code>input&#x2F;charts&#x2F;PieChart.js:105</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds axes to the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__addSeries" class="method item private">
          +    <h3 class="name"><code>_addSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l145"><code>input&#x2F;charts&#x2F;PieChart.js:145</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Renders the Graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getAriaMessage" class="method item">
          +    <h3 class="name"><code>_getAriaMessage</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l345"><code>input&#x2F;charts&#x2F;PieChart.js:345</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the appropriate message based on the key press.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The keycode that was pressed.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultAxes" class="method item private">
          +    <h3 class="name"><code>_getDefaultAxes</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l209"><code>input&#x2F;charts&#x2F;PieChart.js:209</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Generates and returns a key-indexed object containing <code>Axis</code> instances or objects used to create <code>Axis</code> instances.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getSeriesCollection" class="method item private">
          +    <h3 class="name"><code>_getSeriesCollection</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l10"><code>input&#x2F;charts&#x2F;PieChart.js:10</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and returns a <code>seriesCollection</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseAxes" class="method item private">
          +    <h3 class="name"><code>_parseAxes</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l52"><code>input&#x2F;charts&#x2F;PieChart.js:52</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates <code>Axis</code> instances.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing <code>Axis</code> instances or objects in which to construct <code>Axis</code> instances.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseSeriesAxes" class="method item private">
          +    <h3 class="name"><code>_parseSeriesAxes</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l164"><code>input&#x2F;charts&#x2F;PieChart.js:164</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parse and sets the axes for the chart.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>A collection <code>PieSeries</code> instance.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__redraw" class="method item private">
          +    <h3 class="name"><code>_redraw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l286"><code>input&#x2F;charts&#x2F;PieChart.js:286</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Redraws the chart instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__sizeChanged" class="method item private">
          +    <h3 class="name"><code>_sizeChanged</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l274"><code>input&#x2F;charts&#x2F;PieChart.js:274</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Handler for sizeChanged event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__tooltipLabelFunction" class="method item private">
          +    <h3 class="name"><code>_tooltipLabelFunction</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>categoryItem</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>valueItem</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>itemIndex</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesIndex</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">HTML</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l306"><code>input&#x2F;charts&#x2F;PieChart.js:306</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats tooltip text for a pie chart.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">categoryItem</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An object containing the following:
          + <dl>
          +     <dt>axis</dt><dd>The axis to which the category is bound.</dd>
          +     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>
          +     <dt>key</dt><dd>The key of the category.</dd>
          +     <dt>value</dt><dd>The value of the category</dd>
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">valueItem</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>An object containing the following:
          + <dl>
          +     <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>
          +     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>
          +     <dt>key</dt><dd>The key for the series.</dd>
          +     <dt>value</dt><dd>The value for the series item.</dd> 
          + </dl></p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">itemIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the item within the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type"><a href="../classes/CartesianSeries.html" class="crosslink">CartesianSeries</a></span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The <code>PieSeries</code> instance of the item.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The index of the series in the <code>seriesCollection</code>.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">HTML</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getSeriesItem" class="method item">
          +    <h3 class="name"><code>getSeriesItem</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>series</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l249"><code>input&#x2F;charts&#x2F;PieChart.js:249</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns an object literal containing a categoryItem and a valueItem for a given series index.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">series</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Reference to a series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the specified item within a series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_ariaDescription" class="attr item">
          +    <a name="config_ariaDescription"></a> 
          +    <h3 class="name"><code>ariaDescription</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l398"><code>input&#x2F;charts&#x2F;PieChart.js:398</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the aria description for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_axes" class="attr item">
          +    <a name="config_axes"></a> 
          +    <h3 class="name"><code>axes</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l418"><code>input&#x2F;charts&#x2F;PieChart.js:418</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Axes to appear in the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_seriesCollection" class="attr item">
          +    <a name="config_seriesCollection"></a> 
          +    <h3 class="name"><code>seriesCollection</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l436"><code>input&#x2F;charts&#x2F;PieChart.js:436</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +used to describe a Series instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChart.js.html#l455"><code>input&#x2F;charts&#x2F;PieChart.js:455</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of chart when there is no series collection specified.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieSeries.html
          new file mode 100644
          index 000000000..2293aabcc
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/PieSeries.html
          @@ -0,0 +1,2966 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>PieSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>PieSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l1"><code>input&#x2F;charts&#x2F;PieSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>PieSeries visualizes data as a circular chart divided into wedges which represent data as a 
          +percentage of a whole.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__addHotspot">_addHotspot</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__categoryAxisChangeHandler">_categoryAxisChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__categoryDataChangeHandler">_categoryDataChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__createMarker">_createMarker</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__createMarkerCache">_createMarkerCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultColor">_getDefaultColor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__redraw">_redraw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setMap">_setMap</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__valueAxisChangeHandler">_valueAxisChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__valueDataChangeHandler">_valueDataChangeHandler</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_addListeners">addListeners</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_draw">draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawPlots">drawPlots</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method_validate">validate</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__categoryDisplayName">_categoryDisplayName</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultBorderColors">_defaultBorderColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultFillColors">_defaultFillColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultLineColors">_defaultLineColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property protected">
          +                                <a href="#property__defaultSliceColors">_defaultSliceColors</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__image">_image</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__map">_map</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__valueDisplayName">_valueDisplayName</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_GUID">GUID</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryKey">categoryKey</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_"></a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_order">order</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graph">graph</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryAxis">categoryAxis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryAxis">categoryAxis</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_valueKey">valueKey</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_categoryDisplayName">categoryDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_valueDisplayName">valueDisplayName</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_slices">slices</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__addHotspot" class="method item private">
          +    <h3 class="name"><code>_addHotspot</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cfg</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>seriesIndex</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l345"><code>input&#x2F;charts&#x2F;PieSeries.js:345</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds an interactive map when rendering in canvas.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cfg</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object containing data used to draw the hotspot</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">seriesIndex</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of series in the <code>seriesCollection</code>.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the marker using the hotspot.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__categoryAxisChangeHandler" class="method item private">
          +    <h3 class="name"><code>_categoryAxisChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l118"><code>input&#x2F;charts&#x2F;PieSeries.js:118</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for the categoryAxisChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__categoryDataChangeHandler" class="method item private">
          +    <h3 class="name"><code>_categoryDataChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>event</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l155"><code>input&#x2F;charts&#x2F;PieSeries.js:155</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for categoryDataChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">event</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createMarker" class="method item private">
          +    <h3 class="name"><code>_createMarker</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>order</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l427"><code>input&#x2F;charts&#x2F;PieSeries.js:427</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a shape to be used as a marker.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of style properties.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">order</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Order of the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index within the series associated with the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Shape
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createMarkerCache" class="method item private">
          +    <h3 class="name"><code>_createMarkerCache</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l448"><code>input&#x2F;charts&#x2F;PieSeries.js:448</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a cache of markers for reuse.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getDefaultColor" class="method item protected">
          +    <h3 class="name"><code>_getDefaultColor</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l535"><code>input&#x2F;charts&#x2F;PieSeries.js:535</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Colors used if style colors are not specified</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index indicating the series order.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Indicates which type of object needs the color.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item private">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l470"><code>input&#x2F;charts&#x2F;PieSeries.js:470</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default style values for the markers.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__redraw" class="method item private">
          +    <h3 class="name"><code>_redraw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChartLegend.js.html#l2"><code>input&#x2F;charts&#x2F;PieChartLegend.js:2</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Redraws the chart instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setMap" class="method item private">
          +    <h3 class="name"><code>_setMap</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l29"><code>input&#x2F;charts&#x2F;PieSeries.js:29</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates or updates the image map when rendered with canvas.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__valueAxisChangeHandler" class="method item private">
          +    <h3 class="name"><code>_valueAxisChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>e</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l132"><code>input&#x2F;charts&#x2F;PieSeries.js:132</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for the valueAxisChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">e</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__valueDataChangeHandler" class="method item private">
          +    <h3 class="name"><code>_valueDataChangeHandler</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>event</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l170"><code>input&#x2F;charts&#x2F;PieSeries.js:170</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Event handler for valueDataChange event.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">event</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Event object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_addListeners" class="method item private">
          +    <h3 class="name"><code>addListeners</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l81"><code>input&#x2F;charts&#x2F;PieSeries.js:81</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adds event listeners.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_draw" class="method item protected">
          +    <h3 class="name"><code>draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l185"><code>input&#x2F;charts&#x2F;PieSeries.js:185</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series. Overrides the base implementation.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawPlots" class="method item protected">
          +    <h3 class="name"><code>drawPlots</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l219"><code>input&#x2F;charts&#x2F;PieSeries.js:219</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the markers</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l402"><code>input&#x2F;charts&#x2F;PieSeries.js:402</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Resizes and positions markers based on a mouse interaction.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_validate" class="method item private">
          +    <h3 class="name"><code>validate</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l106"><code>input&#x2F;charts&#x2F;PieSeries.js:106</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__categoryDisplayName" class="property item private">
          +    <h3 class="name"><code>_categoryDisplayName</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l65"><code>input&#x2F;charts&#x2F;PieSeries.js:65</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>categoryDisplayName</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultBorderColors" class="property item protected">
          +    <h3 class="name"><code>_defaultBorderColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l517"><code>input&#x2F;charts&#x2F;PieSeries.js:517</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for marker borders in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultFillColors" class="property item protected">
          +    <h3 class="name"><code>_defaultFillColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l508"><code>input&#x2F;charts&#x2F;PieSeries.js:508</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for marker fills in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultLineColors" class="property item protected">
          +    <h3 class="name"><code>_defaultLineColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l499"><code>input&#x2F;charts&#x2F;PieSeries.js:499</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for lines in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__defaultSliceColors" class="property item protected">
          +    <h3 class="name"><code>_defaultSliceColors</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l526"><code>input&#x2F;charts&#x2F;PieSeries.js:526</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__image" class="property item private">
          +    <h3 class="name"><code>_image</code></h3>
          +    <span class="type">HTMLElement</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l20"><code>input&#x2F;charts&#x2F;PieSeries.js:20</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Image used for image map when rendered with canvas.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__map" class="property item private">
          +    <h3 class="name"><code>_map</code></h3>
          +    <span class="type">HTMLElement</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l11"><code>input&#x2F;charts&#x2F;PieSeries.js:11</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Image map used for interactivity when rendered with canvas.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__valueDisplayName" class="property item private">
          +    <h3 class="name"><code>_valueDisplayName</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l73"><code>input&#x2F;charts&#x2F;PieSeries.js:73</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>valueDisplayName</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_GUID" class="property item private">
          +    <h3 class="name"><code>GUID</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l146"><code>input&#x2F;charts&#x2F;PieSeries.js:146</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Constant used to generate unique id.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_categoryKey" class="attr item">
          +    <a name="config_categoryKey"></a> 
          +    <h3 class="name"><code>categoryKey</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l623"><code>input&#x2F;charts&#x2F;PieSeries.js:623</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates which array to from the hash of value arrays in 
          +the category <code>Axis</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_" class="attr item">
          +    <a name="config_"></a> 
          +    <h3 class="name"><code></code></h3>
          +    <span class="type">Legend</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieChartLegend.js.html#l123"><code>input&#x2F;charts&#x2F;PieChartLegend.js:123</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The legend for the chart.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_order" class="attr item">
          +    <a name="config_order"></a> 
          +    <h3 class="name"><code>order</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l575"><code>input&#x2F;charts&#x2F;PieSeries.js:575</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Order of this instance of this <code>type</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_graph" class="attr item">
          +    <a name="config_graph"></a> 
          +    <h3 class="name"><code>graph</code></h3>
          +    <span class="type"><a href="../classes/Graph.html" class="crosslink">Graph</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l583"><code>input&#x2F;charts&#x2F;PieSeries.js:583</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Graph</code> in which the series is drawn into.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryAxis" class="attr item">
          +    <a name="config_categoryAxis"></a> 
          +    <h3 class="name"><code>categoryAxis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l591"><code>input&#x2F;charts&#x2F;PieSeries.js:591</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Axis</code> instance used for assigning 
          +category values to the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryAxis" class="attr item">
          +    <a name="config_categoryAxis"></a> 
          +    <h3 class="name"><code>categoryAxis</code></h3>
          +    <span class="type"><a href="../classes/Axis.html" class="crosslink">Axis</a></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l607"><code>input&#x2F;charts&#x2F;PieSeries.js:607</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Reference to the <code>Axis</code> instance used for assigning 
          +series values to the graph.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l564"><code>input&#x2F;charts&#x2F;PieSeries.js:564</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> pie</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_valueKey" class="attr item">
          +    <a name="config_valueKey"></a> 
          +    <h3 class="name"><code>valueKey</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l638"><code>input&#x2F;charts&#x2F;PieSeries.js:638</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates which array to from the hash of value arrays in 
          +the value <code>Axis</code> instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_categoryDisplayName" class="attr item">
          +    <a name="config_categoryDisplayName"></a> 
          +    <h3 class="name"><code>categoryDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l654"><code>input&#x2F;charts&#x2F;PieSeries.js:654</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying category data</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_valueDisplayName" class="attr item">
          +    <a name="config_valueDisplayName"></a> 
          +    <h3 class="name"><code>valueDisplayName</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l673"><code>input&#x2F;charts&#x2F;PieSeries.js:673</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Name used for for displaying value data</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_slices" class="attr item private">
          +    <a name="config_slices"></a> 
          +    <h3 class="name"><code>slices</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l692"><code>input&#x2F;charts&#x2F;PieSeries.js:692</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_PieSeries.js.html#l699"><code>input&#x2F;charts&#x2F;PieSeries.js:699</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>MarkerSeries</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>colors</dt><dd>An array of colors to be used for the marker fills. The color for each marker is retrieved from the 
          +             array below:<br/>
          +             <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +             </dd>
          +             <dt>alphas</dt><dd>An array of alpha references (Number from 0 to 1) indicating the opacity of each marker fill. The default value is [1].</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>An array of colors to be used for the marker borders. The color for each marker is retrieved from the
          +             array below:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Plots.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Plots.html
          new file mode 100644
          index 000000000..0fa80d340
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Plots.html
          @@ -0,0 +1,2087 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Plots</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Plots Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l1"><code>input&#x2F;charts&#x2F;Plots.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Utility class used for drawing markers.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__clearMarkerCache">_clearMarkerCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__createGroupMarkers">_createGroupMarkers</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__createMarker">_createMarker</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__createMarkerCache">_createMarkerCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getGroupShape">_getGroupShape</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getItemColor">_getItemColor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getState">_getState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__parseMarkerStyles">_parseMarkerStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setStyles">_setStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__toggleVisible">_toggleVisible</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawPlots">drawPlots</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getMarker">getMarker</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__groupShapes">_groupShapes</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__markerCache">_markerCache</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__markers">_markers</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__plotDefaults">_plotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__statSyles">_statSyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__clearMarkerCache" class="method item private">
          +    <h3 class="name"><code>_clearMarkerCache</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l366"><code>input&#x2F;charts&#x2F;Plots.js:366</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Removes unused markers from the marker cache</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createGroupMarkers" class="method item protected">
          +    <h3 class="name"><code>_createGroupMarkers</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l286"><code>input&#x2F;charts&#x2F;Plots.js:286</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a series of markers in a single shape instance.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Set of configuration properties used to create the markers.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createMarker" class="method item private">
          +    <h3 class="name"><code>_createMarker</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>order</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l240"><code>input&#x2F;charts&#x2F;Plots.js:240</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a shape to be used as a marker.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of style properties.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">order</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Order of the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index within the series associated with the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Shape
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__createMarkerCache" class="method item private">
          +    <h3 class="name"><code>_createMarkerCache</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l262"><code>input&#x2F;charts&#x2F;Plots.js:262</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates a cache of markers for reuse.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getGroupShape" class="method item protected">
          +    <h3 class="name"><code>_getGroupShape</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>shape</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l132"><code>input&#x2F;charts&#x2F;Plots.js:132</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the correct group shape class.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">shape</code>
          +                        <span class="type">Shape | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Indicates which shape class.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Function
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getItemColor" class="method item protected">
          +    <h3 class="name"><code>_getItemColor</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l417"><code>input&#x2F;charts&#x2F;Plots.js:417</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses a color from an array.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>collection of colors</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the item</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item protected">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l149"><code>input&#x2F;charts&#x2F;Plots.js:149</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default values for series that use the utility. This method is used by
          +the class' <code>styles</code> attribute's getter to get build default values.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getState" class="method item protected">
          +    <h3 class="name"><code>_getState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l475"><code>input&#x2F;charts&#x2F;Plots.js:475</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns marker state based on event type</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>event type</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__parseMarkerStyles" class="method item private">
          +    <h3 class="name"><code>_parseMarkerStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>Object</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l449"><code>input&#x2F;charts&#x2F;Plots.js:449</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Combines new styles with existing styles.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">Object</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>containing style properties for the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setStyles" class="method item protected">
          +    <h3 class="name"><code>_setStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>newStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l435"><code>input&#x2F;charts&#x2F;Plots.js:435</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Method used by <code>styles</code> setter. Overrides base implementation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">newStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to update.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__toggleVisible" class="method item private">
          +    <h3 class="name"><code>_toggleVisible</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>visible</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l339"><code>input&#x2F;charts&#x2F;Plots.js:339</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Toggles visibility</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">visible</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>indicates visibilitye</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawPlots" class="method item protected">
          +    <h3 class="name"><code>drawPlots</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l31"><code>input&#x2F;charts&#x2F;Plots.js:31</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the markers</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getMarker" class="method item protected">
          +    <h3 class="name"><code>getMarker</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>styles</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>order</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>index</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l198"><code>input&#x2F;charts&#x2F;Plots.js:198</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets and styles a marker. If there is a marker in cache, it will use it. Otherwise
          +it will create one.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">styles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of style properties.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">order</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Order of the series.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">index</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index within the series associated with the marker.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Shape
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l385"><code>input&#x2F;charts&#x2F;Plots.js:385</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Resizes and positions markers based on a mouse interaction.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__groupShapes" class="property item private">
          +    <h3 class="name"><code>_groupShapes</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l119"><code>input&#x2F;charts&#x2F;Plots.js:119</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Pre-defined group shapes.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__markerCache" class="property item private">
          +    <h3 class="name"><code>_markerCache</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l189"><code>input&#x2F;charts&#x2F;Plots.js:189</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of markers to be re-used on a series redraw.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__markers" class="property item private">
          +    <h3 class="name"><code>_markers</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l180"><code>input&#x2F;charts&#x2F;Plots.js:180</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Collection of markers to be used in the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__plotDefaults" class="property item private">
          +    <h3 class="name"><code>_plotDefaults</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l22"><code>input&#x2F;charts&#x2F;Plots.js:22</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for default marker styles.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property__statSyles" class="property item private">
          +    <h3 class="name"><code>_statSyles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Plots.js.html#l504"><code>input&#x2F;charts&#x2F;Plots.js:504</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Renderer.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Renderer.html
          new file mode 100644
          index 000000000..76452ad22
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/Renderer.html
          @@ -0,0 +1,860 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>Renderer</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>Renderer Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l1"><code>input&#x2F;charts&#x2F;Renderer.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The Renderer class is a base class for chart components that use the <code>styles</code>
          +attribute.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getDefaultStyles">_getDefaultStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__mergeStyles">_mergeStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setStyles">_setStyles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__styles">_styles</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_graphic">graphic</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultStyles" class="method item protected">
          +    <h3 class="name"><code>_getDefaultStyles</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l97"><code>input&#x2F;charts&#x2F;Renderer.js:97</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default value for the <code>styles</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__mergeStyles" class="method item protected">
          +    <h3 class="name"><code>_mergeStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>a</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>b</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l66"><code>input&#x2F;charts&#x2F;Renderer.js:66</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Merges to object literals so that only specified properties are 
          +overwritten.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">a</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of new styles</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">b</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of original styles</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setStyles" class="method item protected">
          +    <h3 class="name"><code>_setStyles</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>newStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l52"><code>input&#x2F;charts&#x2F;Renderer.js:52</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Method used by <code>styles</code> setter.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">newStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Hash of properties to update.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__styles" class="property item private">
          +    <h3 class="name"><code>_styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l43"><code>input&#x2F;charts&#x2F;Renderer.js:43</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Storage for <code>styles</code> attribute.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_graphic" class="attr item">
          +    <a name="config_graphic"></a> 
          +    <h3 class="name"><code>graphic</code></h3>
          +    <span class="type">Graphic</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l32"><code>input&#x2F;charts&#x2F;Renderer.js:32</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The graphic in which drawings will be rendered.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_Renderer.js.html#l12"><code>input&#x2F;charts&#x2F;Renderer.js:12</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties for class</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/RightAxisLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/RightAxisLayout.html
          new file mode 100644
          index 000000000..64e4c76e5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/RightAxisLayout.html
          @@ -0,0 +1,1571 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>RightAxisLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>RightAxisLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l1"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>RightAxisLayout contains algorithms for rendering a right axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultMargins">_getDefaultMargins</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getTransformOrigin">_getTransformOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setRotationCoords">_setRotationCoords</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawTick">drawTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getExplicitlySized">getExplicitlySized</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLabelPoint">getLabelPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLineStart">getLineStart</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_offsetNodeForTick">offsetNodeForTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionLabel">positionLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionTitle">positionTitle</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setCalculatedSize">setCalculatedSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setTickOffset">setTickOffset</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMaxLabelSize">updateMaxLabelSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultMargins" class="method item private">
          +    <h3 class="name"><code>_getDefaultMargins</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l11"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default margins for text fields.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTransformOrigin" class="method item protected">
          +    <h3 class="name"><code>_getTransformOrigin</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>rot</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l298"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:298</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the transformOrigin to use for an axis label based on the position of the axis 
          +and the rotation of the label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">rot</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The rotation (in degrees) of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setRotationCoords" class="method item protected">
          +    <h3 class="name"><code>_setRotationCoords</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>props</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l261"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:261</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts the coordinates of an axis label based on the rotation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">props</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates, dimension and rotation properties of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawTick" class="method item protected">
          +    <h3 class="name"><code>drawTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>{Object)</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l65"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:65</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a tick</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>reference to the path <code>Path</code> element in which to draw the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Point on the axis in which the tick will intersect.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">{Object)</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>tickStyle Hash of properties to apply to the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getExplicitlySized" class="method item protected">
          +    <h3 class="name"><code>getExplicitlySized</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l156"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:156</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines the available label width when the axis width has been explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelPoint" class="method item protected">
          +    <h3 class="name"><code>getLabelPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>point</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l112"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:112</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the point for a label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">point</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Point on the axis in which the tick will intersect.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLineStart" class="method item protected">
          +    <h3 class="name"><code>getLineStart</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l85"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:85</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the coordinates for the first point on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_offsetNodeForTick" class="method item protected">
          +    <h3 class="name"><code>offsetNodeForTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cb</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l329"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:329</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts position for inner ticks.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cb</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>contentBox of the axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionLabel" class="method item protected">
          +    <h3 class="name"><code>positionLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l208"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:208</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position labels.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing the x and y coordinates in which the label will be positioned
          +against.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionTitle" class="method item protected">
          +    <h3 class="name"><code>positionTitle</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l178"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:178</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position title.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setCalculatedSize" class="method item protected">
          +    <h3 class="name"><code>setCalculatedSize</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l344"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:344</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Assigns a height based on the size of the contents.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setTickOffset" class="method item protected">
          +    <h3 class="name"><code>setTickOffset</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l28"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:28</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the length of the tick on either side of the axis line.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMaxLabelSize" class="method item protected">
          +    <h3 class="name"><code>updateMaxLabelSize</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_RightAxisLayout.js.html#l125"><code>input&#x2F;charts&#x2F;RightAxisLayout.js:125</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the value for the <code>maxLabelSize</code> for use in calculating total size.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to measure</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ShapeGroup.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ShapeGroup.html
          new file mode 100644
          index 000000000..14dd399a8
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/ShapeGroup.html
          @@ -0,0 +1,520 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ShapeGroup</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ShapeGroup Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ShapeGroup.js.html#l25"><code>input&#x2F;charts&#x2F;ShapeGroup.js:25</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/graphics.html">graphics</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of shapes with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__draw">_draw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getRadiusCollection">_getRadiusCollection</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__draw" class="method item private">
          +    <h3 class="name"><code>_draw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ShapeGroup.js.html#l40"><code>input&#x2F;charts&#x2F;ShapeGroup.js:40</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the shape.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getRadiusCollection" class="method item private">
          +    <h3 class="name"><code>_getRadiusCollection</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_ShapeGroup.js.html#l102"><code>input&#x2F;charts&#x2F;ShapeGroup.js:102</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses and array of lengths into radii</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of lengths</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/SplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/SplineSeries.html
          new file mode 100644
          index 000000000..c8c3e6a01
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/SplineSeries.html
          @@ -0,0 +1,547 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>SplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>SplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_SplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;SplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>SplineSeries renders a graph with data points connected by a curve.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_SplineSeries.js.html#l12"><code>input&#x2F;charts&#x2F;SplineSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_SplineSeries.js.html#l36"><code>input&#x2F;charts&#x2F;SplineSeries.js:36</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing lines. This attribute is inherited from <code>Renderer</code>. Below are the default values:
          + <dl>
          +     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +     retrieved from the following array: 
          +     <code>["#426ab3", "#d09b2c", "#000000", "#b82837", "#b384b5", "#ff7200", "#779de3", "#cbc8ba", "#7ed7a6", "#007a6c"]</code>
          +     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>
          +     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>
          +     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> 
          +     <dt>dashLength</dt><dd>When the <code>lineType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>gapSpace</dt><dd>When the <code>lineType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          +     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> 
          +     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>
          +     <dt>discontinuousDashLength</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the length of the dash. The default value is 10.</dd>
          +     <dt>discontinuousGapSpace</dt><dd>When the <code>discontinuousType</code> is dashed, indicates the distance between dashes. The default value is 10.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_SplineSeries.js.html#l25"><code>input&#x2F;charts&#x2F;SplineSeries.js:25</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> spline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSeries.html
          new file mode 100644
          index 000000000..7928c8ff3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSeries.html
          @@ -0,0 +1,543 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedAreaSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedAreaSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedAreaSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedAreaSeries area fills to display data showing its contribution to a whole.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSeries.js.html#l25"><code>input&#x2F;charts&#x2F;StackedAreaSeries.js:25</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedAreaSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSeries.js.html#l38"><code>input&#x2F;charts&#x2F;StackedAreaSeries.js:38</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedArea</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSplineSeries.html
          new file mode 100644
          index 000000000..f697bd555
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAreaSplineSeries.html
          @@ -0,0 +1,480 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedAreaSplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedAreaSplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedAreaSplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedAreaSplineSeries creates a stacked area chart with points data points connected by a curve.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSplineSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedAreaSplineSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAreaSplineSeries.js.html#l26"><code>input&#x2F;charts&#x2F;StackedAreaSplineSeries.js:26</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedAreaSpline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAxis.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAxis.html
          new file mode 100644
          index 000000000..1ffcbc17c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedAxis.html
          @@ -0,0 +1,409 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedAxis</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedAxis Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedAxis.js.html#l1"><code>input&#x2F;charts&#x2F;StackedAxis.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedAxis manages stacked numeric data on an axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__updateMinAndMax">_updateMinAndMax</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__updateMinAndMax" class="method item private">
          +    <h3 class="name"><code>_updateMinAndMax</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedAxis.js.html#l20"><code>input&#x2F;charts&#x2F;StackedAxis.js:20</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the maximum and minimum values for the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedBarSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedBarSeries.html
          new file mode 100644
          index 000000000..0b72eb116
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedBarSeries.html
          @@ -0,0 +1,922 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedBarSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedBarSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The StackedBarSeries renders bar chart in which series are stacked horizontally to show
          +their contribution to the cumulative total.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_direction">direction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_negativeBaseValues">negativeBaseValues</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_positiveBaseValues">positiveBaseValues</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item protected">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l237"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:237</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l190"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:190</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_direction" class="attr item">
          +    <a name="config_direction"></a> 
          +    <h3 class="name"><code>direction</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l287"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:287</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Direction of the series</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> vertical</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_negativeBaseValues" class="attr item private">
          +    <a name="config_negativeBaseValues"></a> 
          +    <h3 class="name"><code>negativeBaseValues</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l298"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:298</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_positiveBaseValues" class="attr item private">
          +    <a name="config_positiveBaseValues"></a> 
          +    <h3 class="name"><code>positiveBaseValues</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l309"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:309</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l320"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:320</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>BarSeries</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>height</dt><dd>indicates the width of the marker. The default value is 24.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedBarSeries.js.html#l276"><code>input&#x2F;charts&#x2F;StackedBarSeries.js:276</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedBar</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedColumnSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedColumnSeries.html
          new file mode 100644
          index 000000000..7c2576775
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedColumnSeries.html
          @@ -0,0 +1,867 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedColumnSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedColumnSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The StackedColumnSeries renders column chart in which series are stacked vertically to show
          +their contribution to the cumulative total.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getPlotDefaults">_getPlotDefaults</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMarkerState">updateMarkerState</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_negativeBaseValues">negativeBaseValues</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_positiveBaseValues">positiveBaseValues</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_styles">styles</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getPlotDefaults" class="method item protected">
          +    <h3 class="name"><code>_getPlotDefaults</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l238"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:238</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets the default values for the markers.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws the series.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMarkerState" class="method item protected">
          +    <h3 class="name"><code>updateMarkerState</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>type</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l189"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:189</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Resizes and positions markers based on a mouse interaction.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">type</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>state of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>index of the marker</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_negativeBaseValues" class="attr item private">
          +    <a name="config_negativeBaseValues"></a> 
          +    <h3 class="name"><code>negativeBaseValues</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l287"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:287</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_positiveBaseValues" class="attr item private">
          +    <a name="config_positiveBaseValues"></a> 
          +    <h3 class="name"><code>positiveBaseValues</code></h3>
          +    <span class="type">Array</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l297"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:297</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> null</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_styles" class="attr item">
          +    <a name="config_styles"></a> 
          +    <h3 class="name"><code>styles</code></h3>
          +    <span class="type">Object</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l307"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:307</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Style properties used for drawing markers. This attribute is inherited from <code>ColumnSeries</code>. Below are the default values:
          + <dl>
          +     <dt>fill</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
          +             </dd>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>border</dt><dd>A hash containing the following values:
          +         <dl>
          +             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
          +             will be retrieved from the below array:<br/>
          +             <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
          +             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
          +             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
          +         </dl>
          +     </dd>
          +     <dt>width</dt><dd>indicates the width of the marker. The default value is 24.</dd>
          +     <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default 
          +     values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +     the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
          + </dl></p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedColumnSeries.js.html#l276"><code>input&#x2F;charts&#x2F;StackedColumnSeries.js:276</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedColumn</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSeries.html
          new file mode 100644
          index 000000000..2ad335e4f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSeries.html
          @@ -0,0 +1,601 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedComboSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedComboSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedComboSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedComboSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The StackedComboSeries class renders a combination of lines, plots and area fills in a single series. Series
          +are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          +series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          +rendered.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showAreaFill">showAreaFill</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSeries.js.html#l27"><code>input&#x2F;charts&#x2F;StackedComboSeries.js:27</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSeries.js.html#l14"><code>input&#x2F;charts&#x2F;StackedComboSeries.js:14</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_showAreaFill" class="attr item">
          +    <a name="config_showAreaFill"></a> 
          +    <h3 class="name"><code>showAreaFill</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSeries.js.html#l63"><code>input&#x2F;charts&#x2F;StackedComboSeries.js:63</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether a fill is displayed.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSeries.js.html#l52"><code>input&#x2F;charts&#x2F;StackedComboSeries.js:52</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedCombo</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSplineSeries.html
          new file mode 100644
          index 000000000..5d660eb76
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedComboSplineSeries.html
          @@ -0,0 +1,538 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedComboSplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedComboSplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedComboSplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedComboSplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The StackedComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Series
          +are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          +series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          +rendered.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawSeries">drawSeries</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_showAreaFill">showAreaFill</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_drawSeries" class="method item protected">
          +    <h3 class="name"><code>drawSeries</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSplineSeries.js.html#l14"><code>input&#x2F;charts&#x2F;StackedComboSplineSeries.js:14</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_showAreaFill" class="attr item">
          +    <a name="config_showAreaFill"></a> 
          +    <h3 class="name"><code>showAreaFill</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSplineSeries.js.html#l49"><code>input&#x2F;charts&#x2F;StackedComboSplineSeries.js:49</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether a fill is displayed.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> true</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedComboSplineSeries.js.html#l38"><code>input&#x2F;charts&#x2F;StackedComboSplineSeries.js:38</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedComboSpline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedLineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedLineSeries.html
          new file mode 100644
          index 000000000..d832e2acf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedLineSeries.html
          @@ -0,0 +1,481 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedLineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedLineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedLineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedLineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedLineSeries creates line graphs in which the different series are stacked along a value axis
          +to indicate their contribution to a cumulative total.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedLineSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedLineSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedLineSeries.js.html#l26"><code>input&#x2F;charts&#x2F;StackedLineSeries.js:26</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedLine</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedMarkerSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedMarkerSeries.html
          new file mode 100644
          index 000000000..f9624a130
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedMarkerSeries.html
          @@ -0,0 +1,481 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedMarkerSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedMarkerSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedMarkerSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedMarkerSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedMarkerSeries plots markers with different series stacked along the value axis to indicate each
          +series' contribution to a cumulative total.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedMarkerSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedMarkerSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedMarkerSeries.js.html#l26"><code>input&#x2F;charts&#x2F;StackedMarkerSeries.js:26</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedMarker</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedSplineSeries.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedSplineSeries.html
          new file mode 100644
          index 000000000..f5ee607c0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackedSplineSeries.html
          @@ -0,0 +1,481 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackedSplineSeries</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackedSplineSeries Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackedSplineSeries.js.html#l1"><code>input&#x2F;charts&#x2F;StackedSplineSeries.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>StackedSplineSeries creates spline graphs in which the different series are stacked along a value axis
          +to indicate their contribution to a cumulative total.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setAreaData">setAreaData</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_type">type</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_setAreaData" class="method item protected">
          +    <h3 class="name"><code>setAreaData</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedSplineSeries.js.html#l12"><code>input&#x2F;charts&#x2F;StackedSplineSeries.js:12</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_type" class="attr item">
          +    <a name="config_type"></a> 
          +    <h3 class="name"><code>type</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackedSplineSeries.js.html#l26"><code>input&#x2F;charts&#x2F;StackedSplineSeries.js:26</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Read-only attribute indicating the type of series.</p>
          +    </div>
          +
          +    
          +        <p><strong>Default:</strong> stackedSpline</p>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackingUtil.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackingUtil.html
          new file mode 100644
          index 000000000..405c2db6a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/StackingUtil.html
          @@ -0,0 +1,409 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>StackingUtil</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>StackingUtil Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_StackingUtil.js.html#l1"><code>input&#x2F;charts&#x2F;StackingUtil.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Utility class used for creating stacked series.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__stackCoordinates">_stackCoordinates</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__stackCoordinates" class="method item protected">
          +    <h3 class="name"><code>_stackCoordinates</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_StackingUtil.js.html#l11"><code>input&#x2F;charts&#x2F;StackingUtil.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TimeAxis.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TimeAxis.html
          new file mode 100644
          index 000000000..d0ce7c665
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TimeAxis.html
          @@ -0,0 +1,1435 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>TimeAxis</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>TimeAxis Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l1"><code>input&#x2F;charts&#x2F;TimeAxis.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>TimeAxis manages time data on an axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getKeyArray">_getKeyArray</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getNumber">_getNumber</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__setDataByKey">_setDataByKey</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_formatLabel">formatLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getLabelByIndex">getLabelByIndex</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties">
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property__dataType">_dataType</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item property private">
          +                                <a href="#property_GUID">GUID</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFormat">labelFormat</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_labelFunction">labelFunction</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_maximum">maximum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_minimum">minimum</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_setMax">setMax</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr private">
          +                                <a href="#attr_setMin">setMin</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getKeyArray" class="method item private">
          +    <h3 class="name"><code>_getKeyArray</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l203"><code>input&#x2F;charts&#x2F;TimeAxis.js:203</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Gets an array of values based on a key.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Value key associated with the data array.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array in which the data resides.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getNumber" class="method item private">
          +    <h3 class="name"><code>_getNumber</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>val</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l314"><code>input&#x2F;charts&#x2F;TimeAxis.js:314</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Parses value into a number.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">val</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Value to parse into a number</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setDataByKey" class="method item private">
          +    <h3 class="name"><code>_setDataByKey</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>key</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>data</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l258"><code>input&#x2F;charts&#x2F;TimeAxis.js:258</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets data by key</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">key</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Key value to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">data</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array to use.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_formatLabel" class="method item">
          +    <h3 class="name"><code>formatLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>value</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>format</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l138"><code>input&#x2F;charts&#x2F;TimeAxis.js:138</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Formats a label based on the axis type and optionally specified format.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">value</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                         
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">format</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Pattern used to format the value.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelByIndex" class="method item">
          +    <h3 class="name"><code>getLabelByIndex</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>i</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>l</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l174"><code>input&#x2F;charts&#x2F;TimeAxis.js:174</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates and returns a value based on the number of labels and the index of
          +the current label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">i</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Index of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">l</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total number of labels.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    String
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property__dataType" class="property item private">
          +    <h3 class="name"><code>_dataType</code></h3>
          +    <span class="type">Unknown</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l165"><code>input&#x2F;charts&#x2F;TimeAxis.js:165</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Type of data used in <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="property_GUID" class="property item private">
          +    <h3 class="name"><code>GUID</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l156"><code>input&#x2F;charts&#x2F;TimeAxis.js:156</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Constant used to generate unique id.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_labelFormat" class="attr item">
          +    <a name="config_labelFormat"></a> 
          +    <h3 class="name"><code>labelFormat</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l126"><code>input&#x2F;charts&#x2F;TimeAxis.js:126</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Pattern used by the <code>labelFunction</code> to format a label.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_labelFunction" class="attr item">
          +    <a name="config_labelFunction"></a> 
          +    <h3 class="name"><code>labelFunction</code></h3>
          +    <span class="type">Function</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l101"><code>input&#x2F;charts&#x2F;TimeAxis.js:101</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +to implement the arguments below and return a <code>String</code> or an <code>HTMLElement</code>. The default implementation of the method returns a <code>String</code>. The output of this method
          +will be rendered to the DOM using <code>appendChild</code>. If you override the <code>labelFunction</code> method and return an html string, you will also need to override the Axis' 
          +<code>appendLabelFunction</code> to accept html as a <code>String</code>.</p>
          +
          +<dl>
          +     <dt>val</dt><dd>Label to be formatted. (<code>String</code>)</dd>
          +     <dt>format</dt><dd>STRFTime string used to format the label. (optional)</dd>
          +</dl>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_maximum" class="attr item">
          +    <a name="config_maximum"></a> 
          +    <h3 class="name"><code>maximum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l55"><code>input&#x2F;charts&#x2F;TimeAxis.js:55</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The maximum value that will appear on an axis. Unless explicitly set, this value is calculated by the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_minimum" class="attr item">
          +    <a name="config_minimum"></a> 
          +    <h3 class="name"><code>minimum</code></h3>
          +    <span class="type">Number</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l78"><code>input&#x2F;charts&#x2F;TimeAxis.js:78</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>The minimum value that will appear on an axis. Unless explicitly set, this value is calculated by the <code>Axis</code>.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_setMax" class="attr item private">
          +    <a name="config_setMax"></a> 
          +    <h3 class="name"><code>setMax</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l19"><code>input&#x2F;charts&#x2F;TimeAxis.js:19</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the maximum is calculated or explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_setMin" class="attr item private">
          +    <a name="config_setMin"></a> 
          +    <h3 class="name"><code>setMin</code></h3>
          +    <span class="type">Boolean</span>
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TimeAxis.js.html#l37"><code>input&#x2F;charts&#x2F;TimeAxis.js:37</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Indicates whether the minimum is calculated or explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TopAxisLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TopAxisLayout.html
          new file mode 100644
          index 000000000..baaf1301a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/TopAxisLayout.html
          @@ -0,0 +1,1554 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>TopAxisLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>TopAxisLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l1"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Contains algorithms for rendering a top axis.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__getDefaultMargins">_getDefaultMargins</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getTransformOrigin">_getTransformOrigin</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setRotationCoords">_setRotationCoords</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_drawTick">drawTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getExplicitlySized">getExplicitlySized</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLabelPoint">getLabelPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getLineStart">getLineStart</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_offsetNodeForTick">offsetNodeForTick</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionLabel">positionLabel</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_positionTitle">positionTitle</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setCalculatedSize">setCalculatedSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_setTickOffsets">setTickOffsets</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_updateMaxLabelSize">updateMaxLabelSize</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getDefaultMargins" class="method item private">
          +    <h3 class="name"><code>_getDefaultMargins</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l11"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:11</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Default margins for text fields.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__getTransformOrigin" class="method item protected">
          +    <h3 class="name"><code>_getTransformOrigin</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>rot</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l305"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:305</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the transformOrigin to use for an axis label based on the position of the axis 
          +and the rotation of the label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">rot</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The rotation (in degrees) of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Array
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setRotationCoords" class="method item protected">
          +    <h3 class="name"><code>_setRotationCoords</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>props</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l260"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:260</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts the coordinates of an axis label based on the rotation.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">props</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Coordinates, dimension and rotation properties of the label.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_drawTick" class="method item protected">
          +    <h3 class="name"><code>drawTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>path</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>tickStyles</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l90"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:90</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Draws a tick</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">path</code>
          +                        <span class="type">Path</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>reference to the path <code>Path</code> element in which to draw the tick.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing x and y coordinates</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">tickStyles</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash of properties used to draw the tick</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getExplicitlySized" class="method item protected">
          +    <h3 class="name"><code>getExplicitlySized</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l154"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:154</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Determines the available label height when the axis width has been explicitly set.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Boolean
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLabelPoint" class="method item protected">
          +    <h3 class="name"><code>getLabelPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l110"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:110</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the point for a label.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing x and y coordinates</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Object
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getLineStart" class="method item protected">
          +    <h3 class="name"><code>getLineStart</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l64"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:64</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Calculates the coordinates for the first point on an axis.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_offsetNodeForTick" class="method item protected">
          +    <h3 class="name"><code>offsetNodeForTick</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>cb</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l343"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:343</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Adjusts position for inner ticks.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cb</code>
          +                        <span class="type">Node</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>contentBox of the axis</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionLabel" class="method item protected">
          +    <h3 class="name"><code>positionLabel</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>pt</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l206"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:206</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position labels.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">pt</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash containing the x and y coordinates in which the label will be positioned
          +against.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_positionTitle" class="method item protected">
          +    <h3 class="name"><code>positionTitle</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l176"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:176</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Rotate and position title.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to rotate position</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setCalculatedSize" class="method item protected">
          +    <h3 class="name"><code>setCalculatedSize</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l354"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:354</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Assigns a height based on the size of the contents.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_setTickOffsets" class="method item protected">
          +    <h3 class="name"><code>setTickOffsets</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l28"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:28</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Sets the length of the tick on either side of the axis line.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_updateMaxLabelSize" class="method item protected">
          +    <h3 class="name"><code>updateMaxLabelSize</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>label</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l123"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:123</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Updates the value for the <code>maxLabelSize</code> for use in calculating total size.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">label</code>
          +                        <span class="type">HTMLElement</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>to measure</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/VerticalLegendLayout.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/VerticalLegendLayout.html
          new file mode 100644
          index 000000000..a06352101
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/VerticalLegendLayout.html
          @@ -0,0 +1,1153 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>VerticalLegendLayout</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>VerticalLegendLayout Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l207"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:207</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/charts-legend.html">charts-legend</a><br>
          +            Parent Module: <a href="../modules/charts.html">charts</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Contains methods for displaying items vertically in a legend.</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__getLayoutDimensions">_getLayoutDimensions</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__positionLegendItems">_positionLegendItems</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method private">
          +                                <a href="#method__redraw">_redraw</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method__setColumnArrays">_setColumnArrays</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_destructor">destructor</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method protected">
          +                                <a href="#method_getStartPoint">getStartPoint</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method__getLayoutDimensions" class="method item protected">
          +    <h3 class="name"><code>_getLayoutDimensions</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l662"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:662</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Positions the legend in a chart and returns the properties of the legend to be used in the 
          +chart's layout algorithm.</p>
          +    </div>
          +
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    The left, top, right and bottom values for the legend.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__positionLegendItems" class="method item protected">
          +    <h3 class="name"><code>_positionLegendItems</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>items</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>maxWidth</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>maxHeight</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalWidth</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalHeight</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>padding</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>horizontalGap</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>verticalGap</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>hAlign</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>vAlign</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l215"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:215</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Displays items vertically in a legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">items</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of items to display in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">maxWidth</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The width of the largest item in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">maxHeight</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The height of the largest item in the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalWidth</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The total width of all items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalHeight</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The total height of all items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">padding</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The left, top, right and bottom padding properties for the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">horizontalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The horizontal distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">verticalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The vertical distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">hAlign</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The horizontal alignment of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">vAlign</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The vertical alignment of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__redraw" class="method item private">
          +    <h3 class="name"><code>_redraw</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag private">private</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l370"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:370</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Redraws and position all the components of the chart instance.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method__setColumnArrays" class="method item protected">
          +    <h3 class="name"><code>_setColumnArrays</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>items</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>limit</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>verticalGap</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l295"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:295</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Creates column and total height arrays used for displaying multiple columns of
          +legend items based on the items, available height and verticalGap for the legend.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">items</code>
          +                        <span class="type">Array</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Array of legend items to display in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">limit</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total available height for displaying items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">verticalGap</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Vertical distance between items in a legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_destructor" class="method item protected">
          +    <h3 class="name"><code>destructor</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l716"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:716</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Destructor implementation for the CartesianChart class. Calls destroy on all axes, series, legend (if available) and the Graph instance.
          +Removes the tooltip and overlay HTML elements.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_getStartPoint" class="method item protected">
          +    <h3 class="name"><code>getStartPoint</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>h</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>totalHeight</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>align</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>padding</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +        <span class="flag protected">protected</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_charts_CartesianChartLegend.js.html#l339"><code>input&#x2F;charts&#x2F;CartesianChartLegend.js:339</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns the starting y-coordinate for a column of legend items.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">h</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Height of the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">totalHeight</code>
          +                        <span class="type">Number</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Total height of all labels in the column.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">align</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Vertical alignment of items for the legend.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">padding</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object contain left, top, right and bottom padding properties.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    Number
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~dump.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~dump.html
          new file mode 100644
          index 000000000..2acf3e83d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~dump.html
          @@ -0,0 +1,622 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>YUI~dump</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>YUI~dump Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_dump_dump.js.html#l18"><code>input&#x2F;test2&#x2F;dump&#x2F;dump.js:18</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/dump.html">dump</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The following methods are added to the YUI instance</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_dump">dump</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_dump">dump</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_dump" class="method item">
          +    <h3 class="name"><code>dump</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>d</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_dump_dump.js.html#l23"><code>input&#x2F;test-linked&#x2F;dump&#x2F;dump.js:23</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a simple string representation of the object or array.
          +Other types of objects will be returned unprocessed.  Arrays
          +are expected to be indexed.  Use object notation for
          +associative arrays.</p>
          +
          +<p>This method is in the 'dump' module, which is not bundled with
          +the core YUI object</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The object to dump.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">d</code>
          +                        <span class="type">Int</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>How deep to recurse child objects, default 3.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    the dump result.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_dump" class="method item">
          +    <h3 class="name"><code>dump</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>d</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_dump_dump.js.html#l23"><code>input&#x2F;test2&#x2F;dump&#x2F;dump.js:23</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a simple string representation of the object or array.
          +Other types of objects will be returned unprocessed.  Arrays
          +are expected to be indexed.  Use object notation for
          +associative arrays.</p>
          +
          +<p>This method is in the 'dump' module, which is not bundled with
          +the core YUI object</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>The object to dump.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">d</code>
          +                        <span class="type">Int</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>How deep to recurse child objects, default 3.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    the dump result.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~oop.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~oop.html
          new file mode 100644
          index 000000000..963755fdf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/YUI~oop.html
          @@ -0,0 +1,3272 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>YUI~oop</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>YUI~oop Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l9"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:9</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/oop.html">oop</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The following methods are added to the YUI instance</p>
          +</div>
          +
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_aggregate">aggregate</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_aggregate">aggregate</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_augment">augment</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_augment">augment</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_bind">bind</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_bind">bind</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_clone">clone</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_clone">clone</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_each">each</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_each">each</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_extend">extend</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_extend">extend</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_rbind">rbind</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_rbind">rbind</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_some">some</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_some">some</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_aggregate" class="method item">
          +    <h3 class="name"><code>aggregate</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ov</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>wl</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l126"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:126</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Applies object properties from the supplier to the receiver.  If
          +the target has the property, and the property is an object, the target
          +object will be augmented with the supplier's value.  If the property
          +is an array, the suppliers value will be appended to the target.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to receive the augmentation.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object that supplies the properties to augment.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ov</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, properties already on the receiver
          +will be overwritten if found on the supplier.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">wl</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>a whitelist.  If supplied, only properties in
          +this list will be applied to the receiver.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the extended object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_aggregate" class="method item">
          +    <h3 class="name"><code>aggregate</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ov</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>wl</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l126"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:126</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Applies object properties from the supplier to the receiver.  If
          +the target has the property, and the property is an object, the target
          +object will be augmented with the supplier's value.  If the property
          +is an array, the suppliers value will be appended to the target.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to receive the augmentation.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object that supplies the properties to augment.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ov</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, properties already on the receiver
          +will be overwritten if found on the supplier.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">wl</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>a whitelist.  If supplied, only properties in
          +this list will be applied to the receiver.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the extended object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_augment" class="method item">
          +    <h3 class="name"><code>augment</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ov</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>wl</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l37"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:37</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Applies prototype properties from the supplier to the receiver.
          +The receiver can be a constructor or an instance.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to receive the augmentation.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object that supplies the properties to augment.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ov</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, properties already on the receiver
          +will be overwritten if found on the supplier.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">wl</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>a whitelist.  If supplied, only properties in
          +this list will be applied to the receiver.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Array | Any</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>arg or arguments to apply to the supplier
          +constructor when initializing.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the augmented object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_augment" class="method item">
          +    <h3 class="name"><code>augment</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>ov</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>wl</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l37"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:37</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Applies prototype properties from the supplier to the receiver.
          +The receiver can be a constructor or an instance.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to receive the augmentation.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object that supplies the properties to augment.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">ov</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, properties already on the receiver
          +will be overwritten if found on the supplier.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">wl</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>a whitelist.  If supplied, only properties in
          +this list will be applied to the receiver.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Array | Any</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>arg or arguments to apply to the supplier
          +constructor when initializing.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the augmented object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bind" class="method item">
          +    <h3 class="name"><code>bind</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Function</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l320"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:320</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a function that will execute the supplied function in the
          +supplied object's context, optionally adding any additional
          +supplied parameters to the beginning of the arguments collection the
          +supplied to the function.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to bind, or a function name
          +to execute on the context object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Any</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>0..n arguments to include before the arguments the
          +function is executed with.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Function</span>:
          +                    
          +                    the wrapped function.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_bind" class="method item">
          +    <h3 class="name"><code>bind</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Function</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l320"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:320</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a function that will execute the supplied function in the
          +supplied object's context, optionally adding any additional
          +supplied parameters to the beginning of the arguments collection the
          +supplied to the function.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to bind, or a function name
          +to execute on the context object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Any</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>0..n arguments to include before the arguments the
          +function is executed with.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Function</span>:
          +                    
          +                    the wrapped function.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_clone" class="method item">
          +    <h3 class="name"><code>clone</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>safe</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>owner</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>cloned</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Array | Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l221"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:221</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Deep obj/array copy.  Function clones are actually
          +wrappers around the original function.
          +Array-like objects are treated as arrays.
          +Primitives are returned untouched.  Optionally, a
          +function can be provided to handle other data types,
          +filter keys, validate values, etc.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>what to clone.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">safe</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, objects will not have prototype
          +items from the source.  If false, they will.  In this case, the
          +original is initially protected, but the clone is not completely
          +immune from changes to the source object prototype.  Also, cloned
          +prototype items that are deleted from the clone will result
          +in the value of the source prototype being exposed.  If operating
          +on a non-safe clone, items should be nulled out rather than deleted.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>optional function to apply to each item in a
          +collection; it will be executed prior to applying the value to
          +the new object.  Return false to prevent the copy.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>optional execution context for f.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">owner</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Owner object passed when clone is iterating
          +an object.  Used to set up context for cloned functions.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cloned</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash of previously cloned objects to avoid
          +multiple clones.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Array | Object</span>:
          +                    
          +                    the cloned object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_clone" class="method item">
          +    <h3 class="name"><code>clone</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>safe</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>owner</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>cloned</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Array | Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l221"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:221</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Deep obj/array copy.  Function clones are actually
          +wrappers around the original function.
          +Array-like objects are treated as arrays.
          +Primitives are returned untouched.  Optionally, a
          +function can be provided to handle other data types,
          +filter keys, validate values, etc.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>what to clone.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">safe</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, objects will not have prototype
          +items from the source.  If false, they will.  In this case, the
          +original is initially protected, but the clone is not completely
          +immune from changes to the source object prototype.  Also, cloned
          +prototype items that are deleted from the clone will result
          +in the value of the source prototype being exposed.  If operating
          +on a non-safe clone, items should be nulled out rather than deleted.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>optional function to apply to each item in a
          +collection; it will be executed prior to applying the value to
          +the new object.  Return false to prevent the copy.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>optional execution context for f.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">owner</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Owner object passed when clone is iterating
          +an object.  Used to set up context for cloned functions.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">cloned</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>hash of previously cloned objects to avoid
          +multiple clones.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Array | Object</span>:
          +                    
          +                    the cloned object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_each" class="method item">
          +    <h3 class="name"><code>each</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>proto</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">YUI</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l185"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:185</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Executes the supplied function for each item in
          +a collection.  Supports arrays, objects, and
          +Y.NodeLists</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to iterate.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to execute.  This function
          +receives the value, key, and object as parameters.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context for the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">proto</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, prototype properties are
          +iterated on objects.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">YUI</span>:
          +                    
          +                    the YUI instance.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_each" class="method item">
          +    <h3 class="name"><code>each</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>proto</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">YUI</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l185"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:185</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Executes the supplied function for each item in
          +a collection.  Supports arrays, objects, and
          +Y.NodeLists</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to iterate.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to execute.  This function
          +receives the value, key, and object as parameters.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context for the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">proto</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, prototype properties are
          +iterated on objects.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">YUI</span>:
          +                    
          +                    the YUI instance.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_extend" class="method item">
          +    <h3 class="name"><code>extend</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>px</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>sx</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l144"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:144</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Utility to set up the prototype, constructor and superclass properties to
          +support an inheritance strategy that can chain constructors and methods.
          +Static members will not be inherited.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to modify.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to inherit.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">px</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>prototype properties to add/override.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">sx</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>static properties to add/override.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the extended object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_extend" class="method item">
          +    <h3 class="name"><code>extend</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>r</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>s</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>px</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>sx</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Object</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l144"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:144</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Utility to set up the prototype, constructor and superclass properties to
          +support an inheritance strategy that can chain constructors and methods.
          +Static members will not be inherited.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">r</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to modify.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">s</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to inherit.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">px</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>prototype properties to add/override.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">sx</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>static properties to add/override.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Object</span>:
          +                    
          +                    the extended object.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_rbind" class="method item">
          +    <h3 class="name"><code>rbind</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Function</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l345"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:345</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a function that will execute the supplied function in the
          +supplied object's context, optionally adding any additional
          +supplied parameters to the end of the arguments the function
          +is executed with.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to bind, or a function name
          +to execute on the context object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Any</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>0..n arguments to append to the end of
          +arguments collection supplied to the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Function</span>:
          +                    
          +                    the wrapped function.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_rbind" class="method item">
          +    <h3 class="name"><code>rbind</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>args</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Function</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l345"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:345</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Returns a function that will execute the supplied function in the
          +supplied object's context, optionally adding any additional
          +supplied parameters to the end of the arguments the function
          +is executed with.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function | String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to bind, or a function name
          +to execute on the context object.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">args</code>
          +                        <span class="type">Any</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>0..n arguments to append to the end of
          +arguments collection supplied to the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Function</span>:
          +                    
          +                    the wrapped function.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_some" class="method item">
          +    <h3 class="name"><code>some</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>proto</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Boolean</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l202"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:202</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Executes the supplied function for each item in
          +a collection.  The operation stops if the function
          +returns true. Supports arrays, objects, and
          +Y.NodeLists.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to iterate.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to execute.  This function
          +receives the value, key, and object as parameters.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context for the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">proto</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, prototype properties are
          +iterated on objects.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Boolean</span>:
          +                    
          +                    true if the function ever returns true,
          +false otherwise.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_some" class="method item">
          +    <h3 class="name"><code>some</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>o</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>f</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>c</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>proto</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">Boolean</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test-linked_oop_oop.js.html#l202"><code>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js:202</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Executes the supplied function for each item in
          +a collection.  The operation stops if the function
          +returns true. Supports arrays, objects, and
          +Y.NodeLists.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">o</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object to iterate.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">f</code>
          +                        <span class="type">Function</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the function to execute.  This function
          +receives the value, key, and object as parameters.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">c</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the execution context for the function.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">proto</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>if true, prototype properties are
          +iterated on objects.</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">Boolean</span>:
          +                    
          +                    true if the function ever returns true,
          +false otherwise.
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/index.html
          new file mode 100644
          index 000000000..487fe15b2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/index.html
          @@ -0,0 +1,10 @@
          +<!doctype html>
          +<html>
          +    <head>
          +        <title>Redirector</title>
          +        <meta http-equiv="refresh" content="0;url=../">
          +    </head>
          +    <body>
          +        <a href="../">Click here to redirect</a>
          +    </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/myclass.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/myclass.html
          new file mode 100644
          index 000000000..f66c5f2b9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/myclass.html
          @@ -0,0 +1,1155 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>myclass</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>myclass Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_test.js.html#l32"><code>input&#x2F;test&#x2F;test.js:32</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/mysubmodule.html">mysubmodule</a><br>
          +            Parent Module: <a href="../modules/mymodule.html">mymodule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The class def</p>
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_myclass" class="method item">
          +    <h3 class="name"><code>myclass</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l32"><code>input&#x2F;test&#x2F;test.js:32</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_foo">foo</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_reallyLongParamDesc">reallyLongParamDesc</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_test0ton">test0ton</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_test1ton">test1ton</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_testobjectparam">testobjectparam</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_testoptional">testoptional</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_foo" class="method item">
          +    <h3 class="name"><code>foo</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l104"><code>input&#x2F;test&#x2F;test.js:104</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>This is the description</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                <pre class="code"><code class="prettyprint">    var email = "lsmith@foo-truncated-here.com"
          +</code></pre>
          +            </div>
          +        </div>
          +    
          +</div>
          +
          +                
          +                    <div id="method_reallyLongParamDesc" class="method item">
          +    <h3 class="name"><code>reallyLongParamDesc</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>config</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l79"><code>input&#x2F;test&#x2F;test.js:79</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Testing really long param description paring</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">config</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Object with configuration property name/value pairs. The object can be 
          +used to provide default values for the objects published attributes.</p>
          +
          +<p>
          +The config object can also contain the following non-attribute properties, providing a convenient 
          +way to configure events listeners and plugins for the instance, as part of the constructor call:
          +</p>
          +
          +<dl>
          +    <dt>on</dt>
          +    <dd>An event name to listener function map, to register event listeners for the "on" moment of the event. A constructor convenience property for the <a href="Base.html#method_on">on</a> method.</dd>
          +    <dt>after</dt>
          +    <dd>An event name to listener function map, to register event listeners for the "after" moment of the event. A constructor convenience property for the <a href="Base.html#method_after">after</a> method.</dd>
          +    <dt>bubbleTargets</dt>
          +    <dd>An object, or array of objects, to register as bubble targets for bubbled events fired by this instance. A constructor convenience property for the <a href="EventTarget.html#method_addTarget">addTarget</a> method.</dd>
          +    <dt>plugins</dt>
          +    <dd>A plugin, or array of plugins to be plugged into the instance (see PluginHost's plug method for signature details). A constructor convenience property for the <a href="Plugin.Host.html#method_plug">plug</a> method.</dd>
          +</dl>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_test0ton" class="method item">
          +    <h3 class="name"><code>test0ton</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code class="optional">[optionalandmultiple]</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l65"><code>input&#x2F;test&#x2F;test.js:65</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>test 0..n param</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name optional">[optionalandmultiple]</code>
          +                        <span class="type">String</span>
          +                        <span class="flag optional" title="This parameter is optional.">optional</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    something without a type
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_test1ton" class="method item">
          +    <h3 class="name"><code>test1ton</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>multiple</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l72"><code>input&#x2F;test&#x2F;test.js:72</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>test 1..n param</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">multiple</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    something without a type
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_testobjectparam" class="method item">
          +    <h3 class="name"><code>testobjectparam</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>anobject</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type">String</span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l56"><code>input&#x2F;test&#x2F;test.js:56</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>test object param</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">anobject</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>the object</p>
          +                    </div>
          +
          +                    
          +                        <ul class="params-list">
          +                            
          +                            <li class="param">
          +                                
          +                                    <code class="param-name">prop1</code>
          +                                    <span class="type">String</span>
          +                                
          +
          +                                <div class="param-description">
          +                                    <p>prop1</p>
          +                                </div>
          +
          +                                
          +                            </li>
          +                            
          +                            <li class="param">
          +                                
          +                                    <code class="param-name">prop2</code>
          +                                    <span class="type">Bool</span>
          +                                
          +
          +                                <div class="param-description">
          +                                    <p>prop2</p>
          +                                </div>
          +
          +                                
          +                            </li>
          +                            
          +                        </ul>
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                        <span class="type">String</span>:
          +                    
          +                    something with a type
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="method_testoptional" class="method item">
          +    <h3 class="name"><code>testoptional</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>notype</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>namesecond</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code>namefirst</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code class="optional">[optionalvar]</code>
          +                    
          +                </li>
          +            
          +                <li class="arg">
          +                    
          +                        <code class="optional">[optionalwithdefault=&quot;defaultval&quot;]</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +        <span class="returns-inline">
          +            <span class="type"></span>
          +        </span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_test_test.js.html#l38"><code>input&#x2F;test&#x2F;test.js:38</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>test optional</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">notype</code>
          +                        <span class="type">Object</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">namesecond</code>
          +                        <span class="type">Int</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">namefirst</code>
          +                        <span class="type">String</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name optional">[optionalvar]</code>
          +                        <span class="type">Bool</span>
          +                        <span class="flag optional" title="This parameter is optional.">optional</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name optional">[optionalwithdefault=&quot;defaultval&quot;]</code>
          +                        <span class="type">String</span>
          +                        <span class="flag optional" title="This parameter is optional.">optional</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>my desc</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                
          +                    
          +                    something without a type
          +                
          +            </div>
          +        </div>
          +    
          +
          +    
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                <pre class="code"><code class="prettyprint"> This is code
          +</code></pre><pre class="code"><code class="prettyprint"> var = 'This is more code';
          + document.title = 'Test This';
          +</code></pre>
          +            </div>
          +        </div>
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget.html
          new file mode 100644
          index 000000000..532d53e4b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget.html
          @@ -0,0 +1,817 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>mywidget.SubWidget</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>mywidget.SubWidget Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +        <div class="extends">
          +            Extends <a href="../classes/mywidget.SuperWidget.html" class="crosslink">mywidget.SuperWidget</a>
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l72"><code>input&#x2F;inherit&#x2F;examplemodule.js:72</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/ExampleModule.html">ExampleModule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Subclass description.</p>
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_mywidget.SubWidget" class="method item">
          +    <h3 class="name"><code>mywidget.SubWidget</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l72"><code>input&#x2F;inherit&#x2F;examplemodule.js:72</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +            <li class="api-class-tab events"><a href="#events">Events</a></li>
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods extends">
          +                        
          +                            <li class="index-item method inherited">
          +                                <a href="#method_getTargets2">getTargets2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method inherited">
          +                                <a href="#method_myMethod">myMethod</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties extends">
          +                        
          +                            <li class="index-item property inherited">
          +                                <a href="#property_name2">name2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs extends">
          +                        
          +                            <li class="index-item attr inherited">
          +                                <a href="#attr_focused2">focused2</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr inherited">
          +                                <a href="#attr_focused3">focused3</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section events">
          +                    <h3>Events</h3>
          +
          +                    <ul class="index-list events extends">
          +                        
          +                            <li class="index-item event inherited">
          +                                <a href="#event_init2">init2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_getTargets2" class="method item inherited">
          +    <h3 class="name"><code>getTargets2</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                <p>Inherited from
          +                <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#method_getTargets2">mywidget.SuperWidget</a>:
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l35"><code>input&#x2F;inherit&#x2F;examplemodule.js:35</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Overwritten method see <a href="../classes/mywidget.SuperWidget.html" class="crosslink">mywidget.SuperWidget</a>
          +also see <a href="../classes/mywidget.SuperWidget.html#method_myMethod" class="crosslink">myMethod</a>
          +This is also a test DAVGLASS_WAS_HERE::Foo</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                <pre class="code"><code class="prettyprint">var bar;
          +</code></pre>
          +            </div>
          +        </div>
          +    
          +</div>
          +
          +                
          +                    <div id="method_myMethod" class="method item">
          +    <h3 class="name"><code>myMethod</code></h3>
          +
          +    
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            
          +                <li class="arg">
          +                    
          +                        <code>d</code>
          +                    
          +                </li>
          +            
          +            </ul><span class="paren">)</span>
          +        </div>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            <p>Inherited from
          +            <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#method_myMethod">
          +                mywidget.SuperWidget
          +            </a>
          +            
          +            but overwritten in
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l82"><code>input&#x2F;inherit&#x2F;examplemodule.js:82</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Submethod description.</p>
          +    </div>
          +
          +    
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            
          +                <li class="param">
          +                    
          +                        <code class="param-name">d</code>
          +                        <span class="type">Boolean</span>
          +                    
          +
          +                    
          +
          +                    <div class="param-description">
          +                        <p>Foo</p>
          +                    </div>
          +
          +                    
          +                </li>
          +            
          +            </ul>
          +        </div>
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property_name2" class="property item inherited">
          +    <h3 class="name"><code>name2</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                <p>Inherited from
          +                <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#property_name2">mywidget.SuperWidget</a>:
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l57"><code>input&#x2F;inherit&#x2F;examplemodule.js:57</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Property</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_focused2" class="attr item inherited">
          +    <a name="config_focused2"></a> 
          +    <h3 class="name"><code>focused2</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag optional">optional</span>
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                <p>Inherited from
          +                <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#attr_focused2">mywidget.SuperWidget</a>:
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l45"><code>input&#x2F;inherit&#x2F;examplemodule.js:45</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_focused3" class="attr item inherited">
          +    <a name="config_focused3"></a> 
          +    <h3 class="name"><code>focused3</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag required">required</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                <p>Inherited from
          +                <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#attr_focused3">mywidget.SuperWidget</a>:
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l51"><code>input&#x2F;inherit&#x2F;examplemodule.js:51</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="events" class="api-class-tabpanel">
          +                <h2 class="off-left">Events</h2>
          +
          +                
          +                    <div id="event_init2" class="events item inherited">
          +    <h3 class="name"><code>init2</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                <p>Inherited from
          +                <a href="..&#x2F;classes&#x2F;mywidget.SuperWidget.html#event_init2">mywidget.SuperWidget</a>:
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l63"><code>input&#x2F;inherit&#x2F;examplemodule.js:63</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Event</p>
          +    </div>
          +
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget2.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget2.html
          new file mode 100644
          index 000000000..049fcc045
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SubWidget2.html
          @@ -0,0 +1,391 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>mywidget.SubWidget2</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>mywidget.SubWidget2 Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +        <div class="extends">
          +            Extends Accordion
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l94"><code>input&#x2F;inherit&#x2F;examplemodule.js:94</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/ExampleModule.html">ExampleModule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Subclass description.</p>
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_mywidget.SubWidget2" class="method item">
          +    <h3 class="name"><code>mywidget.SubWidget2</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l94"><code>input&#x2F;inherit&#x2F;examplemodule.js:94</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +        
          +        
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +
          +            
          +
          +            
          +
          +            
          +        </div>
          +
          +        
          +
          +        
          +
          +        
          +
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SuperWidget.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SuperWidget.html
          new file mode 100644
          index 000000000..38f29f9d9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/classes/mywidget.SuperWidget.html
          @@ -0,0 +1,810 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>mywidget.SuperWidget</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>mywidget.SuperWidget Class</h1>
          +<div class="box meta">
          +    
          +
          +    
          +        <div class="extends">
          +            Extends Widget
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l13"><code>input&#x2F;inherit&#x2F;examplemodule.js:13</code></a>
          +        </div>
          +    
          +
          +    
          +        
          +            Module: <a href="../modules/ExampleModule.html">ExampleModule</a>
          +        
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p><b>Superclass</b> description.<br>This is a second line too.</p>
          +</div>
          +
          +
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        <div id="method_mywidget.SuperWidget" class="method item">
          +    <h3 class="name"><code>mywidget.SuperWidget</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l13"><code>input&#x2F;inherit&#x2F;examplemodule.js:13</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                <pre class="code"><code class="prettyprint">var bar;
          +</code></pre>
          +            </div>
          +        </div>
          +    
          +</div>
          +
          +    </div>
          +
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        
          +        
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        
          +        
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        
          +        
          +            <li class="api-class-tab events"><a href="#events">Events</a></li>
          +        
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods extends">
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_getTargets2">getTargets2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                            <li class="index-item method">
          +                                <a href="#method_myMethod">myMethod</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties extends">
          +                        
          +                            <li class="index-item property">
          +                                <a href="#property_name2">name2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs extends">
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_focused2">focused2</a>
          +                            </li>
          +                        
          +                            <li class="index-item attr">
          +                                <a href="#attr_focused3">focused3</a>
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +
          +            
          +                <div class="index-section events">
          +                    <h3>Events</h3>
          +
          +                    <ul class="index-list events extends">
          +                        
          +                            <li class="index-item event">
          +                                <a href="#event_init2">init2</a>
          +
          +                                
          +                                
          +                            </li>
          +                        
          +                    </ul>
          +                </div>
          +            
          +        </div>
          +
          +        
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                
          +                    <div id="method_getTargets2" class="method item">
          +    <h3 class="name"><code>getTargets2</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l35"><code>input&#x2F;inherit&#x2F;examplemodule.js:35</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Overwritten method see <a href="../classes/mywidget.SuperWidget.html" class="crosslink">mywidget.SuperWidget</a>
          +also see <a href="../classes/mywidget.SuperWidget.html#method_myMethod" class="crosslink">myMethod</a>
          +This is also a test DAVGLASS_WAS_HERE::Foo</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                <pre class="code"><code class="prettyprint">var bar;
          +</code></pre>
          +            </div>
          +        </div>
          +    
          +</div>
          +
          +                
          +                    <div id="method_myMethod" class="method item">
          +    <h3 class="name"><code>myMethod</code></h3>
          +
          +    
          +        <span class="paren">()</span>
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag async">async</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l27"><code>input&#x2F;inherit&#x2F;examplemodule.js:27</code></a>
          +        
          +        </p>
          +
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p><b>Supermethod</b> description.<br>This is a second line.</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                
          +                    <div id="property_name2" class="property item">
          +    <h3 class="name"><code>name2</code></h3>
          +    <span class="type">String</span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l57"><code>input&#x2F;inherit&#x2F;examplemodule.js:57</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Property</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                
          +                    <div id="attr_focused2" class="attr item">
          +    <a name="config_focused2"></a> 
          +    <h3 class="name"><code>focused2</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag optional">optional</span>
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l45"><code>input&#x2F;inherit&#x2F;examplemodule.js:45</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +                    <div id="attr_focused3" class="attr item">
          +    <a name="config_focused3"></a> 
          +    <h3 class="name"><code>focused3</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +        <span class="flag required">required</span>
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l51"><code>input&#x2F;inherit&#x2F;examplemodule.js:51</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Attribute</p>
          +    </div>
          +
          +    
          +
          +    
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +
          +        
          +            <div id="events" class="api-class-tabpanel">
          +                <h2 class="off-left">Events</h2>
          +
          +                
          +                    <div id="event_init2" class="events item">
          +    <h3 class="name"><code>init2</code></h3>
          +    <span class="type"></span>
          +
          +    
          +
          +    
          +
          +    
          +
          +    
          +
          +    <div class="meta">
          +        
          +            
          +                
          +                <p>
          +                
          +                Defined in
          +                
          +            
          +        
          +        
          +        <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l63"><code>input&#x2F;inherit&#x2F;examplemodule.js:63</code></a>
          +        
          +        </p>
          +
          +        
          +
          +        
          +    </div>
          +
          +    <div class="description">
          +        <p>Override Event</p>
          +    </div>
          +
          +    
          +
          +
          +    
          +</div>
          +
          +                
          +            </div>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/data.json b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/data.json
          new file mode 100644
          index 000000000..66c900b0c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/data.json
          @@ -0,0 +1,12476 @@
          +{
          +    "project": {
          +        "file": "input/test/test.js",
          +        "line": 2,
          +        "description": "The test project",
          +        "title": "The Tester",
          +        "icon": [
          +            "http://a.img"
          +        ],
          +        "url": [
          +            "http://one.url",
          +            "http://two.url"
          +        ],
          +        "author": "admo",
          +        "contributor": "entropy"
          +    },
          +    "files": {
          +        "input/charts/AreaSeries.js": {
          +            "name": "input/charts/AreaSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "AreaSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/AreaSplineSeries.js": {
          +            "name": "input/charts/AreaSplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "AreaSplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Axis.js": {
          +            "name": "input/charts/Axis.js",
          +            "modules": {},
          +            "classes": {
          +                "Axis": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/AxisType.js": {
          +            "name": "input/charts/AxisType.js",
          +            "modules": {},
          +            "classes": {
          +                "AxisType": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/BarSeries.js": {
          +            "name": "input/charts/BarSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "BarSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/BottomAxisLayout.js": {
          +            "name": "input/charts/BottomAxisLayout.js",
          +            "modules": {},
          +            "classes": {
          +                "BottomAxisLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CartesianChart.js": {
          +            "name": "input/charts/CartesianChart.js",
          +            "modules": {},
          +            "classes": {
          +                "CartesianChart": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CartesianChartLegend.js": {
          +            "name": "input/charts/CartesianChartLegend.js",
          +            "modules": {
          +                "charts-legend": 1
          +            },
          +            "classes": {
          +                "HorizontalLegendLayout": 1,
          +                "VerticalLegendLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CartesianSeries.js": {
          +            "name": "input/charts/CartesianSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "CartesianSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CategoryAxis.js": {
          +            "name": "input/charts/CategoryAxis.js",
          +            "modules": {},
          +            "classes": {
          +                "CategoryAxis": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Chart.js": {
          +            "name": "input/charts/Chart.js",
          +            "modules": {},
          +            "classes": {
          +                "Chart": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ChartBase.js": {
          +            "name": "input/charts/ChartBase.js",
          +            "modules": {},
          +            "classes": {
          +                "ChartBase": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ChartLegend.js": {
          +            "name": "input/charts/ChartLegend.js",
          +            "modules": {},
          +            "classes": {
          +                "ChartLegend": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CircleGroup.js": {
          +            "name": "input/charts/CircleGroup.js",
          +            "modules": {},
          +            "classes": {
          +                "GroupCircle": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ColumnSeries.js": {
          +            "name": "input/charts/ColumnSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "ColumnSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ComboSeries.js": {
          +            "name": "input/charts/ComboSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "ComboSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ComboSplineSeries.js": {
          +            "name": "input/charts/ComboSplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "ComboSplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/CurveUtil.js": {
          +            "name": "input/charts/CurveUtil.js",
          +            "modules": {},
          +            "classes": {
          +                "CurveUtil": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/DiamondGroup.js": {
          +            "name": "input/charts/DiamondGroup.js",
          +            "modules": {},
          +            "classes": {
          +                "GroupDiamond": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/EllipseGroup.js": {
          +            "name": "input/charts/EllipseGroup.js",
          +            "modules": {},
          +            "classes": {
          +                "EllipseGroup": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Fills.js": {
          +            "name": "input/charts/Fills.js",
          +            "modules": {},
          +            "classes": {
          +                "Fills": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Graph.js": {
          +            "name": "input/charts/Graph.js",
          +            "modules": {},
          +            "classes": {
          +                "Graph": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Gridlines.js": {
          +            "name": "input/charts/Gridlines.js",
          +            "modules": {},
          +            "classes": {
          +                "Gridlines": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Histogram.js": {
          +            "name": "input/charts/Histogram.js",
          +            "modules": {},
          +            "classes": {
          +                "Histogram": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/LeftAxisLayout.js": {
          +            "name": "input/charts/LeftAxisLayout.js",
          +            "modules": {},
          +            "classes": {
          +                "LeftAxisLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/LineSeries.js": {
          +            "name": "input/charts/LineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "LineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Lines.js": {
          +            "name": "input/charts/Lines.js",
          +            "modules": {},
          +            "classes": {
          +                "Lines": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/MarkerSeries.js": {
          +            "name": "input/charts/MarkerSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "MarkerSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/NumericAxis.js": {
          +            "name": "input/charts/NumericAxis.js",
          +            "modules": {},
          +            "classes": {
          +                "NumericAxis": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/PieChart.js": {
          +            "name": "input/charts/PieChart.js",
          +            "modules": {},
          +            "classes": {
          +                "PieChart": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/PieChartLegend.js": {
          +            "name": "input/charts/PieChartLegend.js",
          +            "modules": {},
          +            "classes": {},
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/PieSeries.js": {
          +            "name": "input/charts/PieSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "PieSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Plots.js": {
          +            "name": "input/charts/Plots.js",
          +            "modules": {},
          +            "classes": {
          +                "Plots": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/RectGroup.js": {
          +            "name": "input/charts/RectGroup.js",
          +            "modules": {},
          +            "classes": {
          +                "GroupRect": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/Renderer.js": {
          +            "name": "input/charts/Renderer.js",
          +            "modules": {},
          +            "classes": {
          +                "Renderer": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/RightAxisLayout.js": {
          +            "name": "input/charts/RightAxisLayout.js",
          +            "modules": {},
          +            "classes": {
          +                "RightAxisLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/ShapeGroup.js": {
          +            "name": "input/charts/ShapeGroup.js",
          +            "modules": {
          +                "charts": 1,
          +                "graphics": 1
          +            },
          +            "classes": {
          +                "ShapeGroup": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/SplineSeries.js": {
          +            "name": "input/charts/SplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "SplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedAreaSeries.js": {
          +            "name": "input/charts/StackedAreaSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedAreaSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedAreaSplineSeries.js": {
          +            "name": "input/charts/StackedAreaSplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedAreaSplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedAxis.js": {
          +            "name": "input/charts/StackedAxis.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedAxis": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedBarSeries.js": {
          +            "name": "input/charts/StackedBarSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedBarSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedColumnSeries.js": {
          +            "name": "input/charts/StackedColumnSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedColumnSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedComboSeries.js": {
          +            "name": "input/charts/StackedComboSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedComboSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedComboSplineSeries.js": {
          +            "name": "input/charts/StackedComboSplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedComboSplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedLineSeries.js": {
          +            "name": "input/charts/StackedLineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedLineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedMarkerSeries.js": {
          +            "name": "input/charts/StackedMarkerSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedMarkerSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackedSplineSeries.js": {
          +            "name": "input/charts/StackedSplineSeries.js",
          +            "modules": {},
          +            "classes": {
          +                "StackedSplineSeries": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/StackingUtil.js": {
          +            "name": "input/charts/StackingUtil.js",
          +            "modules": {},
          +            "classes": {
          +                "StackingUtil": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/TimeAxis.js": {
          +            "name": "input/charts/TimeAxis.js",
          +            "modules": {},
          +            "classes": {
          +                "TimeAxis": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/charts/TopAxisLayout.js": {
          +            "name": "input/charts/TopAxisLayout.js",
          +            "modules": {},
          +            "classes": {
          +                "TopAxisLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/inherit/examplemodule.js": {
          +            "name": "input/inherit/examplemodule.js",
          +            "modules": {
          +                "ExampleModule": 1
          +            },
          +            "classes": {
          +                "mywidget.SuperWidget": 1,
          +                "mywidget.SubWidget": 1,
          +                "mywidget.SubWidget2": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "mywidget": 1
          +            }
          +        },
          +        "input/json/parse.js": {
          +            "name": "input/json/parse.js",
          +            "modules": {
          +                "json": 1,
          +                "json-parse": 1
          +            },
          +            "classes": {
          +                "JSON": 1
          +            },
          +            "fors": {
          +                "JSON": 1
          +            },
          +            "namespaces": {}
          +        },
          +        "input/json/stringify.js": {
          +            "name": "input/json/stringify.js",
          +            "modules": {
          +                "json-stringify": 1
          +            },
          +            "classes": {},
          +            "fors": {
          +                "JSON": 1
          +            },
          +            "namespaces": {}
          +        },
          +        "input/namespace/ns.js": {
          +            "name": "input/namespace/ns.js",
          +            "modules": {
          +                "foobar": 1
          +            },
          +            "classes": {
          +                "Foo.Bar": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "Foo": 1,
          +                "Foo.Bar": 1
          +            }
          +        },
          +        "input/test/anim.js": {
          +            "name": "input/test/anim.js",
          +            "modules": {
          +                "anim": 1
          +            },
          +            "classes": {
          +                "Anim": 1,
          +                "Easing": 1,
          +                "EasingFoo": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test/test.js": {
          +            "name": "input/test/test.js",
          +            "modules": {
          +                "mymodule": 1,
          +                "mysubmodule": 1
          +            },
          +            "classes": {
          +                "myclass": 1,
          +                "OtherClass": 1,
          +                "OtherClass2": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test-linked/dump/dump.js": {
          +            "name": "input/test-linked/dump/dump.js",
          +            "modules": {},
          +            "classes": {},
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test-linked/oop/oop.js": {
          +            "name": "input/test-linked/oop/oop.js",
          +            "modules": {},
          +            "classes": {},
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test-linked/namespace.js": {
          +            "name": "input/test-linked/namespace.js",
          +            "modules": {},
          +            "classes": {},
          +            "fors": {},
          +            "namespaces": {
          +                "P.storage": 1,
          +                "P": 1
          +            }
          +        },
          +        "input/test-linked/slashes.js": {
          +            "name": "input/test-linked/slashes.js",
          +            "modules": {},
          +            "classes": {},
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test2/dump/dump.js": {
          +            "name": "input/test2/dump/dump.js",
          +            "modules": {
          +                "dump": 1
          +            },
          +            "classes": {
          +                "YUI~dump": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test2/oop/oop.js": {
          +            "name": "input/test2/oop/oop.js",
          +            "modules": {
          +                "oop": 1
          +            },
          +            "classes": {
          +                "YUI~oop": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        },
          +        "input/test2/namespace.js": {
          +            "name": "input/test2/namespace.js",
          +            "modules": {
          +                "P.storage": 1
          +            },
          +            "classes": {
          +                "P.storage.Store": 1,
          +                "P.storage.LocalStore": 1,
          +                "P.storage": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "P.storage": 1,
          +                "P": 1
          +            }
          +        },
          +        "input/test2/slashes.js": {
          +            "name": "input/test2/slashes.js",
          +            "modules": {
          +                "myapp/views/index": 1
          +            },
          +            "classes": {
          +                "Main": 1
          +            },
          +            "fors": {},
          +            "namespaces": {}
          +        }
          +    },
          +    "modules": {
          +        "charts": {
          +            "name": "charts",
          +            "submodules": {
          +                "charts-legend": 1
          +            },
          +            "classes": {
          +                "AreaSeries": 1,
          +                "AreaSplineSeries": 1,
          +                "Axis": 1,
          +                "AxisType": 1,
          +                "BarSeries": 1,
          +                "BottomAxisLayout": 1,
          +                "CartesianChart": 1,
          +                "HorizontalLegendLayout": 1,
          +                "VerticalLegendLayout": 1,
          +                "CartesianSeries": 1,
          +                "CategoryAxis": 1,
          +                "Chart": 1,
          +                "ChartBase": 1,
          +                "ChartLegend": 1,
          +                "ColumnSeries": 1,
          +                "ComboSeries": 1,
          +                "ComboSplineSeries": 1,
          +                "CurveUtil": 1,
          +                "Fills": 1,
          +                "Graph": 1,
          +                "Gridlines": 1,
          +                "Histogram": 1,
          +                "LeftAxisLayout": 1,
          +                "LineSeries": 1,
          +                "Lines": 1,
          +                "MarkerSeries": 1,
          +                "NumericAxis": 1,
          +                "PieChart": 1,
          +                "PieSeries": 1,
          +                "Plots": 1,
          +                "Renderer": 1,
          +                "RightAxisLayout": 1,
          +                "SplineSeries": 1,
          +                "StackedAreaSeries": 1,
          +                "StackedAreaSplineSeries": 1,
          +                "StackedAxis": 1,
          +                "StackedBarSeries": 1,
          +                "StackedColumnSeries": 1,
          +                "StackedComboSeries": 1,
          +                "StackedComboSplineSeries": 1,
          +                "StackedLineSeries": 1,
          +                "StackedMarkerSeries": 1,
          +                "StackedSplineSeries": 1,
          +                "StackingUtil": 1,
          +                "TimeAxis": 1,
          +                "TopAxisLayout": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "main",
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 1,
          +            "description": "The Charts widget provides an api for displaying data\ngraphically.",
          +            "extends": "CartesianSeries",
          +            "uses": [
          +                "Fills"
          +            ],
          +            "is_constructor": 1,
          +            "params": [
          +                {
          +                    "name": "config",
          +                    "description": "(optional) Configuration parameters for the Chart.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "itemtype": "main"
          +        },
          +        "charts-legend": {
          +            "name": "charts-legend",
          +            "submodules": {},
          +            "classes": {
          +                "HorizontalLegendLayout": 1,
          +                "VerticalLegendLayout": 1,
          +                "ChartLegend": 1
          +            },
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 1,
          +            "description": "Adds legend functionality to charts."
          +        },
          +        "graphics": {
          +            "name": "graphics",
          +            "submodules": {},
          +            "classes": {
          +                "GroupCircle": 1,
          +                "GroupDiamond": 1,
          +                "EllipseGroup": 1,
          +                "GroupRect": 1,
          +                "ShapeGroup": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/charts/ShapeGroup.js",
          +            "line": 25,
          +            "description": "Abstract class for creating groups of shapes with the same styles and dimensions.",
          +            "is_constructor": 1
          +        },
          +        "ExampleModule": {
          +            "name": "ExampleModule",
          +            "submodules": {},
          +            "classes": {
          +                "mywidget.SuperWidget": 1,
          +                "mywidget.SubWidget": 1,
          +                "mywidget.SubWidget2": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "mywidget": 1
          +            },
          +            "tag": "module",
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 94,
          +            "description": "This is my example module",
          +            "example": [
          +                "\n\n    var bar;\n"
          +            ]
          +        },
          +        "json": {
          +            "name": "json",
          +            "submodules": {
          +                "json-parse": 1,
          +                "json-stringify": 1
          +            },
          +            "classes": {
          +                "JSON": 1
          +            },
          +            "fors": {
          +                "JSON": 1
          +            },
          +            "namespaces": {
          +                "Foo": 1
          +            },
          +            "tag": "main",
          +            "file": "input/json/parse.js",
          +            "line": 1,
          +            "description": "<p>The JSON module adds support for serializing JavaScript objects into\nJSON strings and parsing JavaScript objects from strings in JSON format.</p>\n\n<p>The JSON namespace is added to your YUI instance including static methods\nY.JSON.parse(..) and Y.JSON.stringify(..).</p>\n\n<p>The functionality and method signatures follow the ECMAScript 5\nspecification.  In browsers with native JSON support, the native\nimplementation is used.</p>\n\n<p>The <code>json</code> module is a rollup of <code>json-parse</code> and\n<code>json-stringify</code>.</p>\n\n<p>As their names suggest, <code>json-parse</code> adds support for parsing\nJSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing\nJavaScript data into JSON strings (Y.JSON.stringify).  You may choose to\ninclude either of the submodules individually if you don't need the\ncomplementary functionality, or include the rollup for both.</p>",
          +            "itemtype": "main"
          +        },
          +        "json-parse": {
          +            "name": "json-parse",
          +            "submodules": {},
          +            "classes": {
          +                "JSON": 1
          +            },
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "json",
          +            "namespace": "",
          +            "file": "input/json/parse.js",
          +            "line": 1,
          +            "description": "Provides Y.JSON.parse method to accept JSON strings and return native\nJavaScript objects.",
          +            "static": 1
          +        },
          +        "json-stringify": {
          +            "name": "json-stringify",
          +            "submodules": {},
          +            "classes": {},
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "json",
          +            "namespace": "",
          +            "file": "input/json/stringify.js",
          +            "line": 1,
          +            "description": "Provides Y.JSON.stringify method for converting objects to JSON strings.",
          +            "static": 1
          +        },
          +        "foobar": {
          +            "name": "foobar",
          +            "submodules": {},
          +            "classes": {
          +                "Foo.Bar": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "Foo.Bar": 1
          +            },
          +            "tag": "main",
          +            "file": "input/namespace/ns.js",
          +            "line": 1,
          +            "description": "Test Class",
          +            "itemtype": "main"
          +        },
          +        "anim": {
          +            "name": "anim",
          +            "submodules": {
          +                "anim-easing": 1,
          +                "anim-easing-foo": 1
          +            },
          +            "classes": {
          +                "Anim": 1,
          +                "Easing": 1,
          +                "EasingFoo": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/test/anim.js",
          +            "line": 20,
          +            "description": "This is the Anim MODULE description",
          +            "itemtype": "main"
          +        },
          +        "anim-easing": {
          +            "name": "anim-easing",
          +            "submodules": {},
          +            "classes": {
          +                "Easing": 1
          +            },
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "anim",
          +            "namespace": "",
          +            "description": "The easing module provides methods for customizing\nhow an animation behaves during each run.",
          +            "file": "input/test/anim.js",
          +            "line": 12
          +        },
          +        "anim-easing-foo": {
          +            "name": "anim-easing-foo",
          +            "submodules": {},
          +            "classes": {
          +                "EasingFoo": 1
          +            },
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "anim",
          +            "namespace": "",
          +            "description": "FOO FOO FOO FOO FOO The easing module provides methods for customizing",
          +            "file": "input/test/anim.js",
          +            "line": 20
          +        },
          +        "mymodule": {
          +            "name": "mymodule",
          +            "submodules": {
          +                "mysubmodule": 1
          +            },
          +            "classes": {
          +                "myclass": 1,
          +                "OtherClass": 1,
          +                "OtherClass2": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/test/test.js",
          +            "line": 120,
          +            "description": "The module",
          +            "category": [
          +                "one",
          +                "two",
          +                "three"
          +            ],
          +            "requires": [
          +                "one",
          +                "two"
          +            ],
          +            "uses": [
          +                "three",
          +                "four"
          +            ]
          +        },
          +        "mysubmodule": {
          +            "name": "mysubmodule",
          +            "submodules": {},
          +            "classes": {
          +                "myclass": 1,
          +                "OtherClass": 1,
          +                "OtherClass2": 1
          +            },
          +            "fors": {},
          +            "is_submodule": 1,
          +            "namespaces": {},
          +            "module": "mymodule",
          +            "namespace": "",
          +            "file": "input/test/test.js",
          +            "line": 120,
          +            "description": "The submodule",
          +            "category": [
          +                "three",
          +                "four"
          +            ]
          +        },
          +        "dump": {
          +            "name": "dump",
          +            "submodules": {},
          +            "classes": {
          +                "YUI~dump": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/test2/dump/dump.js",
          +            "line": 18,
          +            "description": "Returns a simple string representation of the object or array.\nOther types of objects will be returned unprocessed.  Arrays\nare expected to be indexed.  Use object notation for\nassociative arrays.\n\nIf included, the dump method is added to the YUI instance."
          +        },
          +        "oop": {
          +            "name": "oop",
          +            "submodules": {},
          +            "classes": {
          +                "YUI~oop": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/test2/oop/oop.js",
          +            "line": 9,
          +            "description": "Supplies object inheritance and manipulation utilities.  This adds\nadditional functionaity to what is provided in yui-base, and the\nmethods are applied directly to the YUI instance.  This module\nis required for most YUI components."
          +        },
          +        "P.storage": {
          +            "name": "P.storage",
          +            "submodules": {},
          +            "classes": {
          +                "P.storage.Store": 1,
          +                "P.storage.LocalStore": 1,
          +                "P.storage": 1
          +            },
          +            "fors": {},
          +            "namespaces": {
          +                "P.storage": 1,
          +                "P": 1
          +            },
          +            "tag": "module",
          +            "file": "input/test2/namespace.js",
          +            "line": 20
          +        },
          +        "myapp/views/index": {
          +            "name": "myapp/views/index",
          +            "submodules": {},
          +            "classes": {
          +                "Main": 1
          +            },
          +            "fors": {},
          +            "namespaces": {},
          +            "tag": "module",
          +            "file": "input/test2/slashes.js",
          +            "line": 6,
          +            "description": "This is a module with slashes in the name"
          +        }
          +    },
          +    "classes": {
          +        "AreaSeries": {
          +            "name": "AreaSeries",
          +            "shortname": "AreaSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 1,
          +            "description": "The AreaSeries class renders quantitative data on a graph by creating a fill between 0\nand the relevant data points."
          +        },
          +        "AreaSplineSeries": {
          +            "name": "AreaSplineSeries",
          +            "shortname": "AreaSplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/AreaSplineSeries.js",
          +            "line": 1,
          +            "description": "AreaSplineSeries renders an area graph with data points connected by a curve."
          +        },
          +        "Axis": {
          +            "name": "Axis",
          +            "shortname": "Axis",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Axis.js",
          +            "line": 1,
          +            "description": "The Axis class. Generates axes for a chart."
          +        },
          +        "AxisType": {
          +            "name": "AxisType",
          +            "shortname": "AxisType",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/AxisType.js",
          +            "line": 1,
          +            "description": "AxisType is an abstract class that manages the data for an axis."
          +        },
          +        "BarSeries": {
          +            "name": "BarSeries",
          +            "shortname": "BarSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/BarSeries.js",
          +            "line": 1,
          +            "description": "The BarSeries class renders bars positioned vertically along a category or time axis. The bars'\nlengths are proportional to the values they represent along a horizontal axis.\nand the relevant data points."
          +        },
          +        "BottomAxisLayout": {
          +            "name": "BottomAxisLayout",
          +            "shortname": "BottomAxisLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 1,
          +            "description": "Contains algorithms for rendering a bottom axis."
          +        },
          +        "CartesianChart": {
          +            "name": "CartesianChart",
          +            "shortname": "CartesianChart",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1,
          +            "description": "The CartesianChart class creates a chart with horizontal and vertical axes."
          +        },
          +        "HorizontalLegendLayout": {
          +            "name": "HorizontalLegendLayout",
          +            "shortname": "HorizontalLegendLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "submodule": "charts-legend",
          +            "namespace": "",
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 48,
          +            "description": "Contains methods for displaying items horizontally in a legend."
          +        },
          +        "VerticalLegendLayout": {
          +            "name": "VerticalLegendLayout",
          +            "shortname": "VerticalLegendLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "submodule": "charts-legend",
          +            "namespace": "",
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 207,
          +            "description": "Contains methods for displaying items vertically in a legend."
          +        },
          +        "CartesianSeries": {
          +            "name": "CartesianSeries",
          +            "shortname": "CartesianSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 1,
          +            "description": "The CartesianSeries class creates a chart with horizontal and vertical axes."
          +        },
          +        "CategoryAxis": {
          +            "name": "CategoryAxis",
          +            "shortname": "CategoryAxis",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 1,
          +            "description": "CategoryAxis manages category data on an axis."
          +        },
          +        "Chart": {
          +            "name": "Chart",
          +            "shortname": "Chart",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Chart.js",
          +            "line": 1,
          +            "description": "The Chart class is the basic application used to create a chart."
          +        },
          +        "ChartBase": {
          +            "name": "ChartBase",
          +            "shortname": "ChartBase",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ChartBase.js",
          +            "line": 1,
          +            "description": "The ChartBase class is an abstract class used to create charts."
          +        },
          +        "ChartLegend": {
          +            "name": "ChartLegend",
          +            "shortname": "ChartLegend",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 1,
          +            "description": "ChartLegend provides a legend for a chart.",
          +            "submodule": "charts-legend",
          +            "extends": "Widget"
          +        },
          +        "GroupCircle": {
          +            "name": "GroupCircle",
          +            "shortname": "GroupCircle",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "graphics",
          +            "namespace": "",
          +            "file": "input/charts/CircleGroup.js",
          +            "line": 1,
          +            "description": "Abstract class for creating groups of circles with the same styles and dimensions."
          +        },
          +        "ColumnSeries": {
          +            "name": "ColumnSeries",
          +            "shortname": "ColumnSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ColumnSeries.js",
          +            "line": 1,
          +            "description": "The ColumnSeries class renders columns positioned horizontally along a category or time axis. The columns'\nlengths are proportional to the values they represent along a vertical axis.\nand the relevant data points."
          +        },
          +        "ComboSeries": {
          +            "name": "ComboSeries",
          +            "shortname": "ComboSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 1,
          +            "description": "The ComboSeries class renders a combination of lines, plots and area fills in a single series. Each\nseries type has a corresponding boolean attribute indicating if it is rendered. By default, lines and plots \nare rendered and area is not."
          +        },
          +        "ComboSplineSeries": {
          +            "name": "ComboSplineSeries",
          +            "shortname": "ComboSplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/ComboSplineSeries.js",
          +            "line": 1,
          +            "description": "The ComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Each\nseries type has a corresponding boolean attribute indicating if it is rendered. By default, splines and plots \nare rendered and areaspline is not."
          +        },
          +        "CurveUtil": {
          +            "name": "CurveUtil",
          +            "shortname": "CurveUtil",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/CurveUtil.js",
          +            "line": 1,
          +            "description": "Utility class used for calculating curve points."
          +        },
          +        "GroupDiamond": {
          +            "name": "GroupDiamond",
          +            "shortname": "GroupDiamond",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "graphics",
          +            "namespace": "",
          +            "file": "input/charts/DiamondGroup.js",
          +            "line": 1,
          +            "description": "Abstract class for creating groups of diamonds with the same styles and dimensions."
          +        },
          +        "EllipseGroup": {
          +            "name": "EllipseGroup",
          +            "shortname": "EllipseGroup",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "graphics",
          +            "namespace": "",
          +            "file": "input/charts/EllipseGroup.js",
          +            "line": 1,
          +            "description": "Abstract class for creating groups of diamonds with the same styles and dimensions."
          +        },
          +        "Fills": {
          +            "name": "Fills",
          +            "shortname": "Fills",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Fills.js",
          +            "line": 1,
          +            "description": "Utility class used for drawing area fills."
          +        },
          +        "Graph": {
          +            "name": "Graph",
          +            "shortname": "Graph",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Graph.js",
          +            "line": 1,
          +            "description": "Graph manages and contains series instances for a `CartesianChart`\ninstance."
          +        },
          +        "Gridlines": {
          +            "name": "Gridlines",
          +            "shortname": "Gridlines",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Gridlines.js",
          +            "line": 1,
          +            "description": "Gridlines draws gridlines on a Graph."
          +        },
          +        "Histogram": {
          +            "name": "Histogram",
          +            "shortname": "Histogram",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Histogram.js",
          +            "line": 1,
          +            "description": "Histogram is the base class for Column and Bar series."
          +        },
          +        "LeftAxisLayout": {
          +            "name": "LeftAxisLayout",
          +            "shortname": "LeftAxisLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 1,
          +            "description": "Algorithmic strategy for rendering a left axis."
          +        },
          +        "LineSeries": {
          +            "name": "LineSeries",
          +            "shortname": "LineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/LineSeries.js",
          +            "line": 1,
          +            "description": "The LineSeries class renders quantitative data on a graph by connecting relevant data points."
          +        },
          +        "Lines": {
          +            "name": "Lines",
          +            "shortname": "Lines",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Lines.js",
          +            "line": 1,
          +            "description": "Utility class used for drawing lines."
          +        },
          +        "MarkerSeries": {
          +            "name": "MarkerSeries",
          +            "shortname": "MarkerSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 1,
          +            "description": "The MarkerSeries class renders quantitative data by plotting relevant data points \non a graph."
          +        },
          +        "NumericAxis": {
          +            "name": "NumericAxis",
          +            "shortname": "NumericAxis",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 1,
          +            "description": "NumericAxis manages numeric data on an axis."
          +        },
          +        "PieChart": {
          +            "name": "PieChart",
          +            "shortname": "PieChart",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/PieChart.js",
          +            "line": 1,
          +            "description": "The PieChart class creates a pie chart"
          +        },
          +        "PieSeries": {
          +            "name": "PieSeries",
          +            "shortname": "PieSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/PieSeries.js",
          +            "line": 1,
          +            "description": "PieSeries visualizes data as a circular chart divided into wedges which represent data as a \npercentage of a whole."
          +        },
          +        "Plots": {
          +            "name": "Plots",
          +            "shortname": "Plots",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Plots.js",
          +            "line": 1,
          +            "description": "Utility class used for drawing markers."
          +        },
          +        "GroupRect": {
          +            "name": "GroupRect",
          +            "shortname": "GroupRect",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "graphics",
          +            "namespace": "",
          +            "file": "input/charts/RectGroup.js",
          +            "line": 1,
          +            "description": "Abstract class for creating groups of rects with the same styles and dimensions."
          +        },
          +        "Renderer": {
          +            "name": "Renderer",
          +            "shortname": "Renderer",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/Renderer.js",
          +            "line": 1,
          +            "description": "The Renderer class is a base class for chart components that use the `styles`\nattribute."
          +        },
          +        "RightAxisLayout": {
          +            "name": "RightAxisLayout",
          +            "shortname": "RightAxisLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 1,
          +            "description": "RightAxisLayout contains algorithms for rendering a right axis."
          +        },
          +        "ShapeGroup": {
          +            "name": "ShapeGroup",
          +            "shortname": "ShapeGroup",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "graphics",
          +            "namespace": "",
          +            "file": "input/charts/ShapeGroup.js",
          +            "line": 25,
          +            "description": "Abstract class for creating groups of shapes with the same styles and dimensions."
          +        },
          +        "SplineSeries": {
          +            "name": "SplineSeries",
          +            "shortname": "SplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/SplineSeries.js",
          +            "line": 1,
          +            "description": "SplineSeries renders a graph with data points connected by a curve."
          +        },
          +        "StackedAreaSeries": {
          +            "name": "StackedAreaSeries",
          +            "shortname": "StackedAreaSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedAreaSeries.js",
          +            "line": 1,
          +            "description": "StackedAreaSeries area fills to display data showing its contribution to a whole."
          +        },
          +        "StackedAreaSplineSeries": {
          +            "name": "StackedAreaSplineSeries",
          +            "shortname": "StackedAreaSplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedAreaSplineSeries.js",
          +            "line": 1,
          +            "description": "StackedAreaSplineSeries creates a stacked area chart with points data points connected by a curve."
          +        },
          +        "StackedAxis": {
          +            "name": "StackedAxis",
          +            "shortname": "StackedAxis",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedAxis.js",
          +            "line": 1,
          +            "description": "StackedAxis manages stacked numeric data on an axis."
          +        },
          +        "StackedBarSeries": {
          +            "name": "StackedBarSeries",
          +            "shortname": "StackedBarSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 1,
          +            "description": "The StackedBarSeries renders bar chart in which series are stacked horizontally to show\ntheir contribution to the cumulative total."
          +        },
          +        "StackedColumnSeries": {
          +            "name": "StackedColumnSeries",
          +            "shortname": "StackedColumnSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 1,
          +            "description": "The StackedColumnSeries renders column chart in which series are stacked vertically to show\ntheir contribution to the cumulative total."
          +        },
          +        "StackedComboSeries": {
          +            "name": "StackedComboSeries",
          +            "shortname": "StackedComboSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedComboSeries.js",
          +            "line": 1,
          +            "description": "The StackedComboSeries class renders a combination of lines, plots and area fills in a single series. Series\nare stacked along the value axis to indicate each series contribution to a cumulative total. Each\nseries type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are\nrendered."
          +        },
          +        "StackedComboSplineSeries": {
          +            "name": "StackedComboSplineSeries",
          +            "shortname": "StackedComboSplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedComboSplineSeries.js",
          +            "line": 1,
          +            "description": "The StackedComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Series\nare stacked along the value axis to indicate each series contribution to a cumulative total. Each\nseries type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are\nrendered."
          +        },
          +        "StackedLineSeries": {
          +            "name": "StackedLineSeries",
          +            "shortname": "StackedLineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedLineSeries.js",
          +            "line": 1,
          +            "description": "StackedLineSeries creates line graphs in which the different series are stacked along a value axis\nto indicate their contribution to a cumulative total."
          +        },
          +        "StackedMarkerSeries": {
          +            "name": "StackedMarkerSeries",
          +            "shortname": "StackedMarkerSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedMarkerSeries.js",
          +            "line": 1,
          +            "description": "StackedMarkerSeries plots markers with different series stacked along the value axis to indicate each\nseries' contribution to a cumulative total."
          +        },
          +        "StackedSplineSeries": {
          +            "name": "StackedSplineSeries",
          +            "shortname": "StackedSplineSeries",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackedSplineSeries.js",
          +            "line": 1,
          +            "description": "StackedSplineSeries creates spline graphs in which the different series are stacked along a value axis\nto indicate their contribution to a cumulative total."
          +        },
          +        "StackingUtil": {
          +            "name": "StackingUtil",
          +            "shortname": "StackingUtil",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/StackingUtil.js",
          +            "line": 1,
          +            "description": "Utility class used for creating stacked series."
          +        },
          +        "TimeAxis": {
          +            "name": "TimeAxis",
          +            "shortname": "TimeAxis",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 1,
          +            "description": "TimeAxis manages time data on an axis."
          +        },
          +        "TopAxisLayout": {
          +            "name": "TopAxisLayout",
          +            "shortname": "TopAxisLayout",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "charts",
          +            "namespace": "",
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 1,
          +            "description": "Contains algorithms for rendering a top axis."
          +        },
          +        "mywidget.SuperWidget": {
          +            "name": "mywidget.SuperWidget",
          +            "shortname": "mywidget.SuperWidget",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "ExampleModule",
          +            "namespace": "mywidget",
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 13,
          +            "description": "<b>Superclass</b> description.<br>This is a second line too.",
          +            "is_constructor": 1,
          +            "extends": "Widget",
          +            "example": [
          +                "\n\n    var bar;\n"
          +            ]
          +        },
          +        "mywidget.SubWidget": {
          +            "name": "mywidget.SubWidget",
          +            "shortname": "mywidget.SubWidget",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "ExampleModule",
          +            "namespace": "mywidget",
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 72,
          +            "description": "Subclass description.",
          +            "is_constructor": 1,
          +            "extends": "mywidget.SuperWidget"
          +        },
          +        "mywidget.SubWidget2": {
          +            "name": "mywidget.SubWidget2",
          +            "shortname": "mywidget.SubWidget2",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "ExampleModule",
          +            "namespace": "mywidget",
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 94,
          +            "description": "Subclass description.",
          +            "is_constructor": 1,
          +            "extends": "Accordion"
          +        },
          +        "JSON": {
          +            "name": "JSON",
          +            "shortname": "JSON",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "json",
          +            "namespace": "",
          +            "file": "input/json/parse.js",
          +            "line": 1,
          +            "description": "<p>The JSON module adds support for serializing JavaScript objects into\nJSON strings and parsing JavaScript objects from strings in JSON format.</p>\n\n<p>The JSON namespace is added to your YUI instance including static methods\nY.JSON.parse(..) and Y.JSON.stringify(..).</p>\n\n<p>The functionality and method signatures follow the ECMAScript 5\nspecification.  In browsers with native JSON support, the native\nimplementation is used.</p>\n\n<p>The <code>json</code> module is a rollup of <code>json-parse</code> and\n<code>json-stringify</code>.</p>\n\n<p>As their names suggest, <code>json-parse</code> adds support for parsing\nJSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing\nJavaScript data into JSON strings (Y.JSON.stringify).  You may choose to\ninclude either of the submodules individually if you don't need the\ncomplementary functionality, or include the rollup for both.</p>",
          +            "mainName": "json",
          +            "tag": "main",
          +            "itemtype": "main",
          +            "_main": true,
          +            "submodule": "json-parse"
          +        },
          +        "Foo.Bar": {
          +            "name": "Foo.Bar",
          +            "shortname": "Foo.Bar",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "foobar",
          +            "namespace": "Foo.Bar",
          +            "file": "input/namespace/ns.js",
          +            "line": 1,
          +            "description": "Test Class",
          +            "mainName": "foobar",
          +            "tag": "main",
          +            "itemtype": "main",
          +            "_main": true
          +        },
          +        "Anim": {
          +            "name": "Anim",
          +            "shortname": "Anim",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "anim",
          +            "namespace": "",
          +            "file": "input/test/anim.js",
          +            "line": 7,
          +            "description": "This is the Anim Class description"
          +        },
          +        "Easing": {
          +            "name": "Easing",
          +            "shortname": "Easing",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "anim",
          +            "namespace": "",
          +            "file": "input/test/anim.js",
          +            "line": 12,
          +            "description": "The easing module provides methods for customizing\nhow an animation behaves during each run.",
          +            "submodule": "anim-easing"
          +        },
          +        "EasingFoo": {
          +            "name": "EasingFoo",
          +            "shortname": "EasingFoo",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "anim",
          +            "submodule": "anim-easing-foo",
          +            "namespace": "",
          +            "file": "input/test/anim.js",
          +            "line": 20,
          +            "description": "FOO FOO FOO FOO FOO The easing module provides methods for customizing"
          +        },
          +        "myclass": {
          +            "name": "myclass",
          +            "shortname": "myclass",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "mymodule",
          +            "submodule": "mysubmodule",
          +            "namespace": "",
          +            "file": "input/test/test.js",
          +            "line": 32,
          +            "description": "The class def",
          +            "is_constructor": 1
          +        },
          +        "OtherClass": {
          +            "name": "OtherClass",
          +            "shortname": "OtherClass",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [
          +                "myclass"
          +            ],
          +            "module": "mymodule",
          +            "submodule": "mysubmodule",
          +            "namespace": "",
          +            "file": "input/test/test.js",
          +            "line": 114,
          +            "description": "Other Class"
          +        },
          +        "OtherClass2": {
          +            "name": "OtherClass2",
          +            "shortname": "OtherClass2",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [
          +                "myclass"
          +            ],
          +            "module": "mymodule",
          +            "submodule": "mysubmodule",
          +            "namespace": "",
          +            "file": "input/test/test.js",
          +            "line": 120,
          +            "description": "Other Class 2"
          +        },
          +        "YUI~dump": {
          +            "name": "YUI~dump",
          +            "shortname": "YUI~dump",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "dump",
          +            "namespace": "",
          +            "file": "input/test2/dump/dump.js",
          +            "line": 18,
          +            "description": "The following methods are added to the YUI instance"
          +        },
          +        "YUI~oop": {
          +            "name": "YUI~oop",
          +            "shortname": "YUI~oop",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "oop",
          +            "namespace": "",
          +            "file": "input/test2/oop/oop.js",
          +            "line": 9,
          +            "description": "The following methods are added to the YUI instance"
          +        },
          +        "P.storage.Store": {
          +            "name": "P.storage.Store",
          +            "shortname": "P.storage.Store",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "P.storage",
          +            "namespace": "P.storage",
          +            "file": "input/test2/namespace.js",
          +            "line": 5,
          +            "is_constructor": 1
          +        },
          +        "P.storage.LocalStore": {
          +            "name": "P.storage.LocalStore",
          +            "shortname": "P.storage.LocalStore",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "P.storage",
          +            "namespace": "P.storage",
          +            "file": "input/test2/namespace.js",
          +            "line": 12,
          +            "is_constructor": 1,
          +            "extends": "P.storage.Store"
          +        },
          +        "P.storage": {
          +            "name": "P.storage",
          +            "shortname": "P.storage",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "P.storage",
          +            "namespace": "P",
          +            "file": "input/test2/namespace.js",
          +            "line": 20
          +        },
          +        "Main": {
          +            "name": "Main",
          +            "shortname": "Main",
          +            "classitems": [],
          +            "plugins": [],
          +            "extensions": [],
          +            "plugin_for": [],
          +            "extension_for": [],
          +            "module": "myapp/views/index",
          +            "namespace": "",
          +            "file": "input/test2/slashes.js",
          +            "line": 6,
          +            "description": "This is the main class",
          +            "is_constructor": 1
          +        }
          +    },
          +    "classitems": [
          +        {
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Renders the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "AreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 24,
          +            "access": "protected",
          +            "tagname": "Method used by `styles` setter. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "_setStyles",
          +            "params": [
          +                {
          +                    "name": "newStyles",
          +                    "description": "Hash of properties to update.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "AreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 42,
          +            "access": "protected",
          +            "tagname": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "AreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 59,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "area",
          +            "class": "AreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSeries.js",
          +            "line": 70,
          +            "description": "Style properties used for drawing area fills. This attribute is inherited from `Renderer`. Below are the default values:\n\n <dl>\n     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be \n     retrieved from the following array:\n     `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n     </dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "AreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSplineSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "AreaSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSplineSeries.js",
          +            "line": 25,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "areaSpline",
          +            "class": "AreaSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AreaSplineSeries.js",
          +            "line": 36,
          +            "description": "Style properties used for drawing area fills. This attribute is inherited from `Renderer`. Below are the default values:\n\n <dl>\n     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be \n     retrieved from the following array:\n     `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n     </dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "AreaSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 12,
          +            "description": "Storage for calculatedWidth value.",
          +            "itemtype": "property",
          +            "name": "_calculatedWidth",
          +            "type": "Number",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 21,
          +            "description": "Storage for calculatedHeight value.",
          +            "itemtype": "property",
          +            "name": "_calculatedHeight",
          +            "type": "Number",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 30,
          +            "description": "Handles change to the dataProvider",
          +            "itemtype": "method",
          +            "name": "_dataChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 45,
          +            "description": "Handles change to the position attribute",
          +            "itemtype": "method",
          +            "name": "_positionChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 58,
          +            "description": "Updates the the Graphic instance",
          +            "itemtype": "method",
          +            "name": "_updateGraphic",
          +            "params": [
          +                {
          +                    "name": "position",
          +                    "description": "Position of axis",
          +                    "type": "String"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 84,
          +            "description": "Handles changes to axis.",
          +            "itemtype": "method",
          +            "name": "_updateHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 99,
          +            "itemtype": "method",
          +            "name": "renderUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 108,
          +            "itemtype": "method",
          +            "name": "syncUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 139,
          +            "description": "Creates a graphic instance to be used for the axis line and ticks.",
          +            "itemtype": "method",
          +            "name": "_setCanvas",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 172,
          +            "description": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 240,
          +            "description": "Updates the axis when the size changes.",
          +            "itemtype": "method",
          +            "name": "_handleSizeChange",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 262,
          +            "description": "Maps key values to classes containing layout algorithms",
          +            "itemtype": "property",
          +            "name": "_layoutClasses",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 277,
          +            "description": "Draws a line segment between 2 points",
          +            "itemtype": "method",
          +            "name": "drawLine",
          +            "params": [
          +                {
          +                    "name": "startPoint",
          +                    "description": "x and y coordinates for the start point of the line segment",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "endPoint",
          +                    "description": "x and y coordinates for the for the end point of the line segment",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "line",
          +                    "description": "styles (weight, color and alpha to be applied to the line segment)",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 292,
          +            "description": "Generates the properties necessary for rotating and positioning a text field.",
          +            "itemtype": "method",
          +            "name": "_getTextRotationProps",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "properties for the text field",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 332,
          +            "description": "Draws an axis.",
          +            "itemtype": "method",
          +            "name": "_drawAxis",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 465,
          +            "description": "Calculates and sets the total size of a title.",
          +            "itemtype": "method",
          +            "name": "_setTotalTitleSize",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Properties for the title field.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 505,
          +            "description": "Updates path.",
          +            "itemtype": "method",
          +            "name": "_updatePathElement",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 533,
          +            "description": "Updates the content and style properties for a title field.",
          +            "itemtype": "method",
          +            "name": "_updateTitle",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 595,
          +            "description": "Creates or updates an axis label.",
          +            "itemtype": "method",
          +            "name": "getLabel",
          +            "params": [
          +                {
          +                    "name": "pt",
          +                    "description": "x and y coordinates for the label",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "styles",
          +                    "description": "styles applied to label",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "HTMLElement"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 644,
          +            "description": "Creates a cache of labels that can be re-used when the axis redraws.",
          +            "itemtype": "method",
          +            "name": "_createLabelCache",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 666,
          +            "description": "Removes axis labels from the dom and clears the label cache.",
          +            "itemtype": "method",
          +            "name": "_clearLabelCache",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 690,
          +            "description": "Gets the end point of an axis.",
          +            "itemtype": "method",
          +            "name": "getLineEnd",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 712,
          +            "description": "Calcuates the width or height of an axis depending on its direction.",
          +            "itemtype": "method",
          +            "name": "getLength",
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 738,
          +            "description": "Gets the position of the first point on an axis.",
          +            "itemtype": "method",
          +            "name": "getFirstPoint",
          +            "params": [
          +                {
          +                    "name": "pt",
          +                    "description": "Object containing x and y coordinates.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 763,
          +            "description": "Gets the position of the next point on an axis.",
          +            "itemtype": "method",
          +            "name": "getNextPoint",
          +            "params": [
          +                {
          +                    "name": "point",
          +                    "description": "Object containing x and y coordinates.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "majorUnitDistance",
          +                    "description": "Distance in pixels between ticks.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 786,
          +            "description": "Calculates the placement of last tick on an axis.",
          +            "itemtype": "method",
          +            "name": "getLastPoint",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 809,
          +            "description": "Calculates position on the axis.",
          +            "itemtype": "method",
          +            "name": "getPosition",
          +            "params": [
          +                {
          +                    "name": "point",
          +                    "description": "contains x and y values",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 844,
          +            "description": "Rotates and positions a text field.",
          +            "itemtype": "method",
          +            "name": "_rotate",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "text field to rotate and position",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "props",
          +                    "description": "properties to be applied to the text field.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 916,
          +            "description": "Simulates a rotation with a specified transformOrigin.",
          +            "itemtype": "method",
          +            "name": "_simulateTransformOrigin",
          +            "params": [
          +                {
          +                    "name": "matrix",
          +                    "description": "Reference to a `Matrix` instance.",
          +                    "type": "Matrix"
          +                },
          +                {
          +                    "name": "rot",
          +                    "description": "The rotation (in degrees) that will be performed on a matrix.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "transformOrigin",
          +                    "description": "An array represeniting the origin in which to perform the transform. The first \nindex represents the x origin and the second index represents the y origin.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "w",
          +                    "description": "The width of the object that will be transformed.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "h",
          +                    "description": "The height of the object that will be transformed.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 939,
          +            "description": "Returns the coordinates (top, right, bottom, left) for the bounding box of the last label.",
          +            "itemtype": "method",
          +            "name": "getMaxLabelBounds",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 950,
          +            "description": "Returns the coordinates (top, right, bottom, left) for the bounding box of the first label.",
          +            "itemtype": "method",
          +            "name": "getMinLabelBounds",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 961,
          +            "description": "Returns the coordinates (top, right, bottom, left) for the bounding box of a label.",
          +            "itemtype": "method",
          +            "name": "_getLabelBounds",
          +            "params": [
          +                {
          +                    "name": "Value",
          +                    "description": "of the label",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 992,
          +            "description": "Removes all DOM elements from an HTML element. Used to clear out labels during detruction\nphase.",
          +            "itemtype": "method",
          +            "name": "_removeChildren",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1013,
          +            "description": "Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1042,
          +            "description": "Length in pixels of largest text bounding box. Used to calculate the height of the axis.",
          +            "itemtype": "property",
          +            "name": "maxLabelSize",
          +            "type": "Number",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1051,
          +            "description": "Updates the content of text field. This method writes a value into a text field using \n`appendChild`. If the value is a `String`, it is converted to a `TextNode` first.",
          +            "itemtype": "method",
          +            "name": "_setText",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "label to be updated",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "val",
          +                    "description": "value with which to update the label",
          +                    "type": "String"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1080,
          +            "description": "When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based on their contents. When the\nwidth attribute is set, the axis will not calculate its width. When the width attribute is explicitly set, axis labels will postion themselves off of the \nthe inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified width is less than the sum of \nthe axis' contents, excess content will overflow.",
          +            "itemtype": "attribute",
          +            "name": "width",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1108,
          +            "description": "When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based on their contents. When the\nheight attribute is set, the axis will not calculate its height. When the height attribute is explicitly set, axis labels will postion themselves off of the \nthe inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified height is less than the sum of \nthe axis' contents, excess content will overflow.",
          +            "itemtype": "attribute",
          +            "name": "height",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1136,
          +            "description": "Calculated value of an axis' width. By default, the value is used internally for vertical axes. If the `width` attribute is explicitly set, this value will be ignored.",
          +            "itemtype": "attribute",
          +            "name": "calculatedWidth",
          +            "type": "Number",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1156,
          +            "description": "Calculated value of an axis' height. By default, the value is used internally for horizontal axes. If the `height` attribute is explicitly set, this value will be ignored.",
          +            "itemtype": "attribute",
          +            "name": "calculatedHeight",
          +            "type": "Number",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1176,
          +            "description": "Difference betweend the first/last tick and edge of axis.",
          +            "itemtype": "attribute",
          +            "name": "edgeOffset",
          +            "type": "Number",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1188,
          +            "description": "The graphic in which the axis line and ticks will be rendered.",
          +            "itemtype": "attribute",
          +            "name": "graphic",
          +            "type": "Graphic",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1196,
          +            "itemtype": "attribute",
          +            "name": "path",
          +            "type": "Shape",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1219,
          +            "itemtype": "attribute",
          +            "name": "tickPath",
          +            "type": "Shape",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1242,
          +            "description": "Contains the contents of the axis.",
          +            "itemtype": "attribute",
          +            "name": "node",
          +            "type": "HTMLElement",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1250,
          +            "description": "Direction of the axis.",
          +            "itemtype": "attribute",
          +            "name": "position",
          +            "type": "String",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1268,
          +            "description": "Distance determined by the tick styles used to calculate the distance between the axis\nline in relation to the top of the axis.",
          +            "itemtype": "attribute",
          +            "name": "topTickOffset",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1279,
          +            "description": "Distance determined by the tick styles used to calculate the distance between the axis\nline in relation to the bottom of the axis.",
          +            "itemtype": "attribute",
          +            "name": "bottomTickOffset",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1290,
          +            "description": "Distance determined by the tick styles used to calculate the distance between the axis\nline in relation to the left of the axis.",
          +            "itemtype": "attribute",
          +            "name": "leftTickOffset",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1301,
          +            "description": "Distance determined by the tick styles used to calculate the distance between the axis\nline in relation to the right side of the axis.",
          +            "itemtype": "attribute",
          +            "name": "rightTickOffset",
          +            "type": "Number",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1312,
          +            "description": "Collection of labels used to render the axis.",
          +            "itemtype": "attribute",
          +            "name": "labels",
          +            "type": "Array",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1326,
          +            "description": "Collection of points used for placement of labels and ticks along the axis.",
          +            "itemtype": "attribute",
          +            "name": "tickPoints",
          +            "type": "Array",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1345,
          +            "description": "Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given\nposition and the tick position is inside or cross, the axis will need to overlap the graph.",
          +            "itemtype": "attribute",
          +            "name": "overlapGraph",
          +            "type": "Boolean",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1361,
          +            "description": "Object which should have by the labelFunction",
          +            "itemtype": "attribute",
          +            "name": "labelFunctionScope",
          +            "type": "Object",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1369,
          +            "description": "Length in pixels of largest text bounding box. Used to calculate the height of the axis.",
          +            "itemtype": "attribute",
          +            "name": "maxLabelSize",
          +            "type": "Number",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1389,
          +            "description": "Title for the axis. When specified, the title will display. The position of the title is determined by the axis position. \n<dl>\n    <dt>top</dt><dd>Appears above the axis and it labels. The default rotation is 0.</dd>\n    <dt>right</dt><dd>Appears to the right of the axis and its labels. The default rotation is 90.</dd>\n    <dt>bottom</dt><dd>Appears below the axis and its labels. The default rotation is 0.</dd>\n    <dt>left</dt><dd>Appears to the left of the axis and its labels. The default rotation is -90.</dd>\n</dl>",
          +            "itemtype": "attribute",
          +            "name": "title",
          +            "type": "String",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1405,
          +            "description": "Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need\nto implement the arguments below and return a `String` or `HTMLElement`. \n<dl>\n     <dt>val</dt><dd>Label to be formatted. (`String`)</dd>\n     <dt>format</dt><dd>Template for formatting label. (optional)</dd>\n</dl>",
          +            "itemtype": "attribute",
          +            "name": "labelFunction",
          +            "type": "Function",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1423,
          +            "description": "Function used to append an axis value to an axis label. This function has the following signature:\n <dl>\n     <dt>textField</dt><dd>The axis label to be appended. (`HTMLElement`)</dd>\n     <dt>val</dt><dd>The value to attach to the text field. This method will accept an `HTMLELement`\n     or a `String`. This method does not use (`HTMLElement` | `String`)</dd>\n </dl>\nThe default method appends a value to the `HTMLElement` using the `appendChild` method. If the given \nvalue is a `String`, the method will convert the the value to a `textNode` before appending to the \n`HTMLElement`. This method will not convert an `HTMLString` to an `HTMLElement`.",
          +            "itemtype": "attribute",
          +            "name": "appendLabelFunction",
          +            "type": "Function",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1444,
          +            "description": "Function used to append a title value to the title object. This function has the following signature:\n <dl>\n     <dt>textField</dt><dd>The title text field to be appended. (`HTMLElement`)</dd>\n     <dt>val</dt><dd>The value to attach to the text field. This method will accept an `HTMLELement`\n     or a `String`. This method does not use (`HTMLElement` | `String`)</dd>\n </dl>\nThe default method appends a value to the `HTMLElement` using the `appendChild` method. If the given \nvalue is a `String`, the method will convert the the value to a `textNode` before appending to the \n`HTMLElement` element. This method will not convert an `HTMLString` to an `HTMLElement`.",
          +            "itemtype": "attribute",
          +            "name": "appendTitleFunction",
          +            "type": "Function",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Axis.js",
          +            "line": 1465,
          +            "description": "Style properties used for drawing an axis. This attribute is inherited from `Renderer`. Below are the default values:\n <dl>\n     <dt>majorTicks</dt><dd>Properties used for drawing ticks.\n         <dl>\n             <dt>display</dt><dd>Position of the tick. Possible values are `inside`, `outside`, `cross` and `none`. The\n             default value is `inside`.</dd>\n             <dt>length</dt><dd>The length (in pixels) of the tick. The default value is 4.</dd>\n             <dt>color</dt><dd>The color of the tick. The default value is `#dad8c9`</dd>\n             <dt>weight</dt><dd>Number indicating the width of the tick. The default value is 1.</dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>line</dt><dd>Properties used for drawing the axis line. \n         <dl>\n             <dt>weight</dt><dd>Number indicating the width of the axis line. The default value is 1.</dd>\n             <dt>color</dt><dd>The color of the axis line. The default value is `#dad8c9`.</dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the tick. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>majorUnit</dt><dd>Properties used to calculate the `majorUnit` for the axis. \n         <dl>\n             <dt>determinant</dt><dd>The algorithm used for calculating distance between ticks. The possible options are `count` and `distance`. If\n             the `determinant` is `count`, the axis ticks will spaced so that a specified number of ticks appear on the axis. If the `determinant`\n             is `distance`, the axis ticks will spaced out according to the specified distance. The default value is `count`.</dd>\n             <dt>count</dt><dd>Number of ticks to appear on the axis when the `determinant` is `count`. The default value is 11.</dd>\n             <dt>distance</dt><dd>The distance (in pixels) between ticks when the `determinant` is `distance`. The default value is 75.</dd>\n         </dl>\n     </dd>\n     <dt>label</dt><dd>Properties and styles applied to the axis labels.\n         <dl>\n             <dt>color</dt><dd>The color of the labels. The default value is `#808080`.</dd>\n             <dt>alpha</dt><dd>Number between 0 and 1 indicating the opacity of the labels. The default value is 1.</dd>\n             <dt>fontSize</dt><dd>The font-size of the labels. The default value is 85%</dd>\n             <dt>rotation</dt><dd>The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.</dd>\n             <dt>margin</dt><dd>The distance between the label and the axis/tick. Depending on the position of the `Axis`, only one of the properties used.\n                 <dl>\n                     <dt>top</dt><dd>Pixel value used for an axis with a `position` of `bottom`. The default value is 4.</dd>\n                     <dt>right</dt><dd>Pixel value used for an axis with a `position` of `left`. The default value is 4.</dd>\n                     <dt>bottom</dt><dd>Pixel value used for an axis with a `position` of `top`. The default value is 4.</dd>\n                     <dt>left</dt><dd>Pixel value used for an axis with a `position` of `right`. The default value is 4.</dd>\n                 </dl>\n             </dd>\n         </dl>\n     </dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "Axis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 10,
          +            "itemtype": "method",
          +            "name": "initializer",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 26,
          +            "itemtype": "method",
          +            "name": "bindUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 41,
          +            "description": "Handles changes to `dataProvider`.",
          +            "itemtype": "method",
          +            "name": "_dataProviderChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 69,
          +            "description": "Constant used to generate unique id.",
          +            "itemtype": "property",
          +            "name": "GUID",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 78,
          +            "description": "Type of data used in `Axis`.",
          +            "itemtype": "property",
          +            "name": "_type",
          +            "type": "String",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 88,
          +            "description": "Storage for `setMaximum` attribute.",
          +            "itemtype": "property",
          +            "name": "_setMaximum",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 97,
          +            "description": "Storage for `dataMaximum` attribute.",
          +            "itemtype": "property",
          +            "name": "_dataMaximum",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 106,
          +            "description": "Storage for `setMinimum` attribute.",
          +            "itemtype": "property",
          +            "name": "_setMinimum",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 115,
          +            "description": "Reference to data array.",
          +            "itemtype": "property",
          +            "name": "_data",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 124,
          +            "description": "Indicates whether the all data is up to date.",
          +            "itemtype": "property",
          +            "name": "_updateTotalDataFlag",
          +            "type": "Boolean",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 133,
          +            "description": "Storage for `dataReady` attribute.",
          +            "itemtype": "property",
          +            "name": "_dataReady",
          +            "type": "Boolean",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 143,
          +            "description": "Adds an array to the key hash.",
          +            "itemtype": "method",
          +            "name": "addKey",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "Indicates what key to use in retrieving\nthe array."
          +                }
          +            ],
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 155,
          +            "description": "Gets an array of values based on a key.",
          +            "itemtype": "method",
          +            "name": "_getKeyArray",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Value key associated with the data array.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array in which the data resides.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 178,
          +            "description": "Sets data by key",
          +            "itemtype": "method",
          +            "name": "_setDataByKey",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Key value to use.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array to use.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 202,
          +            "description": "Updates the total data array.",
          +            "itemtype": "method",
          +            "name": "_updateTotalData",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 223,
          +            "description": "Removes an array from the key hash.",
          +            "itemtype": "method",
          +            "name": "removeKey",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "Indicates what key to use in removing from \nthe hash.",
          +                    "type": "String"
          +                }
          +            ],
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 240,
          +            "description": "Returns a value based of a key value and an index.",
          +            "itemtype": "method",
          +            "name": "getKeyValueAt",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "value used to look up the correct array",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "within the array",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 259,
          +            "description": "Returns an array of values based on an identifier key.",
          +            "itemtype": "method",
          +            "name": "getDataByKey",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "value used to identify the array",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 276,
          +            "description": "Calculates the maximum and minimum values for the `Axis`.",
          +            "itemtype": "method",
          +            "name": "_updateMinAndMax",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 312,
          +            "description": "Returns the total number of majorUnits that will appear on an axis.",
          +            "itemtype": "method",
          +            "name": "getTotalMajorUnits",
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 334,
          +            "description": "Returns the distance between major units on an axis.",
          +            "itemtype": "method",
          +            "name": "getMajorUnitDistance",
          +            "params": [
          +                {
          +                    "name": "len",
          +                    "description": "Number of ticks",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "uiLen",
          +                    "description": "Size of the axis.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "majorUnit",
          +                    "description": "Hash of properties used to determine the majorUnit",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 357,
          +            "description": "Gets the distance that the first and last ticks are offset from there respective\nedges.",
          +            "itemtype": "method",
          +            "name": "getEdgeOffset",
          +            "params": [
          +                {
          +                    "name": "ct",
          +                    "description": "Number of ticks on the axis.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Length (in pixels) of the axis.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 371,
          +            "description": "Calculates and returns a value based on the number of labels and the index of\nthe current label.",
          +            "itemtype": "method",
          +            "name": "getLabelByIndex",
          +            "params": [
          +                {
          +                    "name": "i",
          +                    "description": "Index of the label.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Total number of labels.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 391,
          +            "description": "Updates the `Axis` after a change in keys.",
          +            "itemtype": "method",
          +            "name": "_keyChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 404,
          +            "description": "Checks to see if data extends beyond the range of the axis. If so,\nthat data will need to be hidden. This method is internal, temporary and subject\nto removal in the future.",
          +            "itemtype": "method",
          +            "name": "_hasDataOverflow",
          +            "access": "protected",
          +            "tagname": "",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 422,
          +            "description": "Returns a string corresponding to the first label on an \naxis.",
          +            "itemtype": "method",
          +            "name": "getMinimumValue",
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 434,
          +            "description": "Returns a string corresponding to the last label on an \naxis.",
          +            "itemtype": "method",
          +            "name": "getMaximumValue",
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 447,
          +            "description": "Hash of array identifed by a string value.",
          +            "itemtype": "attribute",
          +            "name": "keys",
          +            "type": "Object",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 491,
          +            "description": "Indicates how to round unit values.\n  <dl>\n      <dt>niceNumber</dt><dd>Units will be smoothed based on the number of ticks and data range.</dd>\n      <dt>auto</dt><dd>If the range is greater than 1, the units will be rounded.</dd>\n      <dt>numeric value</dt><dd>Units will be equal to the numeric value.</dd>\n      <dt>null</dt><dd>No rounding will occur.</dd>\n  </dl>",
          +            "itemtype": "attribute",
          +            "name": "roundingMethod",
          +            "type": "String",
          +            "default": "niceNumber",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 508,
          +            "description": "Returns the type of axis data\n  <dl>\n      <dt>time</dt><dd>Manages time data</dd>\n      <dt>stacked</dt><dd>Manages stacked numeric data</dd>      \n      <dt>numeric</dt><dd>Manages numeric data</dd>\n      <dt>category</dt><dd>Manages categorical data</dd>\n  </dl>",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 530,
          +            "description": "Instance of `ChartDataProvider` that the class uses\nto build its own data.",
          +            "itemtype": "attribute",
          +            "name": "dataProvider",
          +            "type": "Array",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 544,
          +            "description": "The maximum value contained in the `data` array. Used for\n`maximum` when `autoMax` is true.",
          +            "itemtype": "attribute",
          +            "name": "dataMaximum",
          +            "type": "Number",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 562,
          +            "description": "The maximum value that will appear on an axis.",
          +            "itemtype": "attribute",
          +            "name": "maximum",
          +            "type": "Number",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 594,
          +            "description": "The minimum value contained in the `data` array. Used for\n`minimum` when `autoMin` is true.",
          +            "itemtype": "attribute",
          +            "name": "dataMinimum",
          +            "type": "Number",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 612,
          +            "description": "The minimum value that will appear on an axis.",
          +            "itemtype": "attribute",
          +            "name": "minimum",
          +            "type": "Number",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 637,
          +            "description": "Determines whether the maximum is calculated or explicitly \nset by the user.",
          +            "itemtype": "attribute",
          +            "name": "setMax",
          +            "type": "Boolean",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 653,
          +            "description": "Determines whether the minimum is calculated or explicitly\nset by the user.",
          +            "itemtype": "attribute",
          +            "name": "setMin",
          +            "type": "Boolean",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 669,
          +            "description": "Array of axis data",
          +            "itemtype": "attribute",
          +            "name": "data",
          +            "type": "Array",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/AxisType.js",
          +            "line": 686,
          +            "description": "Array containing all the keys in the axis.",
          +            "itemtype": "attribute",
          +            "name": "keyCollection",
          +            "type": "Array",
          +            "class": "AxisType",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BarSeries.js",
          +            "line": 13,
          +            "description": "Helper method for calculating the size of markers.",
          +            "itemtype": "method",
          +            "name": "_getMarkerDimensions",
          +            "params": [
          +                {
          +                    "name": "xcoord",
          +                    "description": "The x-coordinate representing the data point for the marker.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "ycoord",
          +                    "description": "The y-coordinate representing the data point for the marker.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "calculatedSize",
          +                    "description": "The calculated size for the marker. For a `BarSeries` is it the width. For a `ColumnSeries` it is the height.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "offset",
          +                    "description": "Distance of position offset dictated by other marker series in the same graph.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "BarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BarSeries.js",
          +            "line": 42,
          +            "description": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BarSeries.js",
          +            "line": 106,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "bar",
          +            "class": "BarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BarSeries.js",
          +            "line": 117,
          +            "description": "Indicates the direction of the category axis that the bars are plotted against.",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "class": "BarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BarSeries.js",
          +            "line": 127,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>height</dt><dd>indicates the width of the marker. The default value is 12.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "BarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 11,
          +            "description": "Default margins for text fields.",
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "method",
          +            "name": "_getDefaultMargins",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 28,
          +            "description": "Sets the length of the tick on either side of the axis line.",
          +            "itemtype": "method",
          +            "name": "setTickOffsets",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 65,
          +            "description": "Calculates the coordinates for the first point on an axis.",
          +            "itemtype": "method",
          +            "name": "getLineStart",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 90,
          +            "description": "Draws a tick",
          +            "itemtype": "method",
          +            "name": "drawTick",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "reference to the path `Path` element in which to draw the tick.",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing x and y coordinates",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "tickStyles",
          +                    "description": "hash of properties used to draw the tick",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 110,
          +            "description": "Calculates the point for a label.",
          +            "itemtype": "method",
          +            "name": "getLabelPoint",
          +            "params": [
          +                {
          +                    "name": "pt",
          +                    "description": "Object containing x and y coordinates",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 123,
          +            "description": "Updates the value for the `maxLabelSize` for use in calculating total size.",
          +            "itemtype": "method",
          +            "name": "updateMaxLabelSize",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to measure",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 154,
          +            "description": "Determines the available label height when the axis width has been explicitly set.",
          +            "itemtype": "method",
          +            "name": "getExplicitlySized",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 176,
          +            "description": "Rotate and position title.",
          +            "itemtype": "method",
          +            "name": "positionTitle",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 206,
          +            "description": "Rotate and position labels.",
          +            "itemtype": "method",
          +            "name": "positionLabel",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing the x and y coordinates in which the label will be positioned\nagainst.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 254,
          +            "description": "Adjusts the coordinates of an axis label based on the rotation.",
          +            "itemtype": "method",
          +            "name": "_setRotationCoords",
          +            "params": [
          +                {
          +                    "name": "props",
          +                    "description": "Coordinates, dimension and rotation properties of the label.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 289,
          +            "description": "Returns the transformOrigin to use for an axis label based on the position of the axis \nand the rotation of the label.",
          +            "itemtype": "method",
          +            "name": "_getTransformOrigin",
          +            "params": [
          +                {
          +                    "name": "rot",
          +                    "description": "The rotation (in degrees) of the label.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 316,
          +            "description": "Adjusts position for inner ticks.",
          +            "itemtype": "method",
          +            "name": "offsetNodeForTick",
          +            "params": [
          +                {
          +                    "name": "cb",
          +                    "description": "contentBox of the axis",
          +                    "type": "Node"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/BottomAxisLayout.js",
          +            "line": 329,
          +            "description": "Assigns a height based on the size of the contents.",
          +            "itemtype": "method",
          +            "name": "setCalculatedSize",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "BottomAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 10,
          +            "itemtype": "method",
          +            "name": "renderUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 48,
          +            "description": "When `interactionType` is set to `planar`, listens for mouse move events and fires `planarEvent:mouseover` or `planarEvent:mouseout` depending on the position of the mouse in relation to \ndata points on the `Chart`.",
          +            "itemtype": "method",
          +            "name": "_planarEventDispatcher",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 148,
          +            "description": "Broadcasts when `interactionType` is set to `planar` and a series' marker plane has received a mouseover event.",
          +            "itemtype": "event",
          +            "name": "planarEvent:mouseover",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>An array of hashes, each containing information about the category `Axis` of each marker whose plane has been intersected.</dd>\n     <dt>valueItem</dt><dd>An array of hashes, each containing information about the value `Axis` of each marker whose plane has been intersected.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>\n     <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>\n     <dt>items</dt><dd>An array including all the series which contain a marker whose plane has been intersected.</dd>\n     <dt>index</dt><dd>Index of the markers in their respective series.</dd>\n     <dt>originEvent</dt><dd>Underlying dom event.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 168,
          +            "description": "Broadcasts when `interactionType` is set to `planar` and a series' marker plane has received a mouseout event.",
          +            "itemtype": "event",
          +            "name": "planarEvent:mouseout",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 196,
          +            "description": "Indicates the default series type for the chart.",
          +            "itemtype": "property",
          +            "name": "_type",
          +            "type": "{String}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 205,
          +            "description": "Queue of axes instances that will be updated. This method is used internally to determine when all axes have been updated.",
          +            "itemtype": "property",
          +            "name": "_itemRenderQueue",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 214,
          +            "description": "Adds an `Axis` instance to the `_itemRenderQueue`.",
          +            "itemtype": "method",
          +            "name": "_addToAxesRenderQueue",
          +            "params": [
          +                {
          +                    "name": "axis",
          +                    "description": "An `Axis` instance.",
          +                    "type": "Axis"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 233,
          +            "description": "Adds axis instance to the appropriate array based on position",
          +            "itemtype": "method",
          +            "name": "_addToAxesCollection",
          +            "params": [
          +                {
          +                    "name": "position",
          +                    "description": "The position of the axis",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "axis",
          +                    "description": "The `Axis` instance",
          +                    "type": "Axis"
          +                }
          +            ],
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 251,
          +            "description": "Returns the default value for the `seriesCollection` attribute.",
          +            "itemtype": "method",
          +            "name": "_getDefaultSeriesCollection",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Array containing either `CartesianSeries` instances or objects containing data to construct series instances.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 264,
          +            "description": "Parses and returns a series collection from an object and default properties.",
          +            "itemtype": "method",
          +            "name": "_parseSeriesCollection",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Object contain properties for series being set.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 368,
          +            "description": "Parse and sets the axes for a series instance.",
          +            "itemtype": "method",
          +            "name": "_parseSeriesAxes",
          +            "params": [
          +                {
          +                    "name": "series",
          +                    "description": "A `CartesianSeries` instance.",
          +                    "type": "CartesianSeries"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 401,
          +            "description": "Returns the category axis instance for the chart.",
          +            "itemtype": "method",
          +            "name": "_getCategoryAxis",
          +            "return": {
          +                "description": "Axis"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 417,
          +            "description": "Returns the value axis for a series.",
          +            "itemtype": "method",
          +            "name": "_getSeriesAxis",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "The key value used to determine the axis instance.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Axis"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 456,
          +            "description": "Gets an attribute from an object, using a getter for Base objects and a property for object\nliterals. Used for determining attributes from series/axis references which can be an actual class instance\nor a hash of properties that will be used to create a class instance.",
          +            "itemtype": "method",
          +            "name": "_getBaseAttribute",
          +            "params": [
          +                {
          +                    "name": "item",
          +                    "description": "Object or instance in which the attribute resides.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "key",
          +                    "description": "Attribute whose value will be returned.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 480,
          +            "description": "Sets an attribute on an object, using a setter of Base objects and a property for object\nliterals. Used for setting attributes on a Base class, either directly or to be stored in an object literal\nfor use at instantiation.",
          +            "itemtype": "method",
          +            "name": "_setBaseAttribute",
          +            "params": [
          +                {
          +                    "name": "item",
          +                    "description": "Object or instance in which the attribute resides.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "key",
          +                    "description": "Attribute whose value will be assigned.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "value",
          +                    "description": "Value to be assigned to the attribute.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 503,
          +            "description": "Creates `Axis` instances.",
          +            "itemtype": "method",
          +            "name": "_setAxes",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Object containing `Axis` instances or objects in which to construct `Axis` instances.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 619,
          +            "description": "Adds axes to the chart.",
          +            "itemtype": "method",
          +            "name": "_addAxes",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 676,
          +            "description": "Renders the Graph.",
          +            "itemtype": "method",
          +            "name": "_addSeries",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 690,
          +            "description": "Adds gridlines to the chart.",
          +            "itemtype": "method",
          +            "name": "_addGridlines",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 763,
          +            "description": "Returns all the keys contained in a  `dataProvider`.",
          +            "itemtype": "method",
          +            "name": "_getAllKeys",
          +            "params": [
          +                {
          +                    "name": "dp",
          +                    "description": "Collection of objects to be parsed.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 791,
          +            "description": "Default Function for the axes attribute.",
          +            "itemtype": "method",
          +            "name": "_getDefaultAxes",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 803,
          +            "description": "Generates and returns a key-indexed object containing `Axis` instances or objects used to create `Axis` instances.",
          +            "itemtype": "method",
          +            "name": "_parseAxes",
          +            "params": [
          +                {
          +                    "name": "axes",
          +                    "description": "Object containing `Axis` instances or `Axis` attributes.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 970,
          +            "description": "Determines the position of an axis when one is not specified.",
          +            "itemtype": "method",
          +            "name": "_getDefaultAxisPosition",
          +            "params": [
          +                {
          +                    "name": "axis",
          +                    "description": "`Axis` instance.",
          +                    "type": "Axis"
          +                },
          +                {
          +                    "name": "valueAxes",
          +                    "description": "Array of `Axis` instances.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "position",
          +                    "description": "Default position depending on the direction of the chart and type of axis.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1014,
          +            "description": "Returns an object literal containing a categoryItem and a valueItem for a given series index. Below is the structure of each:",
          +            "itemtype": "method",
          +            "name": "getSeriesItems",
          +            "params": [
          +                {
          +                    "name": "series",
          +                    "description": "Reference to a series.",
          +                    "type": "CartesianSeries"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index of the specified item within a series.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object An object literal containing the following:\n\n <dl>\n     <dt>categoryItem</dt><dd>Object containing the following data related to the category axis of the series.\n <dl>\n     <dt>axis</dt><dd>Reference to the category axis of the series.</dd>\n     <dt>key</dt><dd>Category key for the series.</dd>\n     <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>\n </dl>\n     </dd>\n     <dt>valueItem</dt><dd>Object containing the following data related to the category axis of the series.\n <dl>\n     <dt>axis</dt><dd>Reference to the value axis of the series.</dd>\n     <dt>key</dt><dd>Value key for the series.</dd>\n     <dt>value</dt><dd>Value on the axis corresponding to the series index.</dd>\n </dl>\n     </dd>\n </dl>"
          +            },
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1080,
          +            "description": "Handler for sizeChanged event.",
          +            "itemtype": "method",
          +            "name": "_sizeChanged",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1102,
          +            "description": "Returns the maximum distance in pixels that the extends outside the top bounds of all vertical axes.",
          +            "itemtype": "method",
          +            "name": "_getTopOverflow",
          +            "params": [
          +                {
          +                    "name": "set1",
          +                    "description": "Collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "set2",
          +                    "description": "Seconf collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "width",
          +                    "description": "Width of the axes",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1140,
          +            "description": "Returns the maximum distance in pixels that the extends outside the right bounds of all horizontal axes.",
          +            "itemtype": "method",
          +            "name": "_getRightOverflow",
          +            "params": [
          +                {
          +                    "name": "set1",
          +                    "description": "Collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "set2",
          +                    "description": "Seconf collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "width",
          +                    "description": "Width of the axes",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1178,
          +            "description": "Returns the maximum distance in pixels that the extends outside the left bounds of all horizontal axes.",
          +            "itemtype": "method",
          +            "name": "_getLeftOverflow",
          +            "params": [
          +                {
          +                    "name": "set1",
          +                    "description": "Collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "set2",
          +                    "description": "Seconf collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "width",
          +                    "description": "Width of the axes",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1216,
          +            "description": "Returns the maximum distance in pixels that the extends outside the bottom bounds of all vertical axes.",
          +            "itemtype": "method",
          +            "name": "_getBottomOverflow",
          +            "params": [
          +                {
          +                    "name": "set1",
          +                    "description": "Collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "set2",
          +                    "description": "Seconf collection of axes to check.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "height",
          +                    "description": "Height of the axes",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1254,
          +            "description": "Redraws and position all the components of the chart instance.",
          +            "itemtype": "method",
          +            "name": "_redraw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1518,
          +            "description": "Destructor implementation for the CartesianChart class. Calls destroy on all axes, series and the Graph instance.\nRemoves the tooltip and overlay HTML elements.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1575,
          +            "description": "Returns the appropriate message based on the key press.",
          +            "itemtype": "method",
          +            "name": "_getAriaMessage",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "The keycode that was pressed.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1658,
          +            "description": "Indicates whether axis labels are allowed to overflow beyond the bounds of the chart's content box.",
          +            "itemtype": "attribute",
          +            "name": "allowContentOverflow",
          +            "type": "Boolean",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1668,
          +            "description": "Style object for the axes.",
          +            "itemtype": "attribute",
          +            "name": "axesStyles",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1712,
          +            "description": "Style object for the series",
          +            "itemtype": "attribute",
          +            "name": "seriesStyles",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1775,
          +            "description": "Styles for the graph.",
          +            "itemtype": "attribute",
          +            "name": "graphStyles",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1801,
          +            "description": "Style properties for the chart. Contains a key indexed hash of the following:\n <dl>\n     <dt>series</dt><dd>A key indexed hash containing references to the `styles` attribute for each series in the chart.\n     Specific style attributes vary depending on the series:\n     <ul>\n         <li><a href=\"AreaSeries.html#attr_styles\">AreaSeries</a></li>\n         <li><a href=\"BarSeries.html#attr_styles\">BarSeries</a></li>\n         <li><a href=\"ColumnSeries.html#attr_styles\">ColumnSeries</a></li>\n         <li><a href=\"ComboSeries.html#attr_styles\">ComboSeries</a></li>\n         <li><a href=\"LineSeries.html#attr_styles\">LineSeries</a></li>\n         <li><a href=\"MarkerSeries.html#attr_styles\">MarkerSeries</a></li>\n         <li><a href=\"SplineSeries.html#attr_styles\">SplineSeries</a></li>\n     </ul>\n     </dd>\n     <dt>axes</dt><dd>A key indexed hash containing references to the `styles` attribute for each axes in the chart. Specific\n     style attributes can be found in the <a href=\"Axis.html#attr_styles\">Axis</a> class.</dd>\n     <dt>graph</dt><dd>A reference to the `styles` attribute in the chart. Specific style attributes can be found in the\n     <a href=\"Graph.html#attr_styles\">Graph</a> class.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1866,
          +            "description": "Axes to appear in the chart. This can be a key indexed hash of axis instances or object literals\nused to construct the appropriate axes.",
          +            "itemtype": "attribute",
          +            "name": "axes",
          +            "type": "Object",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1882,
          +            "description": "Collection of series to appear on the chart. This can be an array of Series instances or object literals\nused to construct the appropriate series.",
          +            "itemtype": "attribute",
          +            "name": "seriesCollection",
          +            "type": "Array",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1898,
          +            "description": "Reference to the left-aligned axes for the chart.",
          +            "itemtype": "attribute",
          +            "name": "leftAxesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1907,
          +            "description": "Reference to the bottom-aligned axes for the chart.",
          +            "itemtype": "attribute",
          +            "name": "bottomAxesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1916,
          +            "description": "Reference to the right-aligned axes for the chart.",
          +            "itemtype": "attribute",
          +            "name": "rightAxesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1925,
          +            "description": "Reference to the top-aligned axes for the chart.",
          +            "itemtype": "attribute",
          +            "name": "topAxesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1934,
          +            "description": "Indicates whether or not the chart is stacked.",
          +            "itemtype": "attribute",
          +            "name": "stacked",
          +            "type": "Boolean",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1944,
          +            "description": "Direction of chart's category axis when there is no series collection specified. Charts can\nbe horizontal or vertical. When the chart type is column, the chart is horizontal.\nWhen the chart type is bar, the chart is vertical.",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1974,
          +            "description": "Indicates whether or not an area is filled in a combo chart.",
          +            "itemtype": "attribute",
          +            "name": "showAreaFill",
          +            "type": "Boolean",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1982,
          +            "description": "Indicates whether to display markers in a combo chart.",
          +            "itemtype": "attribute",
          +            "name": "showMarkers",
          +            "type": "Boolean",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1990,
          +            "description": "Indicates whether to display lines in a combo chart.",
          +            "itemtype": "attribute",
          +            "name": "showLines",
          +            "type": "Boolean",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 1998,
          +            "description": "Indicates the key value used to identify a category axis in the `axes` hash. If\nnot specified, the categoryKey attribute value will be used.",
          +            "itemtype": "attribute",
          +            "name": "categoryAxisName",
          +            "type": "String",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 2008,
          +            "description": "Indicates the key value used to identify a the series axis when an axis not generated.",
          +            "itemtype": "attribute",
          +            "name": "valueAxisName",
          +            "type": "String",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 2018,
          +            "description": "Reference to the horizontalGridlines for the chart.",
          +            "itemtype": "attribute",
          +            "name": "horizontalGridlines",
          +            "type": "Gridlines",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 2052,
          +            "description": "Reference to the verticalGridlines for the chart.",
          +            "itemtype": "attribute",
          +            "name": "verticalGridlines",
          +            "type": "Gridlines",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 2086,
          +            "description": "Type of chart when there is no series collection specified.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChart.js",
          +            "line": 2123,
          +            "description": "Reference to the category axis used by the chart.",
          +            "itemtype": "attribute",
          +            "name": "categoryAxis",
          +            "type": "Axis",
          +            "class": "CartesianChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 56,
          +            "description": "Displays items horizontally in a legend.",
          +            "itemtype": "method",
          +            "name": "_positionLegendItems",
          +            "params": [
          +                {
          +                    "name": "items",
          +                    "description": "Array of items to display in the legend.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "maxWidth",
          +                    "description": "The width of the largest item in the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "maxHeight",
          +                    "description": "The height of the largest item in the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalWidth",
          +                    "description": "The total width of all items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalHeight",
          +                    "description": "The total height of all items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "padding",
          +                    "description": "The left, top, right and bottom padding properties for the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "horizontalGap",
          +                    "description": "The horizontal distance between items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "verticalGap",
          +                    "description": "The vertical distance between items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "hAlign",
          +                    "description": "The horizontal alignment of the legend.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "vAlign",
          +                    "description": "The vertical alignment of the legend.",
          +                    "type": "String"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "HorizontalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 133,
          +            "description": "Creates row and total width arrays used for displaying multiple rows of\nlegend items based on the items, available width and horizontalGap for the legend.",
          +            "itemtype": "method",
          +            "name": "_setRowArrays",
          +            "params": [
          +                {
          +                    "name": "items",
          +                    "description": "Array of legend items to display in a legend.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "limit",
          +                    "description": "Total available width for displaying items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "horizontalGap",
          +                    "description": "Horizontal distance between items in a legend.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "HorizontalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 177,
          +            "description": "Returns the starting x-coordinate for a row of legend items.",
          +            "itemtype": "method",
          +            "name": "getStartPoint",
          +            "params": [
          +                {
          +                    "name": "w",
          +                    "description": "Width of the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalWidth",
          +                    "description": "Total width of all labels in the row.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "align",
          +                    "description": "Horizontal alignment of items for the legend.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "padding",
          +                    "description": "Object contain left, top, right and bottom padding properties.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "HorizontalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 215,
          +            "description": "Displays items vertically in a legend.",
          +            "itemtype": "method",
          +            "name": "_positionLegendItems",
          +            "params": [
          +                {
          +                    "name": "items",
          +                    "description": "Array of items to display in the legend.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "maxWidth",
          +                    "description": "The width of the largest item in the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "maxHeight",
          +                    "description": "The height of the largest item in the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalWidth",
          +                    "description": "The total width of all items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalHeight",
          +                    "description": "The total height of all items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "padding",
          +                    "description": "The left, top, right and bottom padding properties for the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "horizontalGap",
          +                    "description": "The horizontal distance between items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "verticalGap",
          +                    "description": "The vertical distance between items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "hAlign",
          +                    "description": "The horizontal alignment of the legend.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "vAlign",
          +                    "description": "The vertical alignment of the legend.",
          +                    "type": "String"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 295,
          +            "description": "Creates column and total height arrays used for displaying multiple columns of\nlegend items based on the items, available height and verticalGap for the legend.",
          +            "itemtype": "method",
          +            "name": "_setColumnArrays",
          +            "params": [
          +                {
          +                    "name": "items",
          +                    "description": "Array of legend items to display in a legend.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "limit",
          +                    "description": "Total available height for displaying items in a legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "verticalGap",
          +                    "description": "Vertical distance between items in a legend.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 339,
          +            "description": "Returns the starting y-coordinate for a column of legend items.",
          +            "itemtype": "method",
          +            "name": "getStartPoint",
          +            "params": [
          +                {
          +                    "name": "h",
          +                    "description": "Height of the legend.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "totalHeight",
          +                    "description": "Total height of all labels in the column.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "align",
          +                    "description": "Vertical alignment of items for the legend.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "padding",
          +                    "description": "Object contain left, top, right and bottom padding properties.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 370,
          +            "description": "Redraws and position all the components of the chart instance.",
          +            "itemtype": "method",
          +            "name": "_redraw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 662,
          +            "description": "Positions the legend in a chart and returns the properties of the legend to be used in the \nchart's layout algorithm.",
          +            "itemtype": "method",
          +            "name": "_getLayoutDimensions",
          +            "return": {
          +                "description": "The left, top, right and bottom values for the legend.",
          +                "type": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianChartLegend.js",
          +            "line": 716,
          +            "description": "Destructor implementation for the CartesianChart class. Calls destroy on all axes, series, legend (if available) and the Graph instance.\nRemoves the tooltip and overlay HTML elements.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "VerticalLegendLayout",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 11,
          +            "description": "Storage for `xDisplayName` attribute.",
          +            "itemtype": "property",
          +            "name": "_xDisplayName",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 20,
          +            "description": "Storage for `yDisplayName` attribute.",
          +            "itemtype": "property",
          +            "name": "_yDisplayName",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 29,
          +            "description": "Th x-coordinate for the left edge of the series.",
          +            "itemtype": "property",
          +            "name": "_leftOrigin",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 38,
          +            "description": "The y-coordinate for the bottom edge of the series.",
          +            "itemtype": "property",
          +            "name": "_bottomOrigin",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 47,
          +            "itemtype": "method",
          +            "name": "render",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 59,
          +            "description": "Adds event listeners.",
          +            "itemtype": "method",
          +            "name": "addListeners",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 105,
          +            "description": "Event handler for the xAxisChange event.",
          +            "itemtype": "method",
          +            "name": "_xAxisChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 119,
          +            "description": "Event handler the yAxisChange event.",
          +            "itemtype": "method",
          +            "name": "_yAxisChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 133,
          +            "description": "Constant used to generate unique id.",
          +            "itemtype": "property",
          +            "name": "GUID",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 142,
          +            "description": "Event handler for xDataChange event.",
          +            "itemtype": "method",
          +            "name": "_xDataChangeHandler",
          +            "params": [
          +                {
          +                    "name": "event",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 158,
          +            "description": "Event handler for yDataChange event.",
          +            "itemtype": "method",
          +            "name": "_yDataChangeHandler",
          +            "params": [
          +                {
          +                    "name": "event",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 174,
          +            "description": "Checks to ensure that both xAxis and yAxis data are available. If so, set the `xData` and `yData` attributes and return `true`. Otherwise, return `false`.",
          +            "itemtype": "method",
          +            "name": "_updateAxisData",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 204,
          +            "description": "Draws the series is the xAxis and yAxis data are both available.",
          +            "itemtype": "method",
          +            "name": "validate",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 222,
          +            "description": "Creates a `Graphic` instance.",
          +            "itemtype": "method",
          +            "name": "_setCanvas",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 235,
          +            "description": "Calculates the coordinates for the series.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 321,
          +            "description": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "draw",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 362,
          +            "description": "Default value for plane offsets when the parent chart's `interactiveType` is `planar`.",
          +            "itemtype": "property",
          +            "name": "_defaultPlaneOffset",
          +            "type": "Number",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 371,
          +            "description": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 389,
          +            "description": "Collection of default colors used for lines in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultLineColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 398,
          +            "description": "Collection of default colors used for marker fills in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultFillColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 407,
          +            "description": "Collection of default colors used for marker borders in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultBorderColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 416,
          +            "description": "Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultSliceColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 425,
          +            "description": "Parses a color based on a series order and type.",
          +            "itemtype": "method",
          +            "name": "_getDefaultColor",
          +            "params": [
          +                {
          +                    "name": "index",
          +                    "description": "Index indicating the series order.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "type",
          +                    "description": "Indicates which type of object needs the color.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 453,
          +            "description": "Shows/hides contents of the series.",
          +            "itemtype": "method",
          +            "name": "_handleVisibleChange",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 465,
          +            "description": "Returns the sum of all values for the series.",
          +            "itemtype": "method",
          +            "name": "getTotalValues",
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 477,
          +            "description": "Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 501,
          +            "description": "Name used for for displaying data related to the x-coordinate.",
          +            "itemtype": "attribute",
          +            "name": "xDisplayName",
          +            "type": "String",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 520,
          +            "description": "Name used for for displaying data related to the y-coordinate.",
          +            "itemtype": "attribute",
          +            "name": "yDisplayName",
          +            "type": "String",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 539,
          +            "description": "Name used for for displaying category data",
          +            "itemtype": "attribute",
          +            "name": "categoryDisplayName",
          +            "type": "String",
          +            "readonly": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 555,
          +            "description": "Name used for for displaying value data",
          +            "itemtype": "attribute",
          +            "name": "valueDisplayName",
          +            "type": "String",
          +            "readonly": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 571,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "cartesian",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 582,
          +            "description": "Order of this instance of this `type`.",
          +            "itemtype": "attribute",
          +            "name": "order",
          +            "type": "Number",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 590,
          +            "description": "Order of the instance",
          +            "itemtype": "attribute",
          +            "name": "graphOrder",
          +            "type": "Number",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 598,
          +            "description": "x coordinates for the series.",
          +            "itemtype": "attribute",
          +            "name": "xcoords",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 606,
          +            "description": "y coordinates for the series",
          +            "itemtype": "attribute",
          +            "name": "ycoords",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 614,
          +            "description": "Reference to the `Chart` application.",
          +            "itemtype": "attribute",
          +            "name": "chart",
          +            "type": "ChartBase",
          +            "readonly": "",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 630,
          +            "description": "Reference to the `Graph` in which the series is drawn into.",
          +            "itemtype": "attribute",
          +            "name": "graph",
          +            "type": "Graph",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 638,
          +            "description": "Reference to the `Axis` instance used for assigning \nx-values to the graph.",
          +            "itemtype": "attribute",
          +            "name": "xAxis",
          +            "type": "Axis",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 647,
          +            "description": "Reference to the `Axis` instance used for assigning \ny-values to the graph.",
          +            "itemtype": "attribute",
          +            "name": "yAxis",
          +            "type": "Axis",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 656,
          +            "description": "Indicates which array to from the hash of value arrays in \nthe x-axis `Axis` instance.",
          +            "itemtype": "attribute",
          +            "name": "xKey",
          +            "type": "String",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 670,
          +            "description": "Indicates which array to from the hash of value arrays in \nthe y-axis `Axis` instance.",
          +            "itemtype": "attribute",
          +            "name": "yKey",
          +            "type": "String",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 684,
          +            "description": "Array of x values for the series.",
          +            "itemtype": "attribute",
          +            "name": "xData",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 692,
          +            "description": "Array of y values for the series.",
          +            "itemtype": "attribute",
          +            "name": "yData",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 700,
          +            "description": "Indicates whether the Series has been through its initial set up.",
          +            "itemtype": "attribute",
          +            "name": "rendered",
          +            "type": "Boolean",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 725,
          +            "description": "Returns the height of the parent graph",
          +            "itemtype": "attribute",
          +            "name": "height",
          +            "type": "Number",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 740,
          +            "description": "Indicates whether to show the series",
          +            "itemtype": "attribute",
          +            "name": "visible",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 751,
          +            "description": "Collection of area maps along the xAxis. Used to determine mouseover for multiple\nseries.",
          +            "itemtype": "attribute",
          +            "name": "xMarkerPlane",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 760,
          +            "description": "Collection of area maps along the yAxis. Used to determine mouseover for multiple\nseries.",
          +            "itemtype": "attribute",
          +            "name": "yMarkerPlane",
          +            "type": "Array",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 769,
          +            "description": "Distance from a data coordinate to the left/right for setting a hotspot.",
          +            "itemtype": "attribute",
          +            "name": "xMarkerPlaneOffset",
          +            "type": "Number",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 786,
          +            "description": "Distance from a data coordinate to the top/bottom for setting a hotspot.",
          +            "itemtype": "attribute",
          +            "name": "yMarkerPlaneOffset",
          +            "type": "Number",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 803,
          +            "description": "Direction of the series",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CartesianSeries.js",
          +            "line": 813,
          +            "description": "Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.",
          +            "itemtype": "attribute",
          +            "name": "groupMarkers",
          +            "type": "Boolean",
          +            "class": "CartesianSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 19,
          +            "description": "Formats a label based on the axis type and optionally specified format.",
          +            "itemtype": "method",
          +            "name": "formatLabel",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "format",
          +                    "description": "Pattern used to format the value.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 32,
          +            "description": "Object storing key data.",
          +            "itemtype": "property",
          +            "name": "_indices",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 40,
          +            "description": "Constant used to generate unique id.",
          +            "itemtype": "property",
          +            "name": "GUID",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 49,
          +            "description": "Type of data used in `Axis`.",
          +            "itemtype": "property",
          +            "name": "_dataType",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 58,
          +            "description": "Calculates the maximum and minimum values for the `Axis`.",
          +            "itemtype": "method",
          +            "name": "_updateMinAndMax",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 70,
          +            "description": "Gets an array of values based on a key.",
          +            "itemtype": "method",
          +            "name": "_getKeyArray",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Value key associated with the data array.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array in which the data resides.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 100,
          +            "description": "Sets data by key",
          +            "itemtype": "method",
          +            "name": "_setDataByKey",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Key value to use.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array to use.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 131,
          +            "description": "Returns an array of values based on an identifier key.",
          +            "itemtype": "method",
          +            "name": "getDataByKey",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "value used to identify the array",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 152,
          +            "description": "Returns the total number of majorUnits that will appear on an axis.",
          +            "itemtype": "method",
          +            "name": "getTotalMajorUnits",
          +            "params": [
          +                {
          +                    "name": "majorUnit",
          +                    "description": "Object containing properties related to the majorUnit.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "len",
          +                    "description": "Length of the axis.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 165,
          +            "description": "Returns the distance between major units on an axis.",
          +            "itemtype": "method",
          +            "name": "getMajorUnitDistance",
          +            "params": [
          +                {
          +                    "name": "len",
          +                    "description": "Number of ticks",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "uiLen",
          +                    "description": "Size of the axis.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "majorUnit",
          +                    "description": "Hash of properties used to determine the majorUnit",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 188,
          +            "description": "Gets the distance that the first and last ticks are offset from there respective\nedges.",
          +            "itemtype": "method",
          +            "name": "getEdgeOffset",
          +            "params": [
          +                {
          +                    "name": "ct",
          +                    "description": "Number of ticks on the axis.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Length (in pixels) of the axis.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 202,
          +            "description": "Returns a value based of a key value and an index.",
          +            "itemtype": "method",
          +            "name": "getKeyValueAt",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "value used to look up the correct array",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "within the array",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 221,
          +            "description": "Calculates and returns a value based on the number of labels and the index of\nthe current label.",
          +            "itemtype": "method",
          +            "name": "getLabelByIndex",
          +            "params": [
          +                {
          +                    "name": "i",
          +                    "description": "Index of the label.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Total number of labels.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 246,
          +            "description": "Returns a string corresponding to the first label on an \naxis.",
          +            "itemtype": "method",
          +            "name": "getMinimumValue",
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CategoryAxis.js",
          +            "line": 260,
          +            "description": "Returns a string corresponding to the last label on an \naxis.",
          +            "itemtype": "method",
          +            "name": "getMaximumValue",
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "CategoryAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 11,
          +            "description": "Sets the `aria-label` for the chart.",
          +            "itemtype": "attribute",
          +            "name": "ariaLabel",
          +            "type": "String",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 31,
          +            "description": "Sets the aria description for the chart.",
          +            "itemtype": "attribute",
          +            "name": "ariaDescription",
          +            "type": "String",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 51,
          +            "description": "Reference to the default tooltip available for the chart.\n<p>Contains the following properties:</p>\n <dl>\n     <dt>node</dt><dd>Reference to the actual dom node</dd>\n     <dt>showEvent</dt><dd>Event that should trigger the tooltip</dd>\n     <dt>hideEvent</dt><dd>Event that should trigger the removal of a tooltip (can be an event or an array of events)</dd>\n     <dt>styles</dt><dd>A hash of style properties that will be applied to the tooltip node</dd>\n     <dt>show</dt><dd>Indicates whether or not to show the tooltip</dd>\n     <dt>markerEventHandler</dt><dd>Displays and hides tooltip based on marker events</dd>\n     <dt>planarEventHandler</dt><dd>Displays and hides tooltip based on planar events</dd>\n     <dt>markerLabelFunction</dt><dd>Reference to the function used to format a marker event triggered tooltip's text. The method contains \n     the following arguments:\n <dl>\n     <dt>categoryItem</dt><dd>An object containing the following:\n <dl>\n     <dt>axis</dt><dd>The axis to which the category is bound.</dd>\n     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided).</dd>\n     <dt>key</dt><dd>The key of the category.</dd>\n     <dt>value</dt><dd>The value of the category.</dd>\n </dl>\n </dd>\n <dt>valueItem</dt><dd>An object containing the following:\n     <dl>\n         <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>\n         <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>\n         <dt>key</dt><dd>The key for the series.</dd>\n         <dt>value</dt><dd>The value for the series item.</dd> \n     </dl>\n </dd>\n <dt>itemIndex</dt><dd>The index of the item within the series.</dd>\n <dt>series</dt><dd> The `CartesianSeries` instance of the item.</dd>\n <dt>seriesIndex</dt><dd>The index of the series in the `seriesCollection`.</dd>\n </dl>\n The method returns an `HTMLElement` which is written into the DOM using `appendChild`. If you override this method and choose to return an html string, you\n will also need to override the tooltip's `setTextFunction` method to accept an html string.\n </dd>\n <dt>planarLabelFunction</dt><dd>Reference to the function used to format a planar event triggered tooltip's text\n <dl>\n     <dt>categoryAxis</dt><dd> `CategoryAxis` Reference to the categoryAxis of the chart.\n     <dt>valueItems</dt><dd>Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:\n <dl>\n     <dt>axis</dt><dd>The value axis of the series.</dd>\n     <dt>key</dt><dd>The key for the series.</dd>\n     <dt>value</dt><dd>The value for the series item.</dd>\n     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>\n </dl> \n </dd>\n     <dt>index</dt><dd>The index of the item within its series.</dd>\n     <dt>seriesArray</dt><dd>Array of series instances for each value item.</dd>\n     <dt>seriesIndex</dt><dd>The index of the series in the `seriesCollection`.</dd>\n </dl>\n </dd>\n </dl>\n The method returns an `HTMLElement` which is written into the DOM using `appendChild`. If you override this method and choose to return an html string, you\n will also need to override the tooltip's `setTextFunction` method to accept an html string.\n </dd>\n <dt>setTextFunction</dt><dd>Method that writes content returned from `planarLabelFunction` or `markerLabelFunction` into the the tooltip node.\n has the following signature:\n <dl>\n     <dt>label</dt><dd>The `HTMLElement` that the content is to be added.</dd>\n     <dt>val</dt><dd>The content to be rendered into tooltip. This can be a `String` or `HTMLElement`. If an HTML string is used, it will be rendered as a\n     string.</dd>\n </dl>\n </dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "tooltip",
          +            "type": "Object",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 129,
          +            "description": "The key value used for the chart's category axis.",
          +            "itemtype": "attribute",
          +            "name": "categoryKey",
          +            "type": "String",
          +            "default": "category",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 140,
          +            "description": "Indicates the type of axis to use for the category axis.\n\n <dl>\n     <dt>category</dt><dd>Specifies a `CategoryAxis`.</dd>\n     <dt>time</dt><dd>Specifies a `TimeAxis</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "categoryType",
          +            "type": "String",
          +            "default": "category",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 156,
          +            "description": "Indicates the the type of interactions that will fire events.\n\n <dl>\n     <dt>marker</dt><dd>Events will be broadcasted when the mouse interacts with individual markers.</dd>\n     <dt>planar</dt><dd>Events will be broadcasted when the mouse intersects the plane of any markers on the chart.</dd>\n     <dt>none</dt><dd>No events will be broadcasted.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "interactionType",
          +            "type": "String",
          +            "default": "marker",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 173,
          +            "description": "Data used to generate the chart.",
          +            "itemtype": "attribute",
          +            "name": "dataProvider",
          +            "type": "Array",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 186,
          +            "description": "A collection of keys that map to the series axes. If no keys are set,\nthey will be generated automatically depending on the data structure passed into \nthe chart.",
          +            "itemtype": "attribute",
          +            "name": "seriesKeys",
          +            "type": "Array",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 196,
          +            "description": "Reference to all the axes in the chart.",
          +            "itemtype": "attribute",
          +            "name": "axesCollection",
          +            "type": "Array",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 204,
          +            "description": "Reference to graph instance.",
          +            "itemtype": "attribute",
          +            "name": "graph",
          +            "type": "Graph",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 214,
          +            "description": "Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.",
          +            "itemtype": "attribute",
          +            "name": "groupMarkers",
          +            "type": "Boolean",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 235,
          +            "description": "Handler for itemRendered event.",
          +            "itemtype": "method",
          +            "name": "_itemRendered",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 251,
          +            "description": "Default value function for the `Graph` attribute.",
          +            "itemtype": "method",
          +            "name": "_getGraph",
          +            "return": {
          +                "description": "Graph"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 270,
          +            "description": "Returns a series instance by index or key value.",
          +            "itemtype": "method",
          +            "name": "getSeries",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": ""
          +                }
          +            ],
          +            "return": {
          +                "description": "CartesianSeries"
          +            },
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 295,
          +            "description": "Returns an `Axis` instance by key reference. If the axis was explicitly set through the `axes` attribute,\nthe key will be the same as the key used in the `axes` object. For default axes, the key for\nthe category axis is the value of the `categoryKey` (`category`). For the value axis, the default \nkey is `values`.",
          +            "itemtype": "method",
          +            "name": "getAxisByKey",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Key reference used to look up the axis.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Axis"
          +            },
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 316,
          +            "description": "Returns the category axis for the chart.",
          +            "itemtype": "method",
          +            "name": "getCategoryAxis",
          +            "return": {
          +                "description": "Axis"
          +            },
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 334,
          +            "description": "Default direction of the chart.",
          +            "itemtype": "property",
          +            "name": "_direction",
          +            "type": "String",
          +            "default": "horizontal",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 344,
          +            "description": "Storage for the `dataProvider` attribute.",
          +            "itemtype": "property",
          +            "name": "_dataProvider",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 353,
          +            "description": "Setter method for `dataProvider` attribute.",
          +            "itemtype": "method",
          +            "name": "_setDataValues",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Array to be set as `dataProvider`.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 386,
          +            "description": "Storage for `seriesCollection` attribute.",
          +            "itemtype": "property",
          +            "name": "_seriesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 395,
          +            "description": "Setter method for `seriesCollection` attribute.",
          +            "itemtype": "property",
          +            "name": "_setSeriesCollection",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts",
          +            "subprops": [
          +                {
          +                    "name": "val",
          +                    "description": "Array of either `CartesianSeries` instances or objects containing series attribute key value pairs.",
          +                    "type": "Array"
          +                }
          +            ]
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 406,
          +            "description": "Helper method that returns the axis class that a key references.",
          +            "itemtype": "method",
          +            "name": "_getAxisClass",
          +            "params": [
          +                {
          +                    "name": "t",
          +                    "description": "The type of axis.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Axis"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 419,
          +            "description": "Key value pairs of axis types.",
          +            "itemtype": "property",
          +            "name": "_axisClass",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 433,
          +            "description": "Collection of axes.",
          +            "itemtype": "property",
          +            "name": "_axes",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 442,
          +            "itemtype": "method",
          +            "name": "initializer",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 454,
          +            "itemtype": "method",
          +            "name": "renderUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 475,
          +            "description": "Creates an aria `live-region`, `aria-label` and `aria-describedby` for the Chart.",
          +            "itemtype": "method",
          +            "name": "_setAriaElements",
          +            "params": [
          +                {
          +                    "name": "cb",
          +                    "description": "Reference to the Chart's `contentBox` attribute.",
          +                    "type": "Node"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 505,
          +            "description": "Sets a node offscreen for use as aria-description or aria-live-regin.",
          +            "itemtype": "method",
          +            "name": "_setOffscreen",
          +            "return": {
          +                "description": "Node"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 525,
          +            "itemtype": "method",
          +            "name": "syncUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 534,
          +            "itemtype": "method",
          +            "name": "bindUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 646,
          +            "description": "Event handler for marker events.",
          +            "itemtype": "method",
          +            "name": "_markerEventDispatcher",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 678,
          +            "description": "Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseover event.",
          +            "itemtype": "event",
          +            "name": "markerEvent:mouseover",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>\n     <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>\n     <dt>node</dt><dd>The dom node of the marker.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>series</dt><dd>Reference to the series of the marker.</dd>\n     <dt>index</dt><dd>Index of the marker in the series.</dd>\n     <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 697,
          +            "description": "Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseout event.",
          +            "itemtype": "event",
          +            "name": "markerEvent:mouseout",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>\n     <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>\n     <dt>node</dt><dd>The dom node of the marker.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>series</dt><dd>Reference to the series of the marker.</dd>\n     <dt>index</dt><dd>Index of the marker in the series.</dd>\n     <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 715,
          +            "description": "Broadcasts when `interactionType` is set to `marker` and a series marker has received a mousedown event.",
          +            "itemtype": "event",
          +            "name": "markerEvent:mousedown",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>\n     <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>\n     <dt>node</dt><dd>The dom node of the marker.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>series</dt><dd>Reference to the series of the marker.</dd>\n     <dt>index</dt><dd>Index of the marker in the series.</dd>\n     <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 733,
          +            "description": "Broadcasts when `interactionType` is set to `marker` and a series marker has received a mouseup event.",
          +            "itemtype": "event",
          +            "name": "markerEvent:mouseup",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>\n     <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>\n     <dt>node</dt><dd>The dom node of the marker.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>series</dt><dd>Reference to the series of the marker.</dd>\n     <dt>index</dt><dd>Index of the marker in the series.</dd>\n     <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 751,
          +            "description": "Broadcasts when `interactionType` is set to `marker` and a series marker has received a click event.",
          +            "itemtype": "event",
          +            "name": "markerEvent:click",
          +            "preventable": "false",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event facade with the following additional\n  properties:\n <dl>\n     <dt>categoryItem</dt><dd>Hash containing information about the category `Axis`.</dd>\n     <dt>valueItem</dt><dd>Hash containing information about the value `Axis`.</dd>\n     <dt>node</dt><dd>The dom node of the marker.</dd>\n     <dt>x</dt><dd>The x-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>y</dt><dd>The y-coordinate of the mouse in relation to the Chart.</dd>\n     <dt>pageX</dt><dd>The x location of the event on the page (including scroll)</dd>\n     <dt>pageY</dt><dd>The y location of the event on the page (including scroll)</dd>\n     <dt>series</dt><dd>Reference to the series of the marker.</dd>\n     <dt>index</dt><dd>Index of the marker in the series.</dd>\n     <dt>seriesIndex</dt><dd>The `order` of the marker's series.</dd>\n     <dt>originEvent</dt><dd>Underlying dom event.</dd>\n </dl>",
          +                    "type": "EventFacade"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 787,
          +            "description": "Event handler for dataProviderChange.",
          +            "itemtype": "method",
          +            "name": "_dataProviderChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 822,
          +            "description": "Event listener for toggling the tooltip. If a tooltip is visible, hide it. If not, it \nwill create and show a tooltip based on the event object.",
          +            "itemtype": "method",
          +            "name": "toggleTooltip",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 842,
          +            "description": "Shows a tooltip",
          +            "itemtype": "method",
          +            "name": "_showTooltip",
          +            "params": [
          +                {
          +                    "name": "msg",
          +                    "description": "Message to dispaly in the tooltip.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "x",
          +                    "description": "x-coordinate",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "y",
          +                    "description": "y-coordinate",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 865,
          +            "description": "Positions the tooltip",
          +            "itemtype": "method",
          +            "name": "_positionTooltip",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 886,
          +            "description": "Hides the default tooltip",
          +            "itemtype": "method",
          +            "name": "hideTooltip",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 902,
          +            "description": "Adds a tooltip to the dom.",
          +            "itemtype": "method",
          +            "name": "_addTooltip",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 923,
          +            "description": "Updates the tooltip attribute.",
          +            "itemtype": "method",
          +            "name": "_updateTooltip",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Object containing properties for the tooltip.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 973,
          +            "description": "Default getter for `tooltip` attribute.",
          +            "itemtype": "method",
          +            "name": "_getTooltip",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 1025,
          +            "description": "Formats tooltip text when `interactionType` is `planar`.",
          +            "itemtype": "method",
          +            "name": "_planarLabelFunction",
          +            "params": [
          +                {
          +                    "name": "categoryAxis",
          +                    "description": "Reference to the categoryAxis of the chart.",
          +                    "type": "Axis"
          +                },
          +                {
          +                    "name": "valueItems",
          +                    "description": "Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:\n <dl>\n     <dt>axis</dt><dd>The value axis of the series.</dd>\n     <dt>key</dt><dd>The key for the series.</dd>\n     <dt>value</dt><dd>The value for the series item.</dd>\n     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>\n </dl>",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "The index of the item within its series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "seriesArray",
          +                    "description": "Array of series instances for each value item.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "seriesIndex",
          +                    "description": "The index of the series in the `seriesCollection`.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "",
          +                "type": "String | HTML"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 1084,
          +            "description": "Formats tooltip text when `interactionType` is `marker`.",
          +            "itemtype": "method",
          +            "name": "_tooltipLabelFunction",
          +            "params": [
          +                {
          +                    "name": "categoryItem",
          +                    "description": "An object containing the following:\n <dl>\n     <dt>axis</dt><dd>The axis to which the category is bound.</dd>\n     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>\n     <dt>key</dt><dd>The key of the category.</dd>\n     <dt>value</dt><dd>The value of the category</dd>\n </dl>",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "valueItem",
          +                    "description": "An object containing the following:\n <dl>\n     <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>\n     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>\n     <dt>key</dt><dd>The key for the series.</dd>\n     <dt>value</dt><dd>The value for the series item.</dd> \n </dl>",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "itemIndex",
          +                    "description": "The index of the item within the series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "series",
          +                    "description": "The `CartesianSeries` instance of the item.",
          +                    "type": "CartesianSeries"
          +                },
          +                {
          +                    "name": "seriesIndex",
          +                    "description": "The index of the series in the `seriesCollection`.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "",
          +                "type": "String | HTML"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 1131,
          +            "description": "Event handler for the tooltipChange.",
          +            "itemtype": "method",
          +            "name": "_tooltipChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartBase.js",
          +            "line": 1156,
          +            "description": "Updates the content of text field. This method writes a value into a text field using \n`appendChild`. If the value is a `String`, it is converted to a `TextNode` first.",
          +            "itemtype": "method",
          +            "name": "_setText",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "label to be updated",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "val",
          +                    "description": "value with which to update the label",
          +                    "type": "String"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartBase",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 10,
          +            "description": "Initializes the chart.",
          +            "itemtype": "method",
          +            "name": "initializer",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 21,
          +            "itemtype": "method",
          +            "name": "renderUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 40,
          +            "itemtype": "method",
          +            "name": "bindUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 53,
          +            "itemtype": "method",
          +            "name": "syncUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 67,
          +            "description": "Handles changes to legend.",
          +            "itemtype": "method",
          +            "name": "_updateHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 82,
          +            "description": "Handles position changes.",
          +            "itemtype": "method",
          +            "name": "_positionChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 103,
          +            "description": "Updates the legend when the size changes.",
          +            "itemtype": "method",
          +            "name": "_handleSizeChange",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 122,
          +            "description": "Draws the legend",
          +            "itemtype": "method",
          +            "name": "_drawLegend",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 256,
          +            "description": "Updates the background for the legend.",
          +            "itemtype": "method",
          +            "name": "_updateBackground",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Reference to the legend's styles attribute",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 282,
          +            "description": "Retrieves the marker styles based on the type of series. For series that contain a marker, the marker styles are returned.",
          +            "itemtype": "method",
          +            "name": "_getStylesBySeriesType",
          +            "params": [
          +                {
          +                    "name": "The",
          +                    "description": "series in which the style properties will be received.",
          +                    "type": "CartesianSeries | PieSeries"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object An object containing fill, border and shape information."
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 337,
          +            "description": "Returns a legend item consisting of the following properties:\n <dl>\n   <dt>node</dt><dd>The `Node` containing the legend item elements.</dd>\n     <dt>shape</dt><dd>The `Shape` element for the legend item.</dd>\n     <dt>textNode</dt><dd>The `Node` containing the text></dd>\n     <dt>text</dt><dd></dd>\n </dl>",
          +            "itemtype": "method",
          +            "name": "_getLegendItem",
          +            "params": [
          +                {
          +                    "name": "shapeProps",
          +                    "description": "Reference to the `node` attribute.",
          +                    "type": "Node"
          +                },
          +                {
          +                    "name": "shapeClass",
          +                    "description": "The type of shape",
          +                    "type": "String | Class"
          +                },
          +                {
          +                    "name": "fill",
          +                    "description": "Properties for the shape's fill",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "border",
          +                    "description": "Properties for the shape's border",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "text",
          +                    "description": "String to be rendered as the legend's text",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "width",
          +                    "description": "Total width of the legend item",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "height",
          +                    "description": "Total height of the legend item",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "text",
          +                    "description": "Text for the legendItem",
          +                    "type": "HTML | String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 403,
          +            "description": "Evaluates and returns correct class for drawing a shape.",
          +            "itemtype": "method",
          +            "name": "_getShapeClass",
          +            "return": {
          +                "description": "Shape"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 416,
          +            "description": "Returns the default hash for the `styles` attribute.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 458,
          +            "description": "Gets the default values for series that use the utility. This method is used by\nthe class' `styles` attribute's getter to get build default values.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 475,
          +            "description": "Destroys legend items.",
          +            "itemtype": "method",
          +            "name": "_destroyLegendItems",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 498,
          +            "description": "Maps layout classes.",
          +            "itemtype": "property",
          +            "name": "_layout",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 509,
          +            "description": "Destructor implementation ChartLegend class. Removes all items and the Graphic instance from the widget.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 526,
          +            "description": "Indicates whether the chart's contentBox is the parentNode for the legend.",
          +            "itemtype": "attribute",
          +            "name": "includeInChartLayout",
          +            "type": "Boolean",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 537,
          +            "description": "Reference to the `Chart` instance.",
          +            "itemtype": "attribute",
          +            "name": "chart",
          +            "type": "Chart",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 551,
          +            "description": "Indicates the direction in relation of the legend's layout. The `direction` of the legend is determined by its\n`position` value.",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 562,
          +            "description": "Indicates the position and direction of the legend. Possible values are `left`, `top`, `right` and `bottom`. Values of `left` and\n`right` values have a `direction` of `vertical`. Values of `top` and `bottom` values have a `direction` of `horizontal`.",
          +            "itemtype": "attribute",
          +            "name": "position",
          +            "type": "String",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 588,
          +            "description": "The width of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`. By default, the legend is included in the layout of the `Chart` that \nit references. Under this circumstance, `width` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is determined by the \ndirection of the legend. If the `position` is `left` or `right` or the `direction` is `vertical`, width is `readOnly`. If the position is `top` or `bottom` or the `direction`\nis `horizontal`, width can be explicitly set. If width is not explicitly set, the width will be determined by the width of the legend's parent element.",
          +            "itemtype": "attribute",
          +            "name": "width",
          +            "type": "Number",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 627,
          +            "description": "The height of the legend. Depending on the implementation of the ChartLegend, this value is `readOnly`. By default, the legend is included in the layout of the `Chart` that \nit references. Under this circumstance, `height` is always `readOnly`. When the legend is rendered in its own dom element, the `readOnly` status is determined by the \ndirection of the legend. If the `position` is `top` or `bottom` or the `direction` is `horizontal`, height is `readOnly`. If the position is `left` or `right` or the `direction`\nis `vertical`, height can be explicitly set. If height is not explicitly set, the height will be determined by the width of the legend's parent element.",
          +            "itemtype": "attribute",
          +            "name": "height",
          +            "type": "Number",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 668,
          +            "description": "Indicates the x position of legend.",
          +            "itemtype": "attribute",
          +            "name": "x",
          +            "type": "Number",
          +            "readonly": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 691,
          +            "description": "Indicates the y position of legend.",
          +            "itemtype": "attribute",
          +            "name": "y",
          +            "type": "Number",
          +            "readonly": "",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 714,
          +            "description": "Background for the legend.",
          +            "itemtype": "attribute",
          +            "name": "background",
          +            "type": "Rect",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/ChartLegend.js",
          +            "line": 722,
          +            "description": "Properties used to display and style the ChartLegend.  This attribute is inherited from `Renderer`. Below are the default values:\n\n <dl>\n     <dt>gap</dt><dd>Distance, in pixels, between the `ChartLegend` instance and the chart's content. When `ChartLegend` is rendered within a `Chart` instance this value is applied.</dd>\n     <dt>hAlign</dt><dd>Defines the horizontal alignment of the `items` in a `ChartLegend` rendered in a horizontal direction. This value is applied when the instance's `position` is set to top or bottom. This attribute can be set to left, center or right. The default value is center.</dd>\n     <dt>vAlign</dt><dd>Defines the vertical alignment of the `items` in a `ChartLegend` rendered in vertical direction. This value is applied when the instance's `position` is set to left or right. The attribute can be set to top, middle or bottom. The default value is middle.</dd>\n     <dt>item</dt><dd>Set of style properties applied to the `items` of the `ChartLegend`.\n         <dl>\n             <dt>hSpacing</dt><dd>Horizontal distance, in pixels, between legend `items`.</dd>\n             <dt>vSpacing</dt><dd>Vertical distance, in pixels, between legend `items`.</dd>\n             <dt>label</dt><dd>Properties for the text of an `item`.\n                 <dl>\n                     <dt>color</dt><dd>Color of the text. The default values is \"#808080\".</dd>\n                     <dt>fontSize</dt><dd>Font size for the text. The default value is \"85%\".</dd>\n                 </dl>\n             </dd>\n             <dt>marker</dt><dd>Properties for the `item` markers.\n                 <dl>\n                     <dt>width</dt><dd>Specifies the width of the markers.</dd>\n                     <dt>height</dt><dd>Specifies the height of the markers.</dd>\n                 </dl>\n             </dd>\n         </dl>\n     </dd>\n     <dt>background</dt><dd>Properties for the `ChartLegend` background.\n         <dl>\n             <dt>fill</dt><dd>Properties for the background fill.\n                 <dl>\n                     <dt>color</dt><dd>Color for the fill. The default value is \"#faf9f2\".</dd>\n                 </dl>\n             </dd>\n             <dt>border</dt><dd>Properties for the background border.\n                 <dl>\n                     <dt>color</dt><dd>Color for the border. The default value is \"#dad8c9\".</dd>\n                     <dt>weight</dt><dd>Weight of the border. The default values is 1.</dd>\n                 </dl>\n             </dd>\n         </dl>\n     </dd>\n</dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "ChartLegend",
          +            "module": "charts",
          +            "submodule": "charts-legend"
          +        },
          +        {
          +            "file": "input/charts/CircleGroup.js",
          +            "line": 16,
          +            "description": "Algorithm for drawing shape.",
          +            "itemtype": "method",
          +            "name": "drawShape",
          +            "params": [
          +                {
          +                    "name": "cfg",
          +                    "description": "Parameters used to draw the shape.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "class": "GroupCircle",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/ColumnSeries.js",
          +            "line": 13,
          +            "description": "Helper method for calculating the size of markers.",
          +            "itemtype": "method",
          +            "name": "_getMarkerDimensions",
          +            "params": [
          +                {
          +                    "name": "xcoord",
          +                    "description": "The x-coordinate representing the data point for the marker.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "ycoord",
          +                    "description": "The y-coordinate representing the data point for the marker.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "calculatedSize",
          +                    "description": "The calculated size for the marker. For a `BarSeries` is it the width. For a `ColumnSeries` it is the height.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "offset",
          +                    "description": "Distance of position offset dictated by other marker series in the same graph.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ColumnSeries.js",
          +            "line": 42,
          +            "description": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "ColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ColumnSeries.js",
          +            "line": 106,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "readonly": "",
          +            "default": "column",
          +            "class": "ColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ColumnSeries.js",
          +            "line": 118,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>width</dt><dd>indicates the width of the marker. The default value is 12.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "ColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 15,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 38,
          +            "description": "Toggles visibility",
          +            "itemtype": "method",
          +            "name": "_toggleVisible",
          +            "params": [
          +                {
          +                    "name": "visible",
          +                    "description": "indicates visibilitye",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 78,
          +            "access": "protected",
          +            "tagname": "Returns the default hash for the `styles` attribute.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 97,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "combo",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 108,
          +            "description": "Indicates whether a fill is displayed.",
          +            "itemtype": "attribute",
          +            "name": "showAreaFill",
          +            "type": "Boolean",
          +            "default": "false",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 119,
          +            "description": "Indicates whether lines are displayed.",
          +            "itemtype": "attribute",
          +            "name": "showLines",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 130,
          +            "description": "Indicates whether markers are displayed.",
          +            "itemtype": "attribute",
          +            "name": "showMarkers",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 141,
          +            "description": "Reference to the styles of the markers. These styles can also\nbe accessed through the `styles` attribute. Below are default\nvalues:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#6084d0\", \"#eeb647\", \"#6c6b5f\", \"#d6484f\", \"#ce9ed1\", \"#ff9f3b\", \"#93b7ff\", \"#e0ddd0\", \"#94ecba\", \"#309687\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>\n     <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "marker",
          +            "type": "Object",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 186,
          +            "description": "Reference to the styles of the lines. These styles can also be accessed through the `styles` attribute.\nBelow are the default values:\n <dl>\n     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be\n     retrieved from the following array: \n     `[\"#426ab3\", \"#d09b2c\", \"#000000\", \"#b82837\", \"#b384b5\", \"#ff7200\", \"#779de3\", \"#cbc8ba\", \"#7ed7a6\", \"#007a6c\"]`\n     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>\n     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> \n     <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> \n     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>\n     <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "line",
          +            "type": "Object",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 219,
          +            "description": "Reference to the styles of the area fills. These styles can also be accessed through the `styles` attribute.\nBelow are the default values:\n\n <dl>\n     <dt>color</dt><dd>The color of the fill. The default value is determined by the order of the series on the graph. The color will be \n     retrieved from the following array:\n     `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n     </dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the fill. The default value is 1</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "area",
          +            "type": "Object",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSeries.js",
          +            "line": 246,
          +            "description": "Style properties for the series. Contains a key indexed hash of the following:\n <dl>\n     <dt>marker</dt><dd>Style properties for the markers in the series. Specific style attributes are listed\n     <a href=\"#attr_marker\">here</a>.</dd>\n     <dt>line</dt><dd>Style properties for the lines in the series. Specific\n     style attributes are listed <a href=\"#attr_line\">here</a>.</dd>\n     <dt>area</dt><dd>Style properties for the area fills in the series. Specific style attributes are listed\n     <a href=\"#attr_area\">here</a>.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "ComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSplineSeries.js",
          +            "line": 13,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "ComboSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ComboSplineSeries.js",
          +            "line": 37,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "comboSpline",
          +            "class": "ComboSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CurveUtil.js",
          +            "line": 13,
          +            "description": "Creates an array of start, end and control points for splines.",
          +            "itemtype": "method",
          +            "name": "getCurveControlPoints",
          +            "params": [
          +                {
          +                    "name": "xcoords",
          +                    "description": "Collection of x-coordinates used for calculate the curves",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "ycoords",
          +                    "description": "Collection of y-coordinates used for calculate the curves",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "CurveUtil",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/CurveUtil.js",
          +            "line": 88,
          +            "description": "Gets the control points for the curve.",
          +            "itemtype": "method",
          +            "name": "getControlPoints",
          +            "params": [
          +                {
          +                    "name": "vals",
          +                    "description": "Collection of values coords used to generate control points.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "CurveUtil",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/DiamondGroup.js",
          +            "line": 16,
          +            "description": "Updates the diamond.",
          +            "itemtype": "method",
          +            "name": "_draw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "GroupDiamond",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/EllipseGroup.js",
          +            "line": 16,
          +            "description": "Updates the diamond.",
          +            "itemtype": "method",
          +            "name": "_draw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "EllipseGroup",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 29,
          +            "description": "Returns a path shape used for drawing fills.",
          +            "itemtype": "method",
          +            "name": "_getPath",
          +            "return": {
          +                "description": "Path"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 47,
          +            "description": "Toggles visibility",
          +            "itemtype": "method",
          +            "name": "_toggleVisible",
          +            "params": [
          +                {
          +                    "name": "visible",
          +                    "description": "indicates visibilitye",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 62,
          +            "description": "Draws fill",
          +            "itemtype": "method",
          +            "name": "drawFill",
          +            "params": [
          +                {
          +                    "name": "xcoords",
          +                    "description": "The x-coordinates for the series.",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "ycoords",
          +                    "description": "The y-coordinates for the series.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 111,
          +            "description": "Draws a fill for a spline",
          +            "itemtype": "method",
          +            "name": "drawAreaSpline",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 169,
          +            "description": "Draws a a stacked area spline",
          +            "itemtype": "method",
          +            "name": "drawStackedAreaSpline",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 260,
          +            "description": "Storage for default area styles.",
          +            "itemtype": "property",
          +            "name": "_defaults",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 269,
          +            "description": "Concatenates coordinate array with correct coordinates for closing an area fill.",
          +            "itemtype": "method",
          +            "name": "_getClosingPoints",
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 299,
          +            "description": "Concatenates coordinate array with the correct coordinates for closing an area stack.",
          +            "itemtype": "method",
          +            "name": "_getStackedClosingPoints",
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Fills.js",
          +            "line": 349,
          +            "description": "Returns default values for area styles.",
          +            "itemtype": "method",
          +            "name": "_getAreaDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Fills",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 12,
          +            "itemtype": "method",
          +            "name": "bindUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 25,
          +            "itemtype": "method",
          +            "name": "syncUI",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 71,
          +            "description": "Object of arrays containing series mapped to a series type.",
          +            "itemtype": "property",
          +            "name": "seriesTypes",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 80,
          +            "description": "Returns a series instance based on an index.",
          +            "itemtype": "method",
          +            "name": "getSeriesByIndex",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "index of the series",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "CartesianSeries"
          +            },
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 98,
          +            "description": "Returns a series instance based on a key value.",
          +            "itemtype": "method",
          +            "name": "getSeriesByKey",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "key value of the series",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "CartesianSeries"
          +            },
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 116,
          +            "description": "Adds dispatcher to a `_dispatcher` used to\nto ensure all series have redrawn before for firing event.",
          +            "itemtype": "method",
          +            "name": "addDispatcher",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "series instance to add",
          +                    "type": "CartesianSeries"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 133,
          +            "description": "Collection of series to be displayed in the graph.",
          +            "itemtype": "property",
          +            "name": "_seriesCollection",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 142,
          +            "description": "Object containing key value pairs of `CartesianSeries` instances.",
          +            "itemtype": "property",
          +            "name": "_seriesDictionary",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 151,
          +            "description": "Parses series instances to be displayed in the graph.",
          +            "itemtype": "method",
          +            "name": "_parseSeriesCollection",
          +            "params": [
          +                {
          +                    "name": "Collection",
          +                    "description": "of `CartesianSeries` instances or objects container `CartesianSeries` attributes values.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 199,
          +            "description": "Adds a series to the graph.",
          +            "itemtype": "method",
          +            "name": "_addSeries",
          +            "params": [
          +                {
          +                    "name": "series",
          +                    "description": "Series to add to the graph.",
          +                    "type": "CartesianSeries"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 231,
          +            "description": "Creates a `CartesianSeries` instance from an object containing attribute key value pairs. The key value pairs include attributes for the specific series and a type value which defines the type of\nseries to be used.",
          +            "itemtype": "method",
          +            "name": "createSeries",
          +            "params": [
          +                {
          +                    "name": "seriesData",
          +                    "description": "Series attribute key value pairs.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 264,
          +            "description": "String reference for pre-defined `Series` classes.",
          +            "itemtype": "property",
          +            "name": "_seriesMap",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 295,
          +            "description": "Returns a specific `CartesianSeries` class based on key value from a look up table of a direct reference to a class. When specifying a key value, the following options\nare available:\n\n <table>\n     <tr><th>Key Value</th><th>Class</th></tr>\n     <tr><td>line</td><td>Y.LineSeries</td></tr>    \n     <tr><td>column</td><td>Y.ColumnSeries</td></tr>    \n     <tr><td>bar</td><td>Y.BarSeries</td></tr>    \n     <tr><td>area</td><td>Y.AreaSeries</td></tr>    \n     <tr><td>stackedarea</td><td>Y.StackedAreaSeries</td></tr>    \n     <tr><td>stackedline</td><td>Y.StackedLineSeries</td></tr>    \n     <tr><td>stackedcolumn</td><td>Y.StackedColumnSeries</td></tr>    \n     <tr><td>stackedbar</td><td>Y.StackedBarSeries</td></tr>    \n     <tr><td>markerseries</td><td>Y.MarkerSeries</td></tr>    \n     <tr><td>spline</td><td>Y.SplineSeries</td></tr>    \n     <tr><td>areaspline</td><td>Y.AreaSplineSeries</td></tr>    \n     <tr><td>stackedspline</td><td>Y.StackedSplineSeries</td></tr>\n     <tr><td>stackedareaspline</td><td>Y.StackedAreaSplineSeries</td></tr>\n     <tr><td>stackedmarkerseries</td><td>Y.StackedMarkerSeries</td></tr>\n     <tr><td>pie</td><td>Y.PieSeries</td></tr>\n     <tr><td>combo</td><td>Y.ComboSeries</td></tr>\n     <tr><td>stackedcombo</td><td>Y.StackedComboSeries</td></tr>\n     <tr><td>combospline</td><td>Y.ComboSplineSeries</td></tr>\n     <tr><td>stackedcombospline</td><td>Y.StackedComboSplineSeries</td></tr>\n </table>\n\nWhen referencing a class directly, you can specify any of the above classes or any custom class that extends `CartesianSeries` or `PieSeries`.",
          +            "itemtype": "method",
          +            "name": "_getSeries",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "Series type.",
          +                    "type": "String | Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "CartesianSeries"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 343,
          +            "description": "Event handler for marker events.",
          +            "itemtype": "method",
          +            "name": "_markerEventHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 360,
          +            "description": "Collection of `CartesianSeries` instances to be redrawn.",
          +            "itemtype": "property",
          +            "name": "_dispatchers",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 369,
          +            "description": "Updates the `Graph` styles.",
          +            "itemtype": "method",
          +            "name": "_updateStyles",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 386,
          +            "description": "Event handler for size changes.",
          +            "itemtype": "method",
          +            "name": "_sizeChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 430,
          +            "description": "Draws each series.",
          +            "itemtype": "method",
          +            "name": "_drawSeries",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 469,
          +            "description": "Event handler for series drawingComplete event.",
          +            "itemtype": "method",
          +            "name": "_drawingCompleteHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 496,
          +            "description": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 521,
          +            "description": "Destructor implementation Graph class. Removes all Graphic instances from the widget.",
          +            "itemtype": "method",
          +            "name": "destructor",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 544,
          +            "description": "The x-coordinate for the graph.",
          +            "itemtype": "attribute",
          +            "name": "x",
          +            "type": "Number",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 559,
          +            "description": "The y-coordinate for the graph.",
          +            "itemtype": "attribute",
          +            "name": "y",
          +            "type": "Number",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 574,
          +            "description": "Reference to the chart instance using the graph.",
          +            "itemtype": "attribute",
          +            "name": "chart",
          +            "type": "ChartBase",
          +            "readonly": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 583,
          +            "description": "Collection of series. When setting the `seriesCollection` the array can contain a combination of either\n`CartesianSeries` instances or object literals with properties that will define a series.",
          +            "itemtype": "attribute",
          +            "name": "seriesCollection",
          +            "type": "CartesianSeries",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 603,
          +            "description": "Indicates whether the `Graph` has a background.",
          +            "itemtype": "attribute",
          +            "name": "showBackground",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 614,
          +            "description": "Read-only hash lookup for all series on in the `Graph`.",
          +            "itemtype": "attribute",
          +            "name": "seriesDictionary",
          +            "type": "Object",
          +            "readonly": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 630,
          +            "description": "Reference to the horizontal `Gridlines` instance.",
          +            "itemtype": "attribute",
          +            "name": "horizontalGridlines",
          +            "type": "Gridlines",
          +            "default": "null",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 661,
          +            "description": "Reference to the vertical `Gridlines` instance.",
          +            "itemtype": "attribute",
          +            "name": "verticalGridlines",
          +            "type": "Gridlines",
          +            "default": "null",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 692,
          +            "description": "Reference to graphic instance used for the background.",
          +            "itemtype": "attribute",
          +            "name": "background",
          +            "type": "Graphic",
          +            "readonly": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 712,
          +            "description": "Reference to graphic instance used for gridlines.",
          +            "itemtype": "attribute",
          +            "name": "gridlines",
          +            "type": "Graphic",
          +            "readonly": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 734,
          +            "description": "Reference to graphic instance used for series.",
          +            "itemtype": "attribute",
          +            "name": "graphic",
          +            "type": "Graphic",
          +            "readonly": "",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 756,
          +            "description": "Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.",
          +            "itemtype": "attribute",
          +            "name": "groupMarkers",
          +            "type": "Boolean",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Graph.js",
          +            "line": 766,
          +            "description": "Style properties used for drawing a background. Below are the default values:\n <dl>\n     <dt>background</dt><dd>An object containing the following values:\n         <dl>\n             <dt>fill</dt><dd>Defines the style properties for the fill. Contains the following values:\n                 <dl>\n                     <dt>color</dt><dd>Color of the fill. The default value is #faf9f2.</dd>\n                     <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background fill. The default value is 1.</dd>\n                 </dl>\n             </dd>\n             <dt>border</dt><dd>Defines the style properties for the border. Contains the following values:\n                 <dl>\n                     <dt>color</dt><dd>Color of the border. The default value is #dad8c9.</dd>\n                     <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the background border. The default value is 1.</dd>\n                     <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n                 </dl>\n             </dd>\n         </dl>\n     </dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "Graph",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 11,
          +            "description": "Reference to the `Path` element used for drawing Gridlines.",
          +            "itemtype": "property",
          +            "name": "_path",
          +            "type": "Path",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 20,
          +            "description": "Removes the Gridlines.",
          +            "itemtype": "method",
          +            "name": "remove",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 35,
          +            "description": "Draws the gridlines",
          +            "itemtype": "method",
          +            "name": "draw",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 49,
          +            "description": "Algorithm for drawing gridlines",
          +            "itemtype": "method",
          +            "name": "_drawGridlines",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 108,
          +            "description": "Algorithm for horizontal lines.",
          +            "itemtype": "method",
          +            "name": "_horizontalLine",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "Reference to path element",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "Coordinates corresponding to a major unit of an axis.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "w",
          +                    "description": "Width of the Graph",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "h",
          +                    "description": "Height of the Graph",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 124,
          +            "description": "Algorithm for vertical lines.",
          +            "itemtype": "method",
          +            "name": "_verticalLine",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "Reference to path element",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "Coordinates corresponding to a major unit of an axis.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "w",
          +                    "description": "Width of the Graph",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "h",
          +                    "description": "Height of the Graph",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 140,
          +            "description": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 163,
          +            "description": "Indicates the direction of the gridline.",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 171,
          +            "description": "Indicate the `Axis` in which to bind\nthe gridlines.",
          +            "itemtype": "attribute",
          +            "name": "axis",
          +            "type": "Axis",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Gridlines.js",
          +            "line": 180,
          +            "description": "Indicates the `Graph` in which the gridlines \nare drawn.",
          +            "itemtype": "attribute",
          +            "name": "graph",
          +            "type": "Graph",
          +            "class": "Gridlines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Histogram.js",
          +            "line": 11,
          +            "description": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Histogram",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Histogram.js",
          +            "line": 172,
          +            "description": "Collection of default colors used for marker fills in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultFillColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Histogram",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Histogram.js",
          +            "line": 181,
          +            "description": "Gets the default style values for the markers.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Histogram",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 11,
          +            "description": "Default margins for text fields.",
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "method",
          +            "name": "_getDefaultMargins",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 28,
          +            "description": "Sets the length of the tick on either side of the axis line.",
          +            "itemtype": "method",
          +            "name": "setTickOffset",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 65,
          +            "description": "Draws a tick",
          +            "itemtype": "method",
          +            "name": "drawTick",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "reference to the path `Path` element in which to draw the tick.",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "Point on the axis in which the tick will intersect.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "tickStyle",
          +                    "description": "Hash of properties to apply to the tick.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 85,
          +            "description": "Calculates the coordinates for the first point on an axis.",
          +            "itemtype": "method",
          +            "name": "getLineStart",
          +            "return": {
          +                "description": "",
          +                "type": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 111,
          +            "description": "Calculates the point for a label.",
          +            "itemtype": "method",
          +            "name": "getLabelPoint",
          +            "params": [
          +                {
          +                    "name": "point",
          +                    "description": "Point on the axis in which the tick will intersect.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "",
          +                "type": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 124,
          +            "description": "Updates the value for the `maxLabelSize` for use in calculating total size.",
          +            "itemtype": "method",
          +            "name": "updateMaxLabelSize",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to measure",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 155,
          +            "description": "Determines the available label width when the axis width has been explicitly set.",
          +            "itemtype": "method",
          +            "name": "getExplicitlySized",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 177,
          +            "description": "Rotate and position title.",
          +            "itemtype": "method",
          +            "name": "positionTitle",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 207,
          +            "description": "Rotate and position labels.",
          +            "itemtype": "method",
          +            "name": "positionLabel",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing the x and y coordinates in which the label will be positioned\nagainst.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 255,
          +            "description": "Adjusts the coordinates of an axis label based on the rotation.",
          +            "itemtype": "method",
          +            "name": "_setRotationCoords",
          +            "params": [
          +                {
          +                    "name": "props",
          +                    "description": "Coordinates, dimension and rotation properties of the label.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 294,
          +            "description": "Returns the transformOrigin to use for an axis label based on the position of the axis \nand the rotation of the label.",
          +            "itemtype": "method",
          +            "name": "_getTransformOrigin",
          +            "params": [
          +                {
          +                    "name": "rot",
          +                    "description": "The rotation (in degrees) of the label.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 325,
          +            "description": "Adjust the position of the Axis widget's content box for internal axes.",
          +            "itemtype": "method",
          +            "name": "offsetNodeForTick",
          +            "params": [
          +                {
          +                    "name": "cb",
          +                    "description": "Content box of the Axis.",
          +                    "type": "Node"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LeftAxisLayout.js",
          +            "line": 336,
          +            "description": "Sets the width of the axis based on its contents.",
          +            "itemtype": "method",
          +            "name": "setCalculatedSize",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "LeftAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LineSeries.js",
          +            "line": 11,
          +            "access": "protected",
          +            "tagname": "",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "LineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LineSeries.js",
          +            "line": 21,
          +            "access": "protected",
          +            "tagname": "Method used by `styles` setter. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "_setStyles",
          +            "params": [
          +                {
          +                    "name": "newStyles",
          +                    "description": "Hash of properties to update.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "LineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LineSeries.js",
          +            "line": 39,
          +            "access": "protected",
          +            "tagname": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "LineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LineSeries.js",
          +            "line": 56,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "line",
          +            "class": "LineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/LineSeries.js",
          +            "line": 67,
          +            "description": "Style properties used for drawing lines. This attribute is inherited from `Renderer`. Below are the default values:\n <dl>\n     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be\n     retrieved from the following array: \n     `[\"#426ab3\", \"#d09b2c\", \"#000000\", \"#b82837\", \"#b384b5\", \"#ff7200\", \"#779de3\", \"#cbc8ba\", \"#7ed7a6\", \"#007a6c\"]`\n     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>\n     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> \n     <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> \n     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>\n     <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "LineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 11,
          +            "itemtype": "property",
          +            "name": "_lineDefaults",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 18,
          +            "description": "Creates a graphic in which to draw a series.",
          +            "itemtype": "method",
          +            "name": "_getGraphic",
          +            "return": {
          +                "description": "Graphic"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 36,
          +            "description": "Toggles visibility",
          +            "itemtype": "method",
          +            "name": "_toggleVisible",
          +            "params": [
          +                {
          +                    "name": "visible",
          +                    "description": "indicates visibilitye",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 51,
          +            "description": "Draws lines for the series.",
          +            "itemtype": "method",
          +            "name": "drawLines",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 144,
          +            "description": "Connects data points with a consistent curve for a series.",
          +            "itemtype": "method",
          +            "name": "drawSpline",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 190,
          +            "description": "Draws a dashed line between two points.",
          +            "itemtype": "method",
          +            "name": "drawDashedLine",
          +            "params": [
          +                {
          +                    "name": "xStart",
          +                    "description": "The x position of the start of the line",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "yStart",
          +                    "description": "The y position of the start of the line",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "xEnd",
          +                    "description": "The x position of the end of the line",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "yEnd",
          +                    "description": "The y position of the end of the line",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "dashSize",
          +                    "description": "the size of dashes, in pixels",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "gapSize",
          +                    "description": "the size of gaps between dashes, in pixels",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Lines.js",
          +            "line": 241,
          +            "description": "Default values for `styles` attribute.",
          +            "itemtype": "method",
          +            "name": "_getLineDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Lines",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "MarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 24,
          +            "access": "protected",
          +            "tagname": "Method used by `styles` setter. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "_setStyles",
          +            "params": [
          +                {
          +                    "name": "newStyles",
          +                    "description": "Hash of properties to update.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "MarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 43,
          +            "access": "protected",
          +            "tagname": "Gets the default value for the `styles` attribute. Overrides\nbase implementation.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "MarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 59,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "marker",
          +            "class": "MarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/MarkerSeries.js",
          +            "line": 70,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `Renderer`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#6084d0\", \"#eeb647\", \"#6c6b5f\", \"#d6484f\", \"#ce9ed1\", \"#ff9f3b\", \"#93b7ff\", \"#e0ddd0\", \"#94ecba\", \"#309687\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>width</dt><dd>indicates the width of the marker. The default value is 10.</dd>\n     <dt>height</dt><dd>indicates the height of the marker The default value is 10.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "MarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 18,
          +            "description": "Indicates whether 0 should always be displayed.",
          +            "itemtype": "attribute",
          +            "name": "alwaysShowZero",
          +            "type": "Boolean",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 28,
          +            "description": "Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need\nto implement the arguments below and return a `String` or an `HTMLElement`. The default implementation of the method returns a `String`. The output of this method\nwill be rendered to the DOM using `appendChild`. If you override the `labelFunction` method and return an html string, you will also need to override the Axis' \n`appendLabelFunction` to accept html as a `String`.\n<dl>\n     <dt>val</dt><dd>Label to be formatted. (`String`)</dd>\n     <dt>format</dt><dd>Object containing properties used to format the label. (optional)</dd>\n</dl>",
          +            "itemtype": "attribute",
          +            "name": "labelFunction",
          +            "type": "Function",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 52,
          +            "description": "Object containing properties used by the `labelFunction` to format a\nlabel.",
          +            "itemtype": "attribute",
          +            "name": "labelFormat",
          +            "type": "Object",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 72,
          +            "description": "Formats a label based on the axis type and optionally specified format.",
          +            "itemtype": "method",
          +            "name": "formatLabel",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "format",
          +                    "description": "Pattern used to format the value.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 89,
          +            "description": "Returns the sum of all values per key.",
          +            "itemtype": "method",
          +            "name": "getTotalByKey",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "The identifier for the array whose values will be calculated.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 114,
          +            "description": "Type of data used in `Axis`.",
          +            "itemtype": "property",
          +            "name": "_type",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 123,
          +            "description": "Helper method for getting a `roundingUnit` when calculating the minimum and maximum values.",
          +            "itemtype": "method",
          +            "name": "_getMinimumUnit",
          +            "params": [
          +                {
          +                    "name": "max",
          +                    "description": "Maximum number",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "min",
          +                    "description": "Minimum number",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "units",
          +                    "description": "Number of units on the axis",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 138,
          +            "description": "Calculates a nice rounding unit based on the range.",
          +            "itemtype": "method",
          +            "name": "_getNiceNumber",
          +            "params": [
          +                {
          +                    "name": "roundingUnit",
          +                    "description": "The calculated rounding unit.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 170,
          +            "description": "Calculates the maximum and minimum values for the `Axis`.",
          +            "itemtype": "method",
          +            "name": "_updateMinAndMax",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 248,
          +            "description": "Rounds the mimimum and maximum values based on the `roundingUnit` attribute.",
          +            "itemtype": "method",
          +            "name": "_roundMinAndMax",
          +            "params": [
          +                {
          +                    "name": "min",
          +                    "description": "Minimum value",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "max",
          +                    "description": "Maximum value",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 535,
          +            "description": "Calculates and returns a value based on the number of labels and the index of\nthe current label.",
          +            "itemtype": "method",
          +            "name": "getLabelByIndex",
          +            "params": [
          +                {
          +                    "name": "i",
          +                    "description": "Index of the label.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Total number of labels.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 573,
          +            "description": "Rounds a Number to the nearest multiple of an input. For example, by rounding\n16 to the nearest 10, you will receive 20. Similar to the built-in function Math.round().",
          +            "itemtype": "method",
          +            "name": "_roundToNearest",
          +            "params": [
          +                {
          +                    "name": "number",
          +                    "description": "Number to round",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "nearest",
          +                    "description": "Multiple to round towards.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 594,
          +            "description": "Rounds a Number up to the nearest multiple of an input. For example, by rounding\n16 up to the nearest 10, you will receive 20. Similar to the built-in function Math.ceil().",
          +            "itemtype": "method",
          +            "name": "_roundUpToNearest",
          +            "params": [
          +                {
          +                    "name": "number",
          +                    "description": "Number to round",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "nearest",
          +                    "description": "Multiple to round towards.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 614,
          +            "description": "Rounds a Number down to the nearest multiple of an input. For example, by rounding\n16 down to the nearest 10, you will receive 10. Similar to the built-in function Math.floor().",
          +            "itemtype": "method",
          +            "name": "_roundDownToNearest",
          +            "params": [
          +                {
          +                    "name": "number",
          +                    "description": "Number to round",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "nearest",
          +                    "description": "Multiple to round towards.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 634,
          +            "description": "Rounds a number to a certain level of precision. Useful for limiting the number of\ndecimal places on a fractional number.",
          +            "itemtype": "method",
          +            "name": "_roundToPrecision",
          +            "params": [
          +                {
          +                    "name": "number",
          +                    "description": "Number to round",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "precision",
          +                    "description": "Multiple to round towards.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/NumericAxis.js",
          +            "line": 651,
          +            "description": "Checks to see if data extends beyond the range of the axis. If so,\nthat data will need to be hidden. This method is internal, temporary and subject\nto removal in the future.",
          +            "itemtype": "method",
          +            "name": "_hasDataOverflow",
          +            "access": "protected",
          +            "tagname": "",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "class": "NumericAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 10,
          +            "description": "Calculates and returns a `seriesCollection`.",
          +            "itemtype": "method",
          +            "name": "_getSeriesCollection",
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 52,
          +            "description": "Creates `Axis` instances.",
          +            "itemtype": "method",
          +            "name": "_parseAxes",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Object containing `Axis` instances or objects in which to construct `Axis` instances.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 105,
          +            "description": "Adds axes to the chart.",
          +            "itemtype": "method",
          +            "name": "_addAxes",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 145,
          +            "description": "Renders the Graph.",
          +            "itemtype": "method",
          +            "name": "_addSeries",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 164,
          +            "description": "Parse and sets the axes for the chart.",
          +            "itemtype": "method",
          +            "name": "_parseSeriesAxes",
          +            "params": [
          +                {
          +                    "name": "c",
          +                    "description": "A collection `PieSeries` instance.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 209,
          +            "description": "Generates and returns a key-indexed object containing `Axis` instances or objects used to create `Axis` instances.",
          +            "itemtype": "method",
          +            "name": "_getDefaultAxes",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 249,
          +            "description": "Returns an object literal containing a categoryItem and a valueItem for a given series index.",
          +            "itemtype": "method",
          +            "name": "getSeriesItem",
          +            "params": [
          +                {
          +                    "name": "series",
          +                    "description": "Reference to a series."
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index of the specified item within a series."
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 274,
          +            "description": "Handler for sizeChanged event.",
          +            "itemtype": "method",
          +            "name": "_sizeChanged",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 286,
          +            "description": "Redraws the chart instance.",
          +            "itemtype": "method",
          +            "name": "_redraw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 306,
          +            "description": "Formats tooltip text for a pie chart.",
          +            "itemtype": "method",
          +            "name": "_tooltipLabelFunction",
          +            "params": [
          +                {
          +                    "name": "categoryItem",
          +                    "description": "An object containing the following:\n <dl>\n     <dt>axis</dt><dd>The axis to which the category is bound.</dd>\n     <dt>displayName</dt><dd>The display name set to the category (defaults to key if not provided)</dd>\n     <dt>key</dt><dd>The key of the category.</dd>\n     <dt>value</dt><dd>The value of the category</dd>\n </dl>",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "valueItem",
          +                    "description": "An object containing the following:\n <dl>\n     <dt>axis</dt><dd>The axis to which the item's series is bound.</dd>\n     <dt>displayName</dt><dd>The display name of the series. (defaults to key if not provided)</dd>\n     <dt>key</dt><dd>The key for the series.</dd>\n     <dt>value</dt><dd>The value for the series item.</dd> \n </dl>",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "itemIndex",
          +                    "description": "The index of the item within the series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "series",
          +                    "description": "The `PieSeries` instance of the item.",
          +                    "type": "CartesianSeries"
          +                },
          +                {
          +                    "name": "seriesIndex",
          +                    "description": "The index of the series in the `seriesCollection`.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "",
          +                "type": "HTML"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 345,
          +            "description": "Returns the appropriate message based on the key press.",
          +            "itemtype": "method",
          +            "name": "_getAriaMessage",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "The keycode that was pressed.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 398,
          +            "description": "Sets the aria description for the chart.",
          +            "itemtype": "attribute",
          +            "name": "ariaDescription",
          +            "type": "String",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 418,
          +            "description": "Axes to appear in the chart.",
          +            "itemtype": "attribute",
          +            "name": "axes",
          +            "type": "Object",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 436,
          +            "description": "Collection of series to appear on the chart. This can be an array of Series instances or object literals\nused to describe a Series instance.",
          +            "itemtype": "attribute",
          +            "name": "seriesCollection",
          +            "type": "Array",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChart.js",
          +            "line": 455,
          +            "description": "Type of chart when there is no series collection specified.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "class": "PieChart",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChartLegend.js",
          +            "line": 2,
          +            "description": "Redraws the chart instance.",
          +            "itemtype": "method",
          +            "name": "_redraw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieChartLegend.js",
          +            "line": 123,
          +            "description": "The legend for the chart.",
          +            "itemtype": "attribute",
          +            "name": "",
          +            "type": "Legend",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 11,
          +            "description": "Image map used for interactivity when rendered with canvas.",
          +            "itemtype": "property",
          +            "name": "_map",
          +            "type": "HTMLElement",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 20,
          +            "description": "Image used for image map when rendered with canvas.",
          +            "itemtype": "property",
          +            "name": "_image",
          +            "type": "HTMLElement",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 29,
          +            "description": "Creates or updates the image map when rendered with canvas.",
          +            "itemtype": "method",
          +            "name": "_setMap",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 65,
          +            "description": "Storage for `categoryDisplayName` attribute.",
          +            "itemtype": "property",
          +            "name": "_categoryDisplayName",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 73,
          +            "description": "Storage for `valueDisplayName` attribute.",
          +            "itemtype": "property",
          +            "name": "_valueDisplayName",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 81,
          +            "description": "Adds event listeners.",
          +            "itemtype": "method",
          +            "name": "addListeners",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 106,
          +            "description": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "validate",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 118,
          +            "description": "Event handler for the categoryAxisChange event.",
          +            "itemtype": "method",
          +            "name": "_categoryAxisChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 132,
          +            "description": "Event handler for the valueAxisChange event.",
          +            "itemtype": "method",
          +            "name": "_valueAxisChangeHandler",
          +            "params": [
          +                {
          +                    "name": "e",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 146,
          +            "description": "Constant used to generate unique id.",
          +            "itemtype": "property",
          +            "name": "GUID",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 155,
          +            "description": "Event handler for categoryDataChange event.",
          +            "itemtype": "method",
          +            "name": "_categoryDataChangeHandler",
          +            "params": [
          +                {
          +                    "name": "event",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 170,
          +            "description": "Event handler for valueDataChange event.",
          +            "itemtype": "method",
          +            "name": "_valueDataChangeHandler",
          +            "params": [
          +                {
          +                    "name": "event",
          +                    "description": "Event object.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 185,
          +            "description": "Draws the series. Overrides the base implementation.",
          +            "itemtype": "method",
          +            "name": "draw",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 219,
          +            "description": "Draws the markers",
          +            "itemtype": "method",
          +            "name": "drawPlots",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 345,
          +            "description": "Adds an interactive map when rendering in canvas.",
          +            "itemtype": "method",
          +            "name": "_addHotspot",
          +            "params": [
          +                {
          +                    "name": "cfg",
          +                    "description": "Object containing data used to draw the hotspot",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "seriesIndex",
          +                    "description": "Index of series in the `seriesCollection`.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index of the marker using the hotspot.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 402,
          +            "description": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 427,
          +            "description": "Creates a shape to be used as a marker.",
          +            "itemtype": "method",
          +            "name": "_createMarker",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Hash of style properties.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "order",
          +                    "description": "Order of the series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index within the series associated with the marker.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Shape"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 448,
          +            "description": "Creates a cache of markers for reuse.",
          +            "itemtype": "method",
          +            "name": "_createMarkerCache",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 470,
          +            "description": "Gets the default style values for the markers.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 499,
          +            "description": "Collection of default colors used for lines in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultLineColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 508,
          +            "description": "Collection of default colors used for marker fills in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultFillColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 517,
          +            "description": "Collection of default colors used for marker borders in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultBorderColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 526,
          +            "description": "Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.",
          +            "itemtype": "property",
          +            "name": "_defaultSliceColors",
          +            "type": "Array",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 535,
          +            "description": "Colors used if style colors are not specified",
          +            "itemtype": "method",
          +            "name": "_getDefaultColor",
          +            "params": [
          +                {
          +                    "name": "index",
          +                    "description": "Index indicating the series order.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "type",
          +                    "description": "Indicates which type of object needs the color.",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 564,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "pie",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 575,
          +            "description": "Order of this instance of this `type`.",
          +            "itemtype": "attribute",
          +            "name": "order",
          +            "type": "Number",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 583,
          +            "description": "Reference to the `Graph` in which the series is drawn into.",
          +            "itemtype": "attribute",
          +            "name": "graph",
          +            "type": "Graph",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 591,
          +            "description": "Reference to the `Axis` instance used for assigning \ncategory values to the graph.",
          +            "itemtype": "attribute",
          +            "name": "categoryAxis",
          +            "type": "Axis",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 607,
          +            "description": "Reference to the `Axis` instance used for assigning \nseries values to the graph.",
          +            "itemtype": "attribute",
          +            "name": "categoryAxis",
          +            "type": "Axis",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 623,
          +            "description": "Indicates which array to from the hash of value arrays in \nthe category `Axis` instance.",
          +            "itemtype": "attribute",
          +            "name": "categoryKey",
          +            "type": "String",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 638,
          +            "description": "Indicates which array to from the hash of value arrays in \nthe value `Axis` instance.",
          +            "itemtype": "attribute",
          +            "name": "valueKey",
          +            "type": "String",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 654,
          +            "description": "Name used for for displaying category data",
          +            "itemtype": "attribute",
          +            "name": "categoryDisplayName",
          +            "type": "String",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 673,
          +            "description": "Name used for for displaying value data",
          +            "itemtype": "attribute",
          +            "name": "valueDisplayName",
          +            "type": "String",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 692,
          +            "itemtype": "attribute",
          +            "name": "slices",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/PieSeries.js",
          +            "line": 699,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>colors</dt><dd>An array of colors to be used for the marker fills. The color for each marker is retrieved from the \n             array below:<br/>\n             `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n             </dd>\n             <dt>alphas</dt><dd>An array of alpha references (Number from 0 to 1) indicating the opacity of each marker fill. The default value is [1].</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>An array of colors to be used for the marker borders. The color for each marker is retrieved from the\n             array below:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "PieSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 22,
          +            "description": "Storage for default marker styles.",
          +            "itemtype": "property",
          +            "name": "_plotDefaults",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 31,
          +            "description": "Draws the markers",
          +            "itemtype": "method",
          +            "name": "drawPlots",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 119,
          +            "description": "Pre-defined group shapes.",
          +            "itemtype": "property",
          +            "name": "_groupShapes",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 132,
          +            "description": "Returns the correct group shape class.",
          +            "itemtype": "method",
          +            "name": "_getGroupShape",
          +            "params": [
          +                {
          +                    "name": "shape",
          +                    "description": "Indicates which shape class.",
          +                    "type": "Shape | String"
          +                }
          +            ],
          +            "return": {
          +                "description": "Function"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 149,
          +            "description": "Gets the default values for series that use the utility. This method is used by\nthe class' `styles` attribute's getter to get build default values.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 180,
          +            "description": "Collection of markers to be used in the series.",
          +            "itemtype": "property",
          +            "name": "_markers",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 189,
          +            "description": "Collection of markers to be re-used on a series redraw.",
          +            "itemtype": "property",
          +            "name": "_markerCache",
          +            "type": "Array",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 198,
          +            "description": "Gets and styles a marker. If there is a marker in cache, it will use it. Otherwise\nit will create one.",
          +            "itemtype": "method",
          +            "name": "getMarker",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Hash of style properties.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "order",
          +                    "description": "Order of the series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index within the series associated with the marker.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Shape"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 240,
          +            "description": "Creates a shape to be used as a marker.",
          +            "itemtype": "method",
          +            "name": "_createMarker",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Hash of style properties.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "order",
          +                    "description": "Order of the series.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "index",
          +                    "description": "Index within the series associated with the marker.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Shape"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 262,
          +            "description": "Creates a cache of markers for reuse.",
          +            "itemtype": "method",
          +            "name": "_createMarkerCache",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 286,
          +            "description": "Draws a series of markers in a single shape instance.",
          +            "itemtype": "method",
          +            "name": "_createGroupMarkers",
          +            "params": [
          +                {
          +                    "name": "styles",
          +                    "description": "Set of configuration properties used to create the markers.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 339,
          +            "description": "Toggles visibility",
          +            "itemtype": "method",
          +            "name": "_toggleVisible",
          +            "params": [
          +                {
          +                    "name": "visible",
          +                    "description": "indicates visibilitye",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 366,
          +            "description": "Removes unused markers from the marker cache",
          +            "itemtype": "method",
          +            "name": "_clearMarkerCache",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 385,
          +            "description": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 417,
          +            "description": "Parses a color from an array.",
          +            "itemtype": "method",
          +            "name": "_getItemColor",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "collection of colors",
          +                    "type": "Array"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the item",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 435,
          +            "description": "Method used by `styles` setter. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "_setStyles",
          +            "params": [
          +                {
          +                    "name": "newStyles",
          +                    "description": "Hash of properties to update.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 449,
          +            "description": "Combines new styles with existing styles.",
          +            "itemtype": "method",
          +            "name": "_parseMarkerStyles",
          +            "params": [
          +                {
          +                    "name": "Object",
          +                    "description": "containing style properties for the marker.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 475,
          +            "description": "Returns marker state based on event type",
          +            "itemtype": "method",
          +            "name": "_getState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "event type",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Plots.js",
          +            "line": 504,
          +            "itemtype": "property",
          +            "name": "_statSyles",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Plots",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RectGroup.js",
          +            "line": 16,
          +            "description": "Updates the rect.",
          +            "itemtype": "method",
          +            "name": "_draw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "GroupRect",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 12,
          +            "description": "Style properties for class",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 32,
          +            "description": "The graphic in which drawings will be rendered.",
          +            "itemtype": "attribute",
          +            "name": "graphic",
          +            "type": "Graphic",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 43,
          +            "description": "Storage for `styles` attribute.",
          +            "itemtype": "property",
          +            "name": "_styles",
          +            "type": "Object",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 52,
          +            "description": "Method used by `styles` setter.",
          +            "itemtype": "method",
          +            "name": "_setStyles",
          +            "params": [
          +                {
          +                    "name": "newStyles",
          +                    "description": "Hash of properties to update.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 66,
          +            "description": "Merges to object literals so that only specified properties are \noverwritten.",
          +            "itemtype": "method",
          +            "name": "_mergeStyles",
          +            "params": [
          +                {
          +                    "name": "a",
          +                    "description": "Hash of new styles",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "b",
          +                    "description": "Hash of original styles",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/Renderer.js",
          +            "line": 97,
          +            "description": "Gets the default value for the `styles` attribute.",
          +            "itemtype": "method",
          +            "name": "_getDefaultStyles",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "Renderer",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 11,
          +            "description": "Default margins for text fields.",
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "method",
          +            "name": "_getDefaultMargins",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 28,
          +            "description": "Sets the length of the tick on either side of the axis line.",
          +            "itemtype": "method",
          +            "name": "setTickOffset",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 65,
          +            "description": "Draws a tick",
          +            "itemtype": "method",
          +            "name": "drawTick",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "reference to the path `Path` element in which to draw the tick.",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "Point on the axis in which the tick will intersect.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "{Object)",
          +                    "description": "tickStyle Hash of properties to apply to the tick."
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 85,
          +            "description": "Calculates the coordinates for the first point on an axis.",
          +            "itemtype": "method",
          +            "name": "getLineStart",
          +            "return": {
          +                "description": "",
          +                "type": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 112,
          +            "description": "Calculates the point for a label.",
          +            "itemtype": "method",
          +            "name": "getLabelPoint",
          +            "params": [
          +                {
          +                    "name": "point",
          +                    "description": "Point on the axis in which the tick will intersect.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "",
          +                "type": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 125,
          +            "description": "Updates the value for the `maxLabelSize` for use in calculating total size.",
          +            "itemtype": "method",
          +            "name": "updateMaxLabelSize",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to measure",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 156,
          +            "description": "Determines the available label width when the axis width has been explicitly set.",
          +            "itemtype": "method",
          +            "name": "getExplicitlySized",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 178,
          +            "description": "Rotate and position title.",
          +            "itemtype": "method",
          +            "name": "positionTitle",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 208,
          +            "description": "Rotate and position labels.",
          +            "itemtype": "method",
          +            "name": "positionLabel",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing the x and y coordinates in which the label will be positioned\nagainst.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 261,
          +            "description": "Adjusts the coordinates of an axis label based on the rotation.",
          +            "itemtype": "method",
          +            "name": "_setRotationCoords",
          +            "params": [
          +                {
          +                    "name": "props",
          +                    "description": "Coordinates, dimension and rotation properties of the label.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 298,
          +            "description": "Returns the transformOrigin to use for an axis label based on the position of the axis \nand the rotation of the label.",
          +            "itemtype": "method",
          +            "name": "_getTransformOrigin",
          +            "params": [
          +                {
          +                    "name": "rot",
          +                    "description": "The rotation (in degrees) of the label.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 329,
          +            "description": "Adjusts position for inner ticks.",
          +            "itemtype": "method",
          +            "name": "offsetNodeForTick",
          +            "params": [
          +                {
          +                    "name": "cb",
          +                    "description": "contentBox of the axis",
          +                    "type": "Node"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/RightAxisLayout.js",
          +            "line": 344,
          +            "description": "Assigns a height based on the size of the contents.",
          +            "itemtype": "method",
          +            "name": "setCalculatedSize",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "RightAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/ShapeGroup.js",
          +            "line": 40,
          +            "description": "Updates the shape.",
          +            "itemtype": "method",
          +            "name": "_draw",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ShapeGroup",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/ShapeGroup.js",
          +            "line": 102,
          +            "description": "Parses and array of lengths into radii",
          +            "itemtype": "method",
          +            "name": "_getRadiusCollection",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Array of lengths",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "ShapeGroup",
          +            "module": "graphics"
          +        },
          +        {
          +            "file": "input/charts/SplineSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "SplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/SplineSeries.js",
          +            "line": 25,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "spline",
          +            "class": "SplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/SplineSeries.js",
          +            "line": 36,
          +            "description": "Style properties used for drawing lines. This attribute is inherited from `Renderer`. Below are the default values:\n <dl>\n     <dt>color</dt><dd>The color of the line. The default value is determined by the order of the series on the graph. The color will be\n     retrieved from the following array: \n     `[\"#426ab3\", \"#d09b2c\", \"#000000\", \"#b82837\", \"#b384b5\", \"#ff7200\", \"#779de3\", \"#cbc8ba\", \"#7ed7a6\", \"#007a6c\"]`\n     <dt>weight</dt><dd>Number that indicates the width of the line. The default value is 6.</dd>\n     <dt>alpha</dt><dd>Number between 0 and 1 that indicates the opacity of the line. The default value is 1.</dd>\n     <dt>lineType</dt><dd>Indicates whether the line is solid or dashed. The default value is solid.</dd> \n     <dt>dashLength</dt><dd>When the `lineType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>gapSpace</dt><dd>When the `lineType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n     <dt>connectDiscontinuousPoints</dt><dd>Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.</dd> \n     <dt>discontinuousType</dt><dd>Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.</dd>\n     <dt>discontinuousDashLength</dt><dd>When the `discontinuousType` is dashed, indicates the length of the dash. The default value is 10.</dd>\n     <dt>discontinuousGapSpace</dt><dd>When the `discontinuousType` is dashed, indicates the distance between dashes. The default value is 10.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "SplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAreaSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Calculates the coordinates for the series. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "class": "StackedAreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAreaSeries.js",
          +            "line": 25,
          +            "access": "protected",
          +            "tagname": "Draws the series",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "StackedAreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAreaSeries.js",
          +            "line": 38,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedArea",
          +            "class": "StackedAreaSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAreaSplineSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "StackedAreaSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAreaSplineSeries.js",
          +            "line": 26,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedAreaSpline",
          +            "class": "StackedAreaSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedAxis.js",
          +            "line": 20,
          +            "description": "Calculates the maximum and minimum values for the `Axis`.",
          +            "itemtype": "method",
          +            "name": "_updateMinAndMax",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "StackedAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 190,
          +            "access": "protected",
          +            "tagname": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 237,
          +            "access": "protected",
          +            "tagname": "Returns default values for the `styles` attribute.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 276,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedBar",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 287,
          +            "description": "Direction of the series",
          +            "itemtype": "attribute",
          +            "name": "direction",
          +            "type": "String",
          +            "default": "vertical",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 298,
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "attribute",
          +            "name": "negativeBaseValues",
          +            "type": "Array",
          +            "default": "null",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 309,
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "attribute",
          +            "name": "positiveBaseValues",
          +            "type": "Array",
          +            "default": "null",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedBarSeries.js",
          +            "line": 320,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `BarSeries`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>height</dt><dd>indicates the width of the marker. The default value is 24.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "StackedBarSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 12,
          +            "description": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 189,
          +            "description": "Resizes and positions markers based on a mouse interaction.",
          +            "itemtype": "method",
          +            "name": "updateMarkerState",
          +            "params": [
          +                {
          +                    "name": "type",
          +                    "description": "state of the marker",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "i",
          +                    "description": "index of the marker",
          +                    "type": "Number"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 238,
          +            "description": "Gets the default values for the markers.",
          +            "itemtype": "method",
          +            "name": "_getPlotDefaults",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 276,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedColumn",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 287,
          +            "itemtype": "attribute",
          +            "name": "negativeBaseValues",
          +            "type": "Array",
          +            "default": "null",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 297,
          +            "itemtype": "attribute",
          +            "name": "positiveBaseValues",
          +            "type": "Array",
          +            "default": "null",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedColumnSeries.js",
          +            "line": 307,
          +            "description": "Style properties used for drawing markers. This attribute is inherited from `ColumnSeries`. Below are the default values:\n <dl>\n     <dt>fill</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#66007f\", \"#a86f41\", \"#295454\", \"#996ab2\", \"#e8cdb7\", \"#90bdbd\",\"#000000\",\"#c3b8ca\", \"#968373\", \"#678585\"]`\n             </dd>\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>border</dt><dd>A hash containing the following values:\n         <dl>\n             <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color\n             will be retrieved from the below array:<br/>\n             `[\"#205096\", \"#b38206\", \"#000000\", \"#94001e\", \"#9d6fa0\", \"#e55b00\", \"#5e85c9\", \"#adab9e\", \"#6ac291\", \"#006457\"]`\n             <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>\n             <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>\n         </dl>\n     </dd>\n     <dt>width</dt><dd>indicates the width of the marker. The default value is 24.</dd>\n     <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default \n     values for each style is null. When an over style is not set, the non-over value will be used. For example,\n     the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>\n </dl>",
          +            "itemtype": "attribute",
          +            "name": "styles",
          +            "type": "Object",
          +            "class": "StackedColumnSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSeries.js",
          +            "line": 14,
          +            "access": "protected",
          +            "tagname": "Calculates the coordinates for the series. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "class": "StackedComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSeries.js",
          +            "line": 27,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "StackedComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSeries.js",
          +            "line": 52,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedCombo",
          +            "class": "StackedComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSeries.js",
          +            "line": 63,
          +            "description": "Indicates whether a fill is displayed.",
          +            "itemtype": "attribute",
          +            "name": "showAreaFill",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "StackedComboSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSplineSeries.js",
          +            "line": 14,
          +            "access": "protected",
          +            "tagname": "Draws the series.",
          +            "itemtype": "method",
          +            "name": "drawSeries",
          +            "class": "StackedComboSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSplineSeries.js",
          +            "line": 38,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedComboSpline",
          +            "class": "StackedComboSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedComboSplineSeries.js",
          +            "line": 49,
          +            "description": "Indicates whether a fill is displayed.",
          +            "itemtype": "attribute",
          +            "name": "showAreaFill",
          +            "type": "Boolean",
          +            "default": "true",
          +            "class": "StackedComboSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedLineSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Calculates the coordinates for the series. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "class": "StackedLineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedLineSeries.js",
          +            "line": 26,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedLine",
          +            "class": "StackedLineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedMarkerSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Calculates the coordinates for the series. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "class": "StackedMarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedMarkerSeries.js",
          +            "line": 26,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedMarker",
          +            "class": "StackedMarkerSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedSplineSeries.js",
          +            "line": 12,
          +            "access": "protected",
          +            "tagname": "Calculates the coordinates for the series. Overrides base implementation.",
          +            "itemtype": "method",
          +            "name": "setAreaData",
          +            "class": "StackedSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackedSplineSeries.js",
          +            "line": 26,
          +            "description": "Read-only attribute indicating the type of series.",
          +            "itemtype": "attribute",
          +            "name": "type",
          +            "type": "String",
          +            "default": "stackedSpline",
          +            "class": "StackedSplineSeries",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/StackingUtil.js",
          +            "line": 11,
          +            "access": "protected",
          +            "tagname": "Adjusts coordinate values for stacked series.",
          +            "itemtype": "method",
          +            "name": "_stackCoordinates",
          +            "class": "StackingUtil",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 19,
          +            "description": "Indicates whether the maximum is calculated or explicitly set.",
          +            "itemtype": "attribute",
          +            "name": "setMax",
          +            "readonly": "",
          +            "type": "Boolean",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 37,
          +            "description": "Indicates whether the minimum is calculated or explicitly set.",
          +            "itemtype": "attribute",
          +            "name": "setMin",
          +            "readonly": "",
          +            "type": "Boolean",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 55,
          +            "description": "The maximum value that will appear on an axis. Unless explicitly set, this value is calculated by the `Axis`.",
          +            "itemtype": "attribute",
          +            "name": "maximum",
          +            "type": "Number",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 78,
          +            "description": "The minimum value that will appear on an axis. Unless explicitly set, this value is calculated by the `Axis`.",
          +            "itemtype": "attribute",
          +            "name": "minimum",
          +            "type": "Number",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 101,
          +            "description": "Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need\nto implement the arguments below and return a `String` or an `HTMLElement`. The default implementation of the method returns a `String`. The output of this method\nwill be rendered to the DOM using `appendChild`. If you override the `labelFunction` method and return an html string, you will also need to override the Axis' \n`appendLabelFunction` to accept html as a `String`.\n<dl>\n     <dt>val</dt><dd>Label to be formatted. (`String`)</dd>\n     <dt>format</dt><dd>STRFTime string used to format the label. (optional)</dd>\n</dl>",
          +            "itemtype": "attribute",
          +            "name": "labelFunction",
          +            "type": "Function",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 126,
          +            "description": "Pattern used by the `labelFunction` to format a label.",
          +            "itemtype": "attribute",
          +            "name": "labelFormat",
          +            "type": "String",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 138,
          +            "description": "Formats a label based on the axis type and optionally specified format.",
          +            "itemtype": "method",
          +            "name": "formatLabel",
          +            "params": [
          +                {
          +                    "name": "value",
          +                    "description": "",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "format",
          +                    "description": "Pattern used to format the value.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 156,
          +            "description": "Constant used to generate unique id.",
          +            "itemtype": "property",
          +            "name": "GUID",
          +            "type": "String",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 165,
          +            "description": "Type of data used in `Axis`.",
          +            "itemtype": "property",
          +            "name": "_dataType",
          +            "readonly": "",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 174,
          +            "description": "Calculates and returns a value based on the number of labels and the index of\nthe current label.",
          +            "itemtype": "method",
          +            "name": "getLabelByIndex",
          +            "params": [
          +                {
          +                    "name": "i",
          +                    "description": "Index of the label.",
          +                    "type": "Number"
          +                },
          +                {
          +                    "name": "l",
          +                    "description": "Total number of labels.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "String"
          +            },
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 203,
          +            "description": "Gets an array of values based on a key.",
          +            "itemtype": "method",
          +            "name": "_getKeyArray",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Value key associated with the data array.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array in which the data resides.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 258,
          +            "description": "Sets data by key",
          +            "itemtype": "method",
          +            "name": "_setDataByKey",
          +            "params": [
          +                {
          +                    "name": "key",
          +                    "description": "Key value to use.",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "data",
          +                    "description": "Array to use.",
          +                    "type": "Array"
          +                }
          +            ],
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TimeAxis.js",
          +            "line": 314,
          +            "description": "Parses value into a number.",
          +            "itemtype": "method",
          +            "name": "_getNumber",
          +            "params": [
          +                {
          +                    "name": "val",
          +                    "description": "Value to parse into a number",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Number"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "TimeAxis",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 11,
          +            "description": "Default margins for text fields.",
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "method",
          +            "name": "_getDefaultMargins",
          +            "return": {
          +                "description": "Object"
          +            },
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 28,
          +            "description": "Sets the length of the tick on either side of the axis line.",
          +            "itemtype": "method",
          +            "name": "setTickOffsets",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 64,
          +            "description": "Calculates the coordinates for the first point on an axis.",
          +            "itemtype": "method",
          +            "name": "getLineStart",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 90,
          +            "description": "Draws a tick",
          +            "itemtype": "method",
          +            "name": "drawTick",
          +            "params": [
          +                {
          +                    "name": "path",
          +                    "description": "reference to the path `Path` element in which to draw the tick.",
          +                    "type": "Path"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing x and y coordinates",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "tickStyles",
          +                    "description": "hash of properties used to draw the tick",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 110,
          +            "description": "Calculates the point for a label.",
          +            "itemtype": "method",
          +            "name": "getLabelPoint",
          +            "params": [
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing x and y coordinates",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "Object"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 123,
          +            "description": "Updates the value for the `maxLabelSize` for use in calculating total size.",
          +            "itemtype": "method",
          +            "name": "updateMaxLabelSize",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to measure",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 154,
          +            "description": "Determines the available label height when the axis width has been explicitly set.",
          +            "itemtype": "method",
          +            "name": "getExplicitlySized",
          +            "return": {
          +                "description": "Boolean"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 176,
          +            "description": "Rotate and position title.",
          +            "itemtype": "method",
          +            "name": "positionTitle",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 206,
          +            "description": "Rotate and position labels.",
          +            "itemtype": "method",
          +            "name": "positionLabel",
          +            "params": [
          +                {
          +                    "name": "label",
          +                    "description": "to rotate position",
          +                    "type": "HTMLElement"
          +                },
          +                {
          +                    "name": "pt",
          +                    "description": "hash containing the x and y coordinates in which the label will be positioned\nagainst.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 260,
          +            "description": "Adjusts the coordinates of an axis label based on the rotation.",
          +            "itemtype": "method",
          +            "name": "_setRotationCoords",
          +            "params": [
          +                {
          +                    "name": "props",
          +                    "description": "Coordinates, dimension and rotation properties of the label.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 305,
          +            "description": "Returns the transformOrigin to use for an axis label based on the position of the axis \nand the rotation of the label.",
          +            "itemtype": "method",
          +            "name": "_getTransformOrigin",
          +            "params": [
          +                {
          +                    "name": "rot",
          +                    "description": "The rotation (in degrees) of the label.",
          +                    "type": "Number"
          +                }
          +            ],
          +            "return": {
          +                "description": "Array"
          +            },
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 343,
          +            "description": "Adjusts position for inner ticks.",
          +            "itemtype": "method",
          +            "name": "offsetNodeForTick",
          +            "params": [
          +                {
          +                    "name": "cb",
          +                    "description": "contentBox of the axis",
          +                    "type": "Node"
          +                }
          +            ],
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/charts/TopAxisLayout.js",
          +            "line": 354,
          +            "description": "Assigns a height based on the size of the contents.",
          +            "itemtype": "method",
          +            "name": "setCalculatedSize",
          +            "access": "protected",
          +            "tagname": "",
          +            "class": "TopAxisLayout",
          +            "module": "charts"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 27,
          +            "description": "<b>Supermethod</b> description.<br>This is a second line.",
          +            "itemtype": "method",
          +            "name": "myMethod",
          +            "async": 1,
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 35,
          +            "description": "Overwritten method see {{#crossLink \"mywidget.SuperWidget\"}}{{/crossLink}}\nalso see {{#crossLink \"mywidget.SuperWidget/myMethod\"}}{{/crossLink}}\nThis is also a test {{#davglass \"Foo\"}}{{/davglass}}",
          +            "itemtype": "method",
          +            "name": "getTargets2",
          +            "example": [
          +                "\n\n    var bar;\n"
          +            ],
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 45,
          +            "description": "Override Attribute",
          +            "itemtype": "attribute",
          +            "name": "focused2",
          +            "optional": 1,
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 51,
          +            "description": "Override Attribute",
          +            "itemtype": "attribute",
          +            "name": "focused3",
          +            "required": 1,
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 57,
          +            "description": "Override Property",
          +            "itemtype": "property",
          +            "name": "name2",
          +            "type": "String",
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 63,
          +            "description": "Override Event",
          +            "itemtype": "event",
          +            "name": "init2",
          +            "class": "mywidget.SuperWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/inherit/examplemodule.js",
          +            "line": 82,
          +            "description": "Submethod description.",
          +            "itemtype": "method",
          +            "name": "myMethod",
          +            "params": [
          +                {
          +                    "name": "d",
          +                    "description": "Foo",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "class": "mywidget.SubWidget",
          +            "module": "ExampleModule",
          +            "namespace": "mywidget"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 44,
          +            "description": "Alias to native browser implementation of the JSON object if available.",
          +            "itemtype": "property",
          +            "name": "Native",
          +            "type": "{Object}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 56,
          +            "description": "Replace certain Unicode characters that JavaScript may handle incorrectly\nduring eval--either by deleting them or treating them as line\nendings--with escape sequences.\nIMPORTANT NOTE: This regex will be used to modify the input if a match is\nfound.",
          +            "itemtype": "property",
          +            "name": "_UNICODE_EXCEPTIONS",
          +            "type": "{RegExp}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 70,
          +            "description": "First step in the safety evaluation.  Regex used to replace all escape\nsequences (i.e. \"\\\\\", etc) with '@' characters (a non-JSON character).",
          +            "itemtype": "property",
          +            "name": "_ESCAPES",
          +            "type": "{RegExp}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 80,
          +            "description": "Second step in the safety evaluation.  Regex used to replace all simple\nvalues with ']' characters.",
          +            "itemtype": "property",
          +            "name": "_VALUES",
          +            "type": "{RegExp}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 90,
          +            "description": "Third step in the safety evaluation.  Regex used to remove all open\nsquare brackets following a colon, comma, or at the beginning of the\nstring.",
          +            "itemtype": "property",
          +            "name": "_BRACKETS",
          +            "type": "{RegExp}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 101,
          +            "description": "Final step in the safety evaluation.  Regex used to test the string left\nafter all previous replacements for invalid characters.",
          +            "itemtype": "property",
          +            "name": "_UNSAFE",
          +            "type": "{RegExp}",
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 111,
          +            "description": "Replaces specific unicode characters with their appropriate \\unnnn\nformat. Some browsers ignore certain characters during eval.",
          +            "itemtype": "method",
          +            "name": "escapeException",
          +            "params": [
          +                {
          +                    "name": "c",
          +                    "description": "Unicode character",
          +                    "type": "String"
          +                }
          +            ],
          +            "return": {
          +                "description": "the \\unnnn escapement of the character",
          +                "type": "String"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 124,
          +            "description": "Traverses nested objects, applying a reviver function to each (key,value)\nfrom the scope if the key:value's containing object.  The value returned\nfrom the function will replace the original value in the key:value pair.\nIf the value returned is undefined, the key will be omitted from the\nreturned object.",
          +            "itemtype": "method",
          +            "name": "_revive",
          +            "params": [
          +                {
          +                    "name": "data",
          +                    "description": "Any JavaScript data",
          +                    "type": "MIXED"
          +                },
          +                {
          +                    "name": "reviver",
          +                    "description": "filter or mutation function",
          +                    "type": "Function"
          +                }
          +            ],
          +            "return": {
          +                "description": "The results of the filtered data",
          +                "type": "MIXED"
          +            },
          +            "access": "private",
          +            "tagname": "",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 158,
          +            "description": "Parse a JSON string, returning the native JavaScript representation.",
          +            "params": [
          +                {
          +                    "name": "s",
          +                    "description": "JSON string data",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "reviver",
          +                    "description": "(optional) function(k,v) passed each key value\n         pair of object literals, allowing pruning or altering values",
          +                    "type": "Function"
          +                }
          +            ],
          +            "return": {
          +                "description": "the native JavaScript representation of the JSON string",
          +                "type": "MIXED"
          +            },
          +            "throws": [
          +                "SyntaxError"
          +            ],
          +            "itemtype": "method",
          +            "name": "parse",
          +            "static": 1,
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/parse.js",
          +            "line": 214,
          +            "description": "Leverage native JSON parse if the browser has a native implementation.\nIn general, this is a good idea.  See the Known Issues section in the\nJSON user guide for caveats.  The default value is true for browsers with\nnative JSON support.",
          +            "itemtype": "property",
          +            "name": "useNativeParse",
          +            "type": "Boolean",
          +            "default": "true",
          +            "static": 1,
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-parse"
          +        },
          +        {
          +            "file": "input/json/stringify.js",
          +            "line": 248,
          +            "description": "Leverage native JSON stringify if the browser has a native\nimplementation.  In general, this is a good idea.  See the Known Issues\nsection in the JSON user guide for caveats.  The default value is true\nfor browsers with native JSON support.",
          +            "itemtype": "property",
          +            "name": "useNativeStringify",
          +            "type": "Boolean",
          +            "default": "true",
          +            "static": 1,
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-stringify"
          +        },
          +        {
          +            "file": "input/json/stringify.js",
          +            "line": 261,
          +            "description": "Serializes a Date instance as a UTC date string.  Used internally by\nstringify.  Override this method if you need Dates serialized in a\ndifferent format.",
          +            "itemtype": "method",
          +            "name": "dateToString",
          +            "params": [
          +                {
          +                    "name": "d",
          +                    "description": "The Date to serialize",
          +                    "type": "Date"
          +                }
          +            ],
          +            "return": {
          +                "description": "stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ",
          +                "type": "String"
          +            },
          +            "deprecated": true,
          +            "deprecationMessage": "Use a replacer function",
          +            "static": 1,
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-stringify"
          +        },
          +        {
          +            "file": "input/json/stringify.js",
          +            "line": 285,
          +            "description": "<p>Converts an arbitrary value to a JSON string representation.</p>\n\n<p>Objects with cyclical references will trigger an exception.</p>\n\n<p>If a whitelist is provided, only matching object keys will be\nincluded.  Alternately, a replacer function may be passed as the\nsecond parameter.  This function is executed on every value in the\ninput, and its return value will be used in place of the original value.\nThis is useful to serialize specialized objects or class instances.</p>\n\n<p>If a positive integer or non-empty string is passed as the third\nparameter, the output will be formatted with carriage returns and\nindentation for readability.  If a String is passed (such as \"\\t\") it\nwill be used once for each indentation level.  If a number is passed,\nthat number of spaces will be used.</p>",
          +            "itemtype": "method",
          +            "name": "stringify",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "any arbitrary value to convert to JSON string",
          +                    "type": "MIXED"
          +                },
          +                {
          +                    "name": "w",
          +                    "description": "(optional) whitelist of acceptable object\n                 keys to include, or a replacer function to modify the\n                 raw value before serialization",
          +                    "type": "Array|Function"
          +                },
          +                {
          +                    "name": "ind",
          +                    "description": "(optional) indentation character or depth of\n                 spaces to format the output.",
          +                    "type": "Number|String"
          +                }
          +            ],
          +            "return": {
          +                "description": "JSON string representation of the input",
          +                "type": "String"
          +            },
          +            "static": 1,
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-stringify"
          +        },
          +        {
          +            "file": "input/json/stringify.js",
          +            "line": 317,
          +            "description": "<p>Number of occurrences of a special character within a single call to\nstringify that should trigger promotion of that character to a dedicated\npreprocess step for future calls.  This is only used in environments\nthat don't support native JSON, or when useNativeStringify is set to\nfalse.</p>\n\n<p>So, if set to 50 and an object is passed to stringify that includes\nstrings containing the special character \\x07 more than 50 times,\nsubsequent calls to stringify will process object strings through a\nfaster serialization path for \\x07 before using the generic, slower,\nreplacement process for all special characters.</p>\n\n<p>To prime the preprocessor cache, set this value to 1, then call\n<code>Y.JSON.stringify(\"<em>(all special characters to\ncache)</em>\");</code>, then return this setting to a more conservative\nvalue.</p>\n\n<p>Special characters \\ \" \\b \\t \\n \\f \\r are already cached.</p>",
          +            "itemtype": "property",
          +            "name": "charCacheThreshold",
          +            "static": 1,
          +            "default": "100",
          +            "type": "{Number}",
          +            "class": "JSON",
          +            "module": "json",
          +            "submodule": "json-stringify"
          +        },
          +        {
          +            "file": "input/namespace/ns.js",
          +            "line": 9,
          +            "description": "Test Method",
          +            "itemtype": "method",
          +            "name": "Baz",
          +            "class": "Foo.Bar",
          +            "module": "foobar",
          +            "namespace": "Foo.Bar"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 38,
          +            "description": "test optional",
          +            "itemtype": "method",
          +            "name": "testoptional",
          +            "params": [
          +                {
          +                    "name": "notype",
          +                    "description": "my desc"
          +                },
          +                {
          +                    "name": "namesecond",
          +                    "description": "my desc",
          +                    "type": "Int"
          +                },
          +                {
          +                    "name": "namefirst",
          +                    "description": "my desc",
          +                    "type": "String"
          +                },
          +                {
          +                    "name": "optionalvar",
          +                    "description": "my desc",
          +                    "type": "Bool",
          +                    "optional": true
          +                },
          +                {
          +                    "name": "optionalwithdefault",
          +                    "description": "my desc",
          +                    "type": "String",
          +                    "optional": true,
          +                    "optdefault": "\"defaultval\""
          +                }
          +            ],
          +            "evil": "",
          +            "injects": {
          +                "description": "uses a string parameter to populate innerHTML",
          +                "type": "HTML"
          +            },
          +            "return": {
          +                "description": "something without a type"
          +            },
          +            "example": [
          +                "\n     This is code",
          +                "\n     var = 'This is more code';\n     document.title = 'Test This';"
          +            ],
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 56,
          +            "description": "test object param",
          +            "itemtype": "method",
          +            "name": "testobjectparam",
          +            "params": [
          +                {
          +                    "name": "anobject",
          +                    "description": "the object",
          +                    "type": "Object",
          +                    "props": [
          +                        {
          +                            "name": "prop1",
          +                            "description": "prop1",
          +                            "type": "String"
          +                        },
          +                        {
          +                            "name": "prop2",
          +                            "description": "prop2",
          +                            "type": "Bool"
          +                        }
          +                    ]
          +                }
          +            ],
          +            "return": {
          +                "description": "something with a type",
          +                "type": "String"
          +            },
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 65,
          +            "description": "test 0..n param",
          +            "itemtype": "method",
          +            "name": "test0ton",
          +            "params": [
          +                {
          +                    "name": "optionalandmultiple",
          +                    "description": "my desc",
          +                    "type": "String",
          +                    "optional": true,
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "something without a type"
          +            },
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 72,
          +            "description": "test 1..n param",
          +            "itemtype": "method",
          +            "name": "test1ton",
          +            "params": [
          +                {
          +                    "name": "multiple",
          +                    "description": "my desc",
          +                    "type": "String",
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "something without a type"
          +            },
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 79,
          +            "description": "Testing really long param description paring",
          +            "itemtype": "method",
          +            "name": "reallyLongParamDesc",
          +            "params": [
          +                {
          +                    "name": "config",
          +                    "description": "Object with configuration property name/value pairs. The object can be \nused to provide default values for the objects published attributes.\n\n<p>\nThe config object can also contain the following non-attribute properties, providing a convenient \nway to configure events listeners and plugins for the instance, as part of the constructor call:\n</p>\n\n<dl>\n    <dt>on</dt>\n    <dd>An event name to listener function map, to register event listeners for the \"on\" moment of the event. A constructor convenience property for the <a href=\"Base.html#method_on\">on</a> method.</dd>\n    <dt>after</dt>\n    <dd>An event name to listener function map, to register event listeners for the \"after\" moment of the event. A constructor convenience property for the <a href=\"Base.html#method_after\">after</a> method.</dd>\n    <dt>bubbleTargets</dt>\n    <dd>An object, or array of objects, to register as bubble targets for bubbled events fired by this instance. A constructor convenience property for the <a href=\"EventTarget.html#method_addTarget\">addTarget</a> method.</dd>\n    <dt>plugins</dt>\n    <dd>A plugin, or array of plugins to be plugged into the instance (see PluginHost's plug method for signature details). A constructor convenience property for the <a href=\"Plugin.Host.html#method_plug\">plug</a> method.</dd>\n</dl>",
          +                    "type": "Object"
          +                }
          +            ],
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 104,
          +            "description": "This is the description",
          +            "itemtype": "method",
          +            "name": "foo",
          +            "example": [
          +                "\n\n        var email = \"lsmith@foo-truncated-here.com\"\n"
          +            ],
          +            "class": "myclass",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 126,
          +            "description": "Default options to use for all transactions.",
          +            "static": 1,
          +            "access": "protected",
          +            "tagname": "",
          +            "itemtype": "property",
          +            "name": "options",
          +            "type": "Object",
          +            "class": "OtherClass2",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule",
          +            "subprops": [
          +                {
          +                    "name": "attributes",
          +                    "description": "HTML attribute name/value pairs that\n    should be added to inserted nodes.",
          +                    "type": "Object",
          +                    "optional": true
          +                },
          +                {
          +                    "name": "autopurge",
          +                    "description": "Whether or not to automatically\n    purge inserted nodes after the purge threshold is reached.",
          +                    "type": "Boolean",
          +                    "optional": true,
          +                    "optdefault": "false"
          +                },
          +                {
          +                    "name": "doc",
          +                    "description": "Document into which nodes should be inserted.",
          +                    "type": "Document",
          +                    "optional": true
          +                },
          +                {
          +                    "name": "pollInterval",
          +                    "description": "Polling interval (in milliseconds)\n    for detecting CSS load completion in browsers that don't support the `load`\n    event on `<link>` nodes.",
          +                    "type": "Number",
          +                    "optional": true,
          +                    "optdefault": "50"
          +                }
          +            ]
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 142,
          +            "description": "This is a test of CASE TaGs",
          +            "itemtype": "method",
          +            "name": "testMethod",
          +            "params": [
          +                {
          +                    "name": "foo",
          +                    "description": "Foo description",
          +                    "type": "String"
          +                }
          +            ],
          +            "class": "OtherClass2",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 148,
          +            "description": "This is an optional attribute",
          +            "itemtype": "attribute",
          +            "name": "optionalAttr",
          +            "optional": 1,
          +            "class": "OtherClass2",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 154,
          +            "description": "This is a required attribute",
          +            "itemtype": "attribute",
          +            "name": "requiredAttr",
          +            "required": 1,
          +            "class": "OtherClass2",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test/test.js",
          +            "line": 160,
          +            "description": "crash test method",
          +            "itemtype": "method",
          +            "name": "crashTest",
          +            "params": [
          +                {
          +                    "name": "foo",
          +                    "description": "The string to crash the parser",
          +                    "type": "String"
          +                }
          +            ],
          +            "class": "OtherClass2",
          +            "module": "mymodule",
          +            "submodule": "mysubmodule"
          +        },
          +        {
          +            "file": "input/test-linked/dump/dump.js",
          +            "line": 23,
          +            "description": "Returns a simple string representation of the object or array.\nOther types of objects will be returned unprocessed.  Arrays\nare expected to be indexed.  Use object notation for\nassociative arrays.\n\nThis method is in the 'dump' module, which is not bundled with\nthe core YUI object",
          +            "itemtype": "method",
          +            "name": "dump",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "The object to dump.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "d",
          +                    "description": "How deep to recurse child objects, default 3.",
          +                    "type": "Int"
          +                }
          +            ],
          +            "return": {
          +                "description": "the dump result.",
          +                "type": "String"
          +            },
          +            "class": "YUI~dump",
          +            "module": "dump"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 37,
          +            "description": "Applies prototype properties from the supplier to the receiver.\nThe receiver can be a constructor or an instance.",
          +            "itemtype": "method",
          +            "name": "augment",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to receive the augmentation.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object that supplies the properties to augment.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "ov",
          +                    "description": "if true, properties already on the receiver\nwill be overwritten if found on the supplier.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "wl",
          +                    "description": "a whitelist.  If supplied, only properties in\nthis list will be applied to the receiver.",
          +                    "type": "String[]"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "arg or arguments to apply to the supplier\nconstructor when initializing.",
          +                    "type": "Array | Any"
          +                }
          +            ],
          +            "return": {
          +                "description": "the augmented object.",
          +                "type": "Object"
          +            },
          +            "todo": [
          +                "constructor optional?",
          +                "understanding what an instance is augmented with",
          +                "best practices for overriding sequestered methods."
          +            ],
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 126,
          +            "description": "Applies object properties from the supplier to the receiver.  If\nthe target has the property, and the property is an object, the target\nobject will be augmented with the supplier's value.  If the property\nis an array, the suppliers value will be appended to the target.",
          +            "itemtype": "method",
          +            "name": "aggregate",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to receive the augmentation.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object that supplies the properties to augment.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "ov",
          +                    "description": "if true, properties already on the receiver\nwill be overwritten if found on the supplier.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "wl",
          +                    "description": "a whitelist.  If supplied, only properties in\nthis list will be applied to the receiver.",
          +                    "type": "String[]"
          +                }
          +            ],
          +            "return": {
          +                "description": "the extended object.",
          +                "type": "Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 144,
          +            "description": "Utility to set up the prototype, constructor and superclass properties to\nsupport an inheritance strategy that can chain constructors and methods.\nStatic members will not be inherited.",
          +            "itemtype": "method",
          +            "name": "extend",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to modify.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object to inherit.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "px",
          +                    "description": "prototype properties to add/override.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "sx",
          +                    "description": "static properties to add/override.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "the extended object.",
          +                "type": "Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 185,
          +            "description": "Executes the supplied function for each item in\na collection.  Supports arrays, objects, and\nY.NodeLists",
          +            "itemtype": "method",
          +            "name": "each",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "the object to iterate.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "the function to execute.  This function\nreceives the value, key, and object as parameters.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context for the function.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "proto",
          +                    "description": "if true, prototype properties are\niterated on objects.",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "return": {
          +                "description": "the YUI instance.",
          +                "type": "YUI"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 202,
          +            "description": "Executes the supplied function for each item in\na collection.  The operation stops if the function\nreturns true. Supports arrays, objects, and\nY.NodeLists.",
          +            "itemtype": "method",
          +            "name": "some",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "the object to iterate.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "the function to execute.  This function\nreceives the value, key, and object as parameters.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context for the function.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "proto",
          +                    "description": "if true, prototype properties are\niterated on objects.",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "return": {
          +                "description": "true if the function ever returns true,\nfalse otherwise.",
          +                "type": "Boolean"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 221,
          +            "description": "Deep obj/array copy.  Function clones are actually\nwrappers around the original function.\nArray-like objects are treated as arrays.\nPrimitives are returned untouched.  Optionally, a\nfunction can be provided to handle other data types,\nfilter keys, validate values, etc.",
          +            "itemtype": "method",
          +            "name": "clone",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "what to clone.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "safe",
          +                    "description": "if true, objects will not have prototype\nitems from the source.  If false, they will.  In this case, the\noriginal is initially protected, but the clone is not completely\nimmune from changes to the source object prototype.  Also, cloned\nprototype items that are deleted from the clone will result\nin the value of the source prototype being exposed.  If operating\non a non-safe clone, items should be nulled out rather than deleted.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "optional function to apply to each item in a\ncollection; it will be executed prior to applying the value to\nthe new object.  Return false to prevent the copy.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "optional execution context for f.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "owner",
          +                    "description": "Owner object passed when clone is iterating\nan object.  Used to set up context for cloned functions.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "cloned",
          +                    "description": "hash of previously cloned objects to avoid\nmultiple clones.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "the cloned object.",
          +                "type": "Array|Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 320,
          +            "description": "Returns a function that will execute the supplied function in the\nsupplied object's context, optionally adding any additional\nsupplied parameters to the beginning of the arguments collection the\nsupplied to the function.",
          +            "itemtype": "method",
          +            "name": "bind",
          +            "params": [
          +                {
          +                    "name": "f",
          +                    "description": "the function to bind, or a function name\nto execute on the context object.",
          +                    "type": "Function|String"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "0..n arguments to include before the arguments the\nfunction is executed with.",
          +                    "type": "Any",
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "the wrapped function.",
          +                "type": "Function"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/oop/oop.js",
          +            "line": 345,
          +            "description": "Returns a function that will execute the supplied function in the\nsupplied object's context, optionally adding any additional\nsupplied parameters to the end of the arguments the function\nis executed with.",
          +            "itemtype": "method",
          +            "name": "rbind",
          +            "params": [
          +                {
          +                    "name": "f",
          +                    "description": "the function to bind, or a function name\nto execute on the context object.",
          +                    "type": "Function|String"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "0..n arguments to append to the end of\narguments collection supplied to the function.",
          +                    "type": "Any",
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "the wrapped function.",
          +                "type": "Function"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test-linked/namespace.js",
          +            "line": 25,
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "property",
          +            "name": "_storageMechanisms",
          +            "type": "Array",
          +            "static": 1,
          +            "class": "P.storage",
          +            "module": "P.storage",
          +            "namespace": "P"
          +        },
          +        {
          +            "file": "input/test-linked/slashes.js",
          +            "line": 12,
          +            "description": "Static Property",
          +            "itemtype": "property",
          +            "name": "STATIC",
          +            "static": 1,
          +            "class": "Main",
          +            "module": "myapp/views/index"
          +        },
          +        {
          +            "file": "input/test2/dump/dump.js",
          +            "line": 23,
          +            "description": "Returns a simple string representation of the object or array.\nOther types of objects will be returned unprocessed.  Arrays\nare expected to be indexed.  Use object notation for\nassociative arrays.\n\nThis method is in the 'dump' module, which is not bundled with\nthe core YUI object",
          +            "itemtype": "method",
          +            "name": "dump",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "The object to dump.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "d",
          +                    "description": "How deep to recurse child objects, default 3.",
          +                    "type": "Int"
          +                }
          +            ],
          +            "return": {
          +                "description": "the dump result.",
          +                "type": "String"
          +            },
          +            "class": "YUI~dump",
          +            "module": "dump"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 37,
          +            "description": "Applies prototype properties from the supplier to the receiver.\nThe receiver can be a constructor or an instance.",
          +            "itemtype": "method",
          +            "name": "augment",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to receive the augmentation.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object that supplies the properties to augment.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "ov",
          +                    "description": "if true, properties already on the receiver\nwill be overwritten if found on the supplier.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "wl",
          +                    "description": "a whitelist.  If supplied, only properties in\nthis list will be applied to the receiver.",
          +                    "type": "String[]"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "arg or arguments to apply to the supplier\nconstructor when initializing.",
          +                    "type": "Array | Any"
          +                }
          +            ],
          +            "return": {
          +                "description": "the augmented object.",
          +                "type": "Object"
          +            },
          +            "todo": [
          +                "constructor optional?",
          +                "understanding what an instance is augmented with",
          +                "best practices for overriding sequestered methods."
          +            ],
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 126,
          +            "description": "Applies object properties from the supplier to the receiver.  If\nthe target has the property, and the property is an object, the target\nobject will be augmented with the supplier's value.  If the property\nis an array, the suppliers value will be appended to the target.",
          +            "itemtype": "method",
          +            "name": "aggregate",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to receive the augmentation.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object that supplies the properties to augment.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "ov",
          +                    "description": "if true, properties already on the receiver\nwill be overwritten if found on the supplier.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "wl",
          +                    "description": "a whitelist.  If supplied, only properties in\nthis list will be applied to the receiver.",
          +                    "type": "String[]"
          +                }
          +            ],
          +            "return": {
          +                "description": "the extended object.",
          +                "type": "Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 144,
          +            "description": "Utility to set up the prototype, constructor and superclass properties to\nsupport an inheritance strategy that can chain constructors and methods.\nStatic members will not be inherited.",
          +            "itemtype": "method",
          +            "name": "extend",
          +            "params": [
          +                {
          +                    "name": "r",
          +                    "description": "the object to modify.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "s",
          +                    "description": "the object to inherit.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "px",
          +                    "description": "prototype properties to add/override.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "sx",
          +                    "description": "static properties to add/override.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "the extended object.",
          +                "type": "Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 185,
          +            "description": "Executes the supplied function for each item in\na collection.  Supports arrays, objects, and\nY.NodeLists",
          +            "itemtype": "method",
          +            "name": "each",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "the object to iterate.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "the function to execute.  This function\nreceives the value, key, and object as parameters.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context for the function.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "proto",
          +                    "description": "if true, prototype properties are\niterated on objects.",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "return": {
          +                "description": "the YUI instance.",
          +                "type": "YUI"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 202,
          +            "description": "Executes the supplied function for each item in\na collection.  The operation stops if the function\nreturns true. Supports arrays, objects, and\nY.NodeLists.",
          +            "itemtype": "method",
          +            "name": "some",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "the object to iterate.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "the function to execute.  This function\nreceives the value, key, and object as parameters.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context for the function.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "proto",
          +                    "description": "if true, prototype properties are\niterated on objects.",
          +                    "type": "Boolean"
          +                }
          +            ],
          +            "return": {
          +                "description": "true if the function ever returns true,\nfalse otherwise.",
          +                "type": "Boolean"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 221,
          +            "description": "Deep obj/array copy.  Function clones are actually\nwrappers around the original function.\nArray-like objects are treated as arrays.\nPrimitives are returned untouched.  Optionally, a\nfunction can be provided to handle other data types,\nfilter keys, validate values, etc.",
          +            "itemtype": "method",
          +            "name": "clone",
          +            "params": [
          +                {
          +                    "name": "o",
          +                    "description": "what to clone.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "safe",
          +                    "description": "if true, objects will not have prototype\nitems from the source.  If false, they will.  In this case, the\noriginal is initially protected, but the clone is not completely\nimmune from changes to the source object prototype.  Also, cloned\nprototype items that are deleted from the clone will result\nin the value of the source prototype being exposed.  If operating\non a non-safe clone, items should be nulled out rather than deleted.",
          +                    "type": "Boolean"
          +                },
          +                {
          +                    "name": "f",
          +                    "description": "optional function to apply to each item in a\ncollection; it will be executed prior to applying the value to\nthe new object.  Return false to prevent the copy.",
          +                    "type": "Function"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "optional execution context for f.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "owner",
          +                    "description": "Owner object passed when clone is iterating\nan object.  Used to set up context for cloned functions.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "cloned",
          +                    "description": "hash of previously cloned objects to avoid\nmultiple clones.",
          +                    "type": "Object"
          +                }
          +            ],
          +            "return": {
          +                "description": "the cloned object.",
          +                "type": "Array|Object"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 320,
          +            "description": "Returns a function that will execute the supplied function in the\nsupplied object's context, optionally adding any additional\nsupplied parameters to the beginning of the arguments collection the\nsupplied to the function.",
          +            "itemtype": "method",
          +            "name": "bind",
          +            "params": [
          +                {
          +                    "name": "f",
          +                    "description": "the function to bind, or a function name\nto execute on the context object.",
          +                    "type": "Function|String"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "0..n arguments to include before the arguments the\nfunction is executed with.",
          +                    "type": "Any",
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "the wrapped function.",
          +                "type": "Function"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/oop/oop.js",
          +            "line": 345,
          +            "description": "Returns a function that will execute the supplied function in the\nsupplied object's context, optionally adding any additional\nsupplied parameters to the end of the arguments the function\nis executed with.",
          +            "itemtype": "method",
          +            "name": "rbind",
          +            "params": [
          +                {
          +                    "name": "f",
          +                    "description": "the function to bind, or a function name\nto execute on the context object.",
          +                    "type": "Function|String"
          +                },
          +                {
          +                    "name": "c",
          +                    "description": "the execution context.",
          +                    "type": "Object"
          +                },
          +                {
          +                    "name": "args",
          +                    "description": "0..n arguments to append to the end of\narguments collection supplied to the function.",
          +                    "type": "Any",
          +                    "multiple": true
          +                }
          +            ],
          +            "return": {
          +                "description": "the wrapped function.",
          +                "type": "Function"
          +            },
          +            "class": "YUI~oop",
          +            "module": "oop"
          +        },
          +        {
          +            "file": "input/test2/namespace.js",
          +            "line": 25,
          +            "access": "private",
          +            "tagname": "",
          +            "itemtype": "property",
          +            "name": "_storageMechanisms",
          +            "type": "Array",
          +            "static": 1,
          +            "class": "P.storage",
          +            "module": "P.storage",
          +            "namespace": "P"
          +        },
          +        {
          +            "file": "input/test2/slashes.js",
          +            "line": 12,
          +            "description": "Static Property",
          +            "itemtype": "property",
          +            "name": "STATIC",
          +            "static": 1,
          +            "class": "Main",
          +            "module": "myapp/views/index"
          +        }
          +    ]
          +}
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/index.html
          new file mode 100644
          index 000000000..487fe15b2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/index.html
          @@ -0,0 +1,10 @@
          +<!doctype html>
          +<html>
          +    <head>
          +        <title>Redirector</title>
          +        <meta http-equiv="refresh" content="0;url=../">
          +    </head>
          +    <body>
          +        <a href="../">Click here to redirect</a>
          +    </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSeries.js.html
          new file mode 100644
          index 000000000..39c612dc5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSeries.js.html
          @@ -0,0 +1,367 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;AreaSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;AreaSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The AreaSeries class renders quantitative data on a graph by creating a fill between 0
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class AreaSeries
          + * @extends CartesianSeries
          + * @uses Fills
          + * @constructor
          + *&#x2F;
          +Y.AreaSeries = Y.Base.create(&quot;areaSeries&quot;, Y.CartesianSeries, [Y.Fills], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Renders the series. 
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this.drawFill.apply(this, this._getClosingPoints());
          +    },
          +    
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Method used by &#x60;styles&#x60; setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     *&#x2F;
          +    _setStyles: function(val)
          +    {
          +        if(!val.area)
          +        {
          +            val = {area:val};
          +        }
          +        return Y.AreaSeries.superclass._setStyles.apply(this, [val]);
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({area:this._getAreaDefaults()}, Y.AreaSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default area
          +         *&#x2F;
          +        type: {
          +            value:&quot;area&quot;
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing area fills. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the fill. The default value is 1&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSplineSeries.js.html
          new file mode 100644
          index 000000000..e74d418bf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AreaSplineSeries.js.html
          @@ -0,0 +1,328 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;AreaSplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;AreaSplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * AreaSplineSeries renders an area graph with data points connected by a curve.
          + *
          + * @module charts
          + * @class AreaSplineSeries
          + * @constructor
          + * @extends CartesianSeries
          + * @uses Fills
          + * @uses CurveUtil
          + *&#x2F;
          +Y.AreaSplineSeries = Y.Base.create(&quot;areaSplineSeries&quot;, Y.CartesianSeries, [Y.Fills, Y.CurveUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this.drawAreaSpline();
          +    }
          +}, {
          +	ATTRS : {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default areaSpline
          +         *&#x2F;
          +        type: {
          +            value:&quot;areaSpline&quot;
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing area fills. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the fill. The default value is 1&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Axis.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Axis.js.html
          new file mode 100644
          index 000000000..6561748d6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Axis.js.html
          @@ -0,0 +1,1792 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Axis.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Axis.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The Axis class. Generates axes for a chart.
          + *
          + * @module charts
          + * @class Axis
          + * @extends Widget
          + * @uses Renderer
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + *&#x2F;
          +Y.Axis = Y.Base.create(&quot;axis&quot;, Y.Widget, [Y.Renderer], {
          +    &#x2F;**
          +     * Storage for calculatedWidth value.
          +     *
          +     * @property _calculatedWidth
          +     * @type Number
          +     * @private
          +     *&#x2F;
          +    _calculatedWidth: 0,
          +
          +    &#x2F;**
          +     * Storage for calculatedHeight value.
          +     *
          +     * @property _calculatedHeight
          +     * @type Number
          +     * @private
          +     *&#x2F;
          +    _calculatedHeight: 0,
          +
          +    &#x2F;**
          +     * Handles change to the dataProvider
          +     * 
          +     * @method _dataChangeHandler
          +     * @param {Object} e Event object
          +     * @private
          +     *&#x2F;
          +    _dataChangeHandler: function(e)
          +    {
          +        if(this.get(&quot;rendered&quot;))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Handles change to the position attribute
          +     *
          +     * @method _positionChangeHandler
          +     * @param {Object} e Event object
          +     * @private
          +     *&#x2F;
          +    _positionChangeHandler: function(e)
          +    {
          +        this._updateGraphic(e.newVal);
          +        this._updateHandler();
          +    },
          +
          +    &#x2F;**
          +     * Updates the the Graphic instance
          +     *
          +     * @method _updateGraphic
          +     * @param {String} position Position of axis 
          +     * @private
          +     *&#x2F;
          +    _updateGraphic: function(position)
          +    {
          +        var graphic = this.get(&quot;graphic&quot;);
          +        if(position == &quot;none&quot;)
          +        {
          +            if(graphic)
          +            {
          +                graphic.destroy();
          +            }
          +        }
          +        else
          +        {
          +            if(!graphic)
          +            {
          +                this._setCanvas();
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Handles changes to axis.
          +     *
          +     * @method _updateHandler
          +     * @param {Object} e Event object
          +     * @private
          +     *&#x2F;
          +    _updateHandler: function(e)
          +    {
          +        if(this.get(&quot;rendered&quot;))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +   
          +    &#x2F;**
          +     * @method renderUI
          +     * @private
          +     *&#x2F;
          +    renderUI: function()
          +    {
          +        this._updateGraphic(this.get(&quot;position&quot;));
          +    },
          +
          +    &#x2F;**
          +     * @method syncUI
          +     * @private
          +     *&#x2F;
          +    syncUI: function()
          +    {
          +        var layout = this._layout,
          +            defaultMargins,
          +            styles,
          +            label,
          +            title,
          +            i;
          +        if(layout)
          +        {
          +            defaultMargins = layout._getDefaultMargins();
          +            styles = this.get(&quot;styles&quot;);
          +            label = styles.label.margin;
          +            title =styles.title.margin;
          +            &#x2F;&#x2F;need to defaultMargins method to the layout classes.
          +            for(i in defaultMargins)
          +            {
          +                if(defaultMargins.hasOwnProperty(i))
          +                {
          +                    label[i] = label[i] === undefined ? defaultMargins[i] : label[i];
          +                    title[i] = title[i] === undefined ? defaultMargins[i] : title[i];
          +                }
          +            }
          +        }
          +        this._drawAxis();
          +    },
          +
          +    &#x2F;**
          +     * Creates a graphic instance to be used for the axis line and ticks.
          +     *
          +     * @method _setCanvas
          +     * @private
          +     *&#x2F;
          +    _setCanvas: function()
          +    {
          +        var cb = this.get(&quot;contentBox&quot;),
          +            bb = this.get(&quot;boundingBox&quot;),
          +            p = this.get(&quot;position&quot;),
          +            pn = this._parentNode,
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;);
          +        bb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        bb.setStyle(&quot;zIndex&quot;, 2);
          +        w = w ? w + &quot;px&quot; : pn.getStyle(&quot;width&quot;);
          +        h = h ? h + &quot;px&quot; : pn.getStyle(&quot;height&quot;);
          +        if(p === &quot;top&quot; || p === &quot;bottom&quot;)
          +        {
          +            cb.setStyle(&quot;width&quot;, w);
          +        }
          +        else
          +        {
          +            cb.setStyle(&quot;height&quot;, h);
          +        }
          +        cb.setStyle(&quot;position&quot;, &quot;relative&quot;);
          +        cb.setStyle(&quot;left&quot;, &quot;0px&quot;);
          +        cb.setStyle(&quot;top&quot;, &quot;0px&quot;);
          +        this.set(&quot;graphic&quot;, new Y.Graphic());
          +        this.get(&quot;graphic&quot;).render(cb);
          +    },
          +	
          +    &#x2F;**
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var axisstyles = {
          +            majorTicks: {
          +                display:&quot;inside&quot;,
          +                length:4,
          +                color:&quot;#dad8c9&quot;,
          +                weight:1,
          +                alpha:1
          +            },
          +            minorTicks: {
          +                display:&quot;none&quot;,
          +                length:2,
          +                color:&quot;#dad8c9&quot;,
          +                weight:1
          +            },
          +            line: {
          +                weight:1,
          +                color:&quot;#dad8c9&quot;,
          +                alpha:1
          +            },
          +            majorUnit: {
          +                determinant:&quot;count&quot;,
          +                count:11,
          +                distance:75
          +            },
          +            top: &quot;0px&quot;,
          +            left: &quot;0px&quot;,
          +            width: &quot;100px&quot;,
          +            height: &quot;100px&quot;,
          +            label: {
          +                color:&quot;#808080&quot;,
          +                alpha: 1,
          +                fontSize:&quot;85%&quot;,
          +                rotation: 0,
          +                margin: {
          +                    top: undefined,
          +                    right: undefined,
          +                    bottom: undefined,
          +                    left: undefined
          +                }
          +            },
          +            title: {
          +                color:&quot;#808080&quot;,
          +                alpha: 1,
          +                fontSize:&quot;85%&quot;,
          +                rotation: undefined,
          +                margin: {
          +                    top: undefined,
          +                    right: undefined,
          +                    bottom: undefined,
          +                    left: undefined
          +                }
          +            },
          +            hideOverlappingLabelTicks: false
          +        };
          +        
          +        return Y.merge(Y.Renderer.prototype._getDefaultStyles(), axisstyles); 
          +    },
          +
          +    &#x2F;**
          +     * Updates the axis when the size changes.
          +     *
          +     * @method _handleSizeChange
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _handleSizeChange: function(e)
          +    {
          +        var attrName = e.attrName,
          +            pos = this.get(&quot;position&quot;),
          +            vert = pos == &quot;left&quot; || pos == &quot;right&quot;,
          +            cb = this.get(&quot;contentBox&quot;),
          +            hor = pos == &quot;bottom&quot; || pos == &quot;top&quot;;
          +        cb.setStyle(&quot;width&quot;, this.get(&quot;width&quot;));
          +        cb.setStyle(&quot;height&quot;, this.get(&quot;height&quot;));
          +        if((hor &amp;&amp; attrName == &quot;width&quot;) || (vert &amp;&amp; attrName == &quot;height&quot;))
          +        {
          +            this._drawAxis();
          +        }
          +    },
          +   
          +    &#x2F;**
          +     * Maps key values to classes containing layout algorithms
          +     *
          +     * @property _layoutClasses
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _layoutClasses: 
          +    {
          +        top : TopAxisLayout,
          +        bottom: BottomAxisLayout,
          +        left: LeftAxisLayout,
          +        right : RightAxisLayout
          +    },
          +    
          +    &#x2F;**
          +     * Draws a line segment between 2 points
          +     *
          +     * @method drawLine
          +     * @param {Object} startPoint x and y coordinates for the start point of the line segment
          +     * @param {Object} endPoint x and y coordinates for the for the end point of the line segment
          +     * @param {Object} line styles (weight, color and alpha to be applied to the line segment)
          +     * @private
          +     *&#x2F;
          +    drawLine: function(path, startPoint, endPoint)
          +    {
          +        path.moveTo(startPoint.x, startPoint.y);
          +        path.lineTo(endPoint.x, endPoint.y);
          +    },
          +
          +    &#x2F;**
          +     * Generates the properties necessary for rotating and positioning a text field.
          +     *
          +     * @method _getTextRotationProps
          +     * @param {Object} styles properties for the text field
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getTextRotationProps: function(styles)
          +    {
          +        if(styles.rotation === undefined)
          +        {
          +            switch(this.get(&quot;position&quot;))
          +            {
          +                case &quot;left&quot; :
          +                    styles.rotation = -90;
          +                break; 
          +                case &quot;right&quot; : 
          +                    styles.rotation = 90;
          +                break;
          +                default :
          +                    styles.rotation = 0;
          +                break;
          +            }
          +        }
          +        var rot =  Math.min(90, Math.max(-90, styles.rotation)),
          +            absRot = Math.abs(rot),
          +            radCon = Math.PI&#x2F;180,
          +            sinRadians = parseFloat(parseFloat(Math.sin(absRot * radCon)).toFixed(8)),
          +            cosRadians = parseFloat(parseFloat(Math.cos(absRot * radCon)).toFixed(8));
          +        return {
          +            rot: rot,
          +            absRot: absRot,
          +            radCon: radCon,
          +            sinRadians: sinRadians,
          +            cosRadians: cosRadians,
          +            textAlpha: styles.alpha
          +        };
          +    },
          +
          +    &#x2F;**
          +     * Draws an axis. 
          +     *
          +     * @method _drawAxis
          +     * @private
          +     *&#x2F;
          +    _drawAxis: function ()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        if(this._layout)
          +        {
          +            var styles = this.get(&quot;styles&quot;),
          +                line = styles.line,
          +                labelStyles = styles.label,
          +                majorTickStyles = styles.majorTicks,
          +                drawTicks = majorTickStyles.display != &quot;none&quot;,
          +                tickPoint,
          +                majorUnit = styles.majorUnit,
          +                len,
          +                majorUnitDistance,
          +                i = 0,
          +                layout = this._layout,
          +                layoutLength,
          +                position,
          +                lineStart,
          +                label,
          +                labelWidth,
          +                labelHeight,
          +                labelFunction = this.get(&quot;labelFunction&quot;),
          +                labelFunctionScope = this.get(&quot;labelFunctionScope&quot;),
          +                labelFormat = this.get(&quot;labelFormat&quot;),
          +                graphic = this.get(&quot;graphic&quot;),
          +                path = this.get(&quot;path&quot;),
          +                tickPath,
          +                explicitlySized;
          +            this._labelWidths = [];
          +            this._labelHeights = [];
          +            graphic.set(&quot;autoDraw&quot;, false);
          +            path.clear();
          +            path.set(&quot;stroke&quot;, {
          +                weight: line.weight, 
          +                color: line.color, 
          +                opacity: line.alpha
          +            });
          +            this._labelRotationProps = this._getTextRotationProps(labelStyles);
          +            this._labelRotationProps.transformOrigin = layout._getTransformOrigin(this._labelRotationProps.rot);
          +            layout.setTickOffsets.apply(this);
          +            layoutLength = this.getLength();
          +            lineStart = layout.getLineStart.apply(this);
          +            len = this.getTotalMajorUnits(majorUnit);
          +            majorUnitDistance = this.getMajorUnitDistance(len, layoutLength, majorUnit);
          +            this.set(&quot;edgeOffset&quot;, this.getEdgeOffset(len, layoutLength) * 0.5);
          +            if(len &lt; 1)
          +            {
          +                this._clearLabelCache();
          +            }
          +            else
          +            {
          +                tickPoint = this.getFirstPoint(lineStart);
          +                this.drawLine(path, lineStart, this.getLineEnd(tickPoint));
          +                if(drawTicks) 
          +                {
          +                    tickPath = this.get(&quot;tickPath&quot;);
          +                    tickPath.clear();
          +                    tickPath.set(&quot;stroke&quot;, {
          +                        weight: majorTickStyles.weight,
          +                        color: majorTickStyles.color,
          +                        opacity: majorTickStyles.alpha
          +                    });
          +                   layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);
          +                }
          +                this._createLabelCache();
          +                this._tickPoints = [];
          +                this._maxLabelSize = 0; 
          +                this._totalTitleSize = 0;
          +                this._titleSize = 0;
          +                this._setTitle();
          +                explicitlySized = layout.getExplicitlySized.apply(this, [styles]);
          +                for(; i &lt; len; ++i)
          +                {
          +                    if(drawTicks) 
          +                    {
          +                        layout.drawTick.apply(this, [tickPath, tickPoint, majorTickStyles]);
          +                    }
          +                    position = this.getPosition(tickPoint);
          +                    label = this.getLabel(tickPoint, labelStyles);
          +                    this._labels.push(label);
          +                    this._tickPoints.push({x:tickPoint.x, y:tickPoint.y});
          +                    this.get(&quot;appendLabelFunction&quot;)(label, labelFunction.apply(labelFunctionScope, [this.getLabelByIndex(i, len), labelFormat]));
          +                    labelWidth = Math.round(label.offsetWidth);
          +                    labelHeight = Math.round(label.offsetHeight);
          +                    if(!explicitlySized)
          +                    {
          +                        this._layout.updateMaxLabelSize.apply(this, [labelWidth, labelHeight]);
          +                    }
          +                    this._labelWidths.push(labelWidth);
          +                    this._labelHeights.push(labelHeight);
          +                    tickPoint = this.getNextPoint(tickPoint, majorUnitDistance);
          +                }
          +                this._clearLabelCache();
          +                if(this.get(&quot;overlapGraph&quot;))
          +                {
          +                   layout.offsetNodeForTick.apply(this, [this.get(&quot;contentBox&quot;)]);
          +                }
          +                layout.setCalculatedSize.apply(this);
          +                if(this._titleTextField)
          +                {
          +                    this._layout.positionTitle.apply(this, [this._titleTextField]);
          +                }
          +                for(i = 0; i &lt; len; ++i)
          +                {
          +                    layout.positionLabel.apply(this, [this.get(&quot;labels&quot;)[i], this._tickPoints[i], styles, i]);
          +                }
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawAxis();
          +        }
          +        else
          +        {
          +            this._updatePathElement();
          +            this.fire(&quot;axisRendered&quot;);
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Calculates and sets the total size of a title.
          +     *
          +     * @method _setTotalTitleSize
          +     * @param {Object} styles Properties for the title field.
          +     * @private
          +     *&#x2F;
          +    _setTotalTitleSize: function(styles)
          +    {
          +        var title = this._titleTextField,
          +            w = title.offsetWidth,
          +            h = title.offsetHeight,
          +            rot = this._titleRotationProps.rot,
          +            bounds,
          +            size,
          +            margin = styles.margin,
          +            position = this.get(&quot;position&quot;),
          +            matrix = new Y.Matrix();
          +        matrix.rotate(rot);
          +        bounds = matrix.getContentRect(w, h);
          +        if(position == &quot;left&quot; || position == &quot;right&quot;)
          +        {
          +            size = bounds.right - bounds.left;
          +            if(margin)
          +            {
          +                size += margin.left + margin.right;
          +            }
          +        }
          +        else
          +        {
          +            size = bounds.bottom - bounds.top;
          +            if(margin)
          +            {
          +                size += margin.top + margin.bottom;
          +            }
          +        }
          +        this._titleBounds = bounds;
          +        this._totalTitleSize = size;
          +    },
          +
          +    &#x2F;**
          +     *  Updates path.
          +     *
          +     *  @method _updatePathElement
          +     *  @private
          +     *&#x2F;
          +    _updatePathElement: function()
          +    {
          +        var path = this._path,
          +            tickPath = this._tickPath,
          +            redrawGraphic = false,
          +            graphic = this.get(&quot;graphic&quot;);
          +        if(path)
          +        {
          +            redrawGraphic = true;
          +            path.end();
          +        }
          +        if(tickPath)
          +        {
          +            redrawGraphic = true;
          +            tickPath.end();
          +        }
          +        if(redrawGraphic)
          +        {
          +            graphic._redraw();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Updates the content and style properties for a title field.
          +     *
          +     * @method _updateTitle
          +     * @private
          +     *&#x2F;
          +    _setTitle: function()
          +    {
          +        var i,
          +            styles,
          +            customStyles,
          +            title = this.get(&quot;title&quot;),
          +            titleTextField = this._titleTextField,
          +            parentNode;
          +        if(title !== null &amp;&amp; title !== undefined)
          +        {
          +            customStyles = {
          +                    rotation: &quot;rotation&quot;,
          +                    margin: &quot;margin&quot;,
          +                    alpha: &quot;alpha&quot;
          +            };
          +            styles = this.get(&quot;styles&quot;).title;
          +            if(!titleTextField)
          +            {
          +                titleTextField = DOCUMENT.createElement(&#x27;span&#x27;);
          +                titleTextField.style.display = &quot;block&quot;;
          +                titleTextField.style.whiteSpace = &quot;nowrap&quot;;
          +                titleTextField.setAttribute(&quot;class&quot;, &quot;axisTitle&quot;);
          +                this.get(&quot;contentBox&quot;).append(titleTextField);
          +            }
          +            else if(!DOCUMENT.createElementNS)
          +            {
          +                if(titleTextField.style.filter)
          +                {
          +                    titleTextField.style.filter = null;
          +                }
          +            }
          +            titleTextField.style.position = &quot;absolute&quot;;
          +            for(i in styles)
          +            {
          +                if(styles.hasOwnProperty(i) &amp;&amp; !customStyles.hasOwnProperty(i))
          +                {
          +                    titleTextField.style[i] = styles[i];
          +                }
          +            }
          +            this.get(&quot;appendTitleFunction&quot;)(titleTextField, title);
          +            this._titleTextField = titleTextField;
          +            this._titleRotationProps = this._getTextRotationProps(styles);
          +            this._setTotalTitleSize(styles);
          +        }
          +        else if(titleTextField)
          +        {
          +            parentNode = titleTextField.parentNode;
          +            if(parentNode)
          +            {
          +                parentNode.removeChild(titleTextField);
          +            }
          +            this._titleTextField = null;
          +            this._totalTitleSize = 0;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Creates or updates an axis label.
          +     *
          +     * @method getLabel
          +     * @param {Object} pt x and y coordinates for the label
          +     * @param {Object} styles styles applied to label
          +     * @return HTMLElement 
          +     * @private
          +     *&#x2F;
          +    getLabel: function(pt, styles)
          +    {
          +        var i,
          +            label,
          +            labelCache = this._labelCache,
          +            customStyles = {
          +                rotation: &quot;rotation&quot;,
          +                margin: &quot;margin&quot;,
          +                alpha: &quot;alpha&quot;
          +            };
          +        if(labelCache &amp;&amp; labelCache.length &gt; 0)
          +        {
          +            label = labelCache.shift();
          +        }
          +        else
          +        {
          +            label = DOCUMENT.createElement(&quot;span&quot;);
          +            label.className = Y.Lang.trim([label.className, &quot;axisLabel&quot;].join(&#x27; &#x27;));
          +            this.get(&quot;contentBox&quot;).append(label);
          +        }
          +        if(!DOCUMENT.createElementNS)
          +        {
          +            if(label.style.filter)
          +            {
          +                label.style.filter = null;
          +            }
          +        }
          +        label.style.display = &quot;block&quot;;
          +        label.style.whiteSpace = &quot;nowrap&quot;;
          +        label.style.position = &quot;absolute&quot;;
          +        for(i in styles)
          +        {
          +            if(styles.hasOwnProperty(i) &amp;&amp; !customStyles.hasOwnProperty(i))
          +            {
          +                label.style[i] = styles[i];
          +            }
          +        }
          +        return label;
          +    },
          +
          +    &#x2F;**
          +     * Creates a cache of labels that can be re-used when the axis redraws.
          +     *
          +     * @method _createLabelCache
          +     * @private
          +     *&#x2F;
          +    _createLabelCache: function()
          +    {
          +        if(this._labels)
          +        {
          +            while(this._labels.length &gt; 0)
          +            {
          +                this._labelCache.push(this._labels.shift());
          +            }
          +        }
          +        else
          +        {
          +            this._clearLabelCache();
          +        }
          +        this._labels = [];
          +    },
          +    
          +    &#x2F;**
          +     * Removes axis labels from the dom and clears the label cache.
          +     *
          +     * @method _clearLabelCache
          +     * @private
          +     *&#x2F;
          +    _clearLabelCache: function()
          +    {
          +        if(this._labelCache)
          +        {
          +            var len = this._labelCache.length,
          +                i = 0,
          +                label;
          +            for(; i &lt; len; ++i)
          +            {
          +                label = this._labelCache[i];
          +                this._removeChildren(label);
          +                Y.Event.purgeElement(label, true);
          +                label.parentNode.removeChild(label);
          +            }
          +        }
          +        this._labelCache = [];
          +    },
          +
          +    &#x2F;**
          +     * Gets the end point of an axis.
          +     *
          +     * @method getLineEnd
          +     * @return Object
          +     * @private 
          +     *&#x2F;
          +    getLineEnd: function(pt)
          +    {
          +        var w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            pos = this.get(&quot;position&quot;);
          +        if(pos === &quot;top&quot; || pos === &quot;bottom&quot;)
          +        {
          +            return {x:w, y:pt.y};
          +        }
          +        else
          +        {
          +            return {x:pt.x, y:h};
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Calcuates the width or height of an axis depending on its direction.
          +     *
          +     * @method getLength
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    getLength: function()
          +    {
          +        var l,
          +            style = this.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            pos = this.get(&quot;position&quot;);
          +        if(pos === &quot;top&quot; || pos === &quot;bottom&quot;)
          +        {
          +            l = w - (padding.left + padding.right);
          +        }
          +        else
          +        {
          +            l = h - (padding.top + padding.bottom);
          +        }
          +        return l;
          +    },
          +
          +    &#x2F;**
          +     * Gets the position of the first point on an axis.
          +     *
          +     * @method getFirstPoint
          +     * @param {Object} pt Object containing x and y coordinates.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    getFirstPoint:function(pt)
          +    {
          +        var style = this.get(&quot;styles&quot;),
          +            pos = this.get(&quot;position&quot;),
          +            padding = style.padding,
          +            np = {x:pt.x, y:pt.y};
          +        if(pos === &quot;top&quot; || pos === &quot;bottom&quot;)
          +        {
          +            np.x += padding.left + this.get(&quot;edgeOffset&quot;);
          +        }
          +        else
          +        {
          +            np.y += this.get(&quot;height&quot;) - (padding.top + this.get(&quot;edgeOffset&quot;));
          +        }
          +        return np;
          +    },
          +
          +    &#x2F;**
          +     * Gets the position of the next point on an axis.
          +     *
          +     * @method getNextPoint
          +     * @param {Object} point Object containing x and y coordinates.
          +     * @param {Number} majorUnitDistance Distance in pixels between ticks.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    getNextPoint: function(point, majorUnitDistance)
          +    {
          +        var pos = this.get(&quot;position&quot;);
          +        if(pos === &quot;top&quot; || pos === &quot;bottom&quot;)
          +        {
          +            point.x = point.x + majorUnitDistance;		
          +        }
          +        else
          +        {
          +            point.y = point.y - majorUnitDistance;
          +        }
          +        return point;
          +    },
          +
          +    &#x2F;**
          +     * Calculates the placement of last tick on an axis.
          +     *
          +     * @method getLastPoint
          +     * @return Object
          +     * @private 
          +     *&#x2F;
          +    getLastPoint: function()
          +    {
          +        var style = this.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            w = this.get(&quot;width&quot;),
          +            pos = this.get(&quot;position&quot;);
          +        if(pos === &quot;top&quot; || pos === &quot;bottom&quot;)
          +        {
          +            return {x:w - padding.right, y:padding.top};
          +        }
          +        else
          +        {
          +            return {x:padding.left, y:padding.top};
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Calculates position on the axis.
          +     *
          +     * @method getPosition
          +     * @param {Object} point contains x and y values
          +     * @private 
          +     *&#x2F;
          +    getPosition: function(point)
          +    {
          +        var p,
          +            h = this.get(&quot;height&quot;),
          +            style = this.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            pos = this.get(&quot;position&quot;),
          +            dataType = this.get(&quot;dataType&quot;);
          +        if(pos === &quot;left&quot; || pos === &quot;right&quot;) 
          +        {
          +            &#x2F;&#x2F;Numeric data on a vertical axis is displayed from bottom to top.
          +            &#x2F;&#x2F;Categorical and Timeline data is displayed from top to bottom.
          +            if(dataType === &quot;numeric&quot;)
          +            {
          +                p = (h - (padding.top + padding.bottom)) - (point.y - padding.top);
          +            }
          +            else
          +            {
          +                p = point.y - padding.top;
          +            }
          +        }
          +        else
          +        {
          +            p = point.x - padding.left;
          +        }
          +        return p;
          +    },
          +
          +    &#x2F;**
          +     * Rotates and positions a text field.
          +     *
          +     * @method _rotate
          +     * @param {HTMLElement} label text field to rotate and position
          +     * @param {Object} props properties to be applied to the text field. 
          +     * @private
          +     *&#x2F;
          +    _rotate: function(label, props)
          +    {
          +        var rot = props.rot,
          +            x = props.x,
          +            y = props.y,
          +            filterString,
          +            textAlpha,
          +            matrix = new Y.Matrix(),
          +            transformOrigin = props.transformOrigin || [0, 0],
          +            offsetRect;
          +        if(DOCUMENT.createElementNS)
          +        {
          +            matrix.translate(x, y);
          +            matrix.rotate(rot);
          +            label.style.MozTransformOrigin = (transformOrigin[0] * 100) + &quot;% &quot; + (transformOrigin[1] * 100) + &quot;%&quot;;
          +            label.style.MozTransform = matrix.toCSSText();
          +            label.style.webkitTransformOrigin = (transformOrigin[0] * 100) + &quot;% &quot; + (transformOrigin[1] * 100) + &quot;%&quot;;
          +            label.style.webkitTransform = matrix.toCSSText();
          +            label.style.msTransformOrigin = (transformOrigin[0] * 100) + &quot;% &quot; + (transformOrigin[1] * 100) + &quot;%&quot;;
          +            label.style.msTransform = matrix.toCSSText();
          +            label.style.OTransformOrigin = (transformOrigin[0] * 100) + &quot;% &quot; + (transformOrigin[1] * 100) + &quot;%&quot;;
          +            label.style.OTransform = matrix.toCSSText();
          +        }
          +        else
          +        {
          +            textAlpha = props.textAlpha;
          +            if(Y_Lang.isNumber(textAlpha) &amp;&amp; textAlpha &lt; 1 &amp;&amp; textAlpha &gt; -1 &amp;&amp; !isNaN(textAlpha))
          +            {
          +                filterString = &quot;progid:DXImageTransform.Microsoft.Alpha(Opacity=&quot; + Math.round(textAlpha * 100) + &quot;)&quot;;
          +            }
          +            if(rot !== 0)
          +            {
          +                &#x2F;&#x2F;ms filters kind of, sort of uses a transformOrigin of 0, 0. 
          +                &#x2F;&#x2F;we&#x27;ll translate the difference to create a true 0, 0 origin.
          +                matrix.rotate(rot);
          +                offsetRect = matrix.getContentRect(props.labelWidth, props.labelHeight);
          +                matrix.init();
          +                matrix.translate(offsetRect.left, offsetRect.top);
          +                matrix.translate(x, y);
          +                this._simulateRotateWithTransformOrigin(matrix, rot, transformOrigin, props.labelWidth, props.labelHeight);
          +                if(filterString)
          +                {
          +                    filterString += &quot; &quot;;
          +                }
          +                else
          +                {
          +                    filterString = &quot;&quot;; 
          +                }
          +                filterString += matrix.toFilterText();
          +                label.style.left = matrix.dx + &quot;px&quot;;
          +                label.style.top = matrix.dy + &quot;px&quot;;
          +            }
          +            else
          +            {
          +                label.style.left = x + &quot;px&quot;;
          +                label.style.top = y + &quot;px&quot;;
          +            }
          +            if(filterString)
          +            {
          +                label.style.filter = filterString;
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Simulates a rotation with a specified transformOrigin. 
          +     *
          +     * @method _simulateTransformOrigin
          +     * @param {Matrix} matrix Reference to a &#x60;Matrix&#x60; instance.
          +     * @param {Number} rot The rotation (in degrees) that will be performed on a matrix.
          +     * @param {Array} transformOrigin An array represeniting the origin in which to perform the transform. The first 
          +     * index represents the x origin and the second index represents the y origin.
          +     * @param {Number} w The width of the object that will be transformed.
          +     * @param {Number} h The height of the object that will be transformed.
          +     * @private
          +     *&#x2F;
          +    _simulateRotateWithTransformOrigin: function(matrix, rot, transformOrigin, w, h)
          +    {
          +        var transformX = transformOrigin[0] * w,
          +            transformY = transformOrigin[1] * h;
          +        transformX = !isNaN(transformX) ? transformX : 0;
          +        transformY = !isNaN(transformY) ? transformY : 0;
          +        matrix.translate(transformX, transformY);
          +        matrix.rotate(rot);
          +        matrix.translate(-transformX, -transformY);
          +    },
          +
          +    &#x2F;**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of the last label. 
          +     *
          +     * @method getMaxLabelBounds
          +     * @return Object
          +     *&#x2F;
          +    getMaxLabelBounds: function()
          +    {
          +        return this._getLabelBounds(this.getMaximumValue());
          +    },
          +
          +    &#x2F;**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of the first label. 
          +     *
          +     * @method getMinLabelBounds
          +     * @return Object
          +     *&#x2F;
          +    getMinLabelBounds: function()
          +    {
          +        return this._getLabelBounds(this.getMinimumValue());
          +    },
          +    
          +    &#x2F;**
          +     * Returns the coordinates (top, right, bottom, left) for the bounding box of a label. 
          +     *
          +     * @method _getLabelBounds
          +     * @param {String} Value of the label
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getLabelBounds: function(val)
          +    {
          +        var layout = this._layout,
          +            labelStyles = this.get(&quot;styles&quot;).label,
          +            matrix = new Y.Matrix(),
          +            label,
          +            props = this._getTextRotationProps(labelStyles);
          +            props.transformOrigin = layout._getTransformOrigin(props.rot);
          +        label = this.getLabel({x: 0, y: 0}, labelStyles);
          +        this.get(&quot;appendLabelFunction&quot;)(label, this.get(&quot;labelFunction&quot;).apply(this, [val, this.get(&quot;labelFormat&quot;)]));
          +        props.labelWidth = label.offsetWidth;
          +        props.labelHeight = label.offsetHeight;
          +        this._removeChildren(label);
          +        Y.Event.purgeElement(label, true);
          +        label.parentNode.removeChild(label);
          +        props.x = 0;
          +        props.y = 0;
          +        layout._setRotationCoords(props);
          +        matrix.translate(props.x, props.y);
          +        this._simulateRotateWithTransformOrigin(matrix, props.rot, props.transformOrigin, props.labelWidth, props.labelHeight);
          +        return matrix.getContentRect(props.labelWidth, props.labelHeight);
          +    },
          +
          +    &#x2F;**
          +     * Removes all DOM elements from an HTML element. Used to clear out labels during detruction
          +     * phase.
          +     *
          +     * @method _removeChildren
          +     * @private
          +     *&#x2F;
          +    _removeChildren: function(node)
          +    {
          +        if(node.hasChildNodes())
          +        {
          +            var child;
          +            while(node.firstChild)
          +            {
          +                child = node.firstChild;
          +                this._removeChildren(child);
          +                node.removeChild(child);
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Destructor implementation Axis class. Removes all labels and the Graphic instance from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        var cb = this.get(&quot;contentBox&quot;).getDOMNode(),
          +            labels = this.get(&quot;labels&quot;),
          +            graphic = this.get(&quot;graphic&quot;),
          +            label,
          +            len = labels ? labels.length : 0;
          +        if(len &gt; 0)
          +        {
          +            while(labels.length &gt; 0)
          +            {
          +                label = labels.shift();
          +                this._removeChildren(label);
          +                cb.removeChild(label);
          +                label = null;
          +            }
          +        }
          +        if(graphic)
          +        {
          +            graphic.destroy();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Length in pixels of largest text bounding box. Used to calculate the height of the axis.
          +     *
          +     * @property maxLabelSize
          +     * @type Number
          +     * @protected
          +     *&#x2F;
          +    _maxLabelSize: 0,
          +    
          +    &#x2F;**
          +     * Updates the content of text field. This method writes a value into a text field using 
          +     * &#x60;appendChild&#x60;. If the value is a &#x60;String&#x60;, it is converted to a &#x60;TextNode&#x60; first. 
          +     *
          +     * @method _setText
          +     * @param label {HTMLElement} label to be updated
          +     * @param val {String} value with which to update the label
          +     * @private
          +     *&#x2F;
          +    _setText: function(textField, val)
          +    { 
          +        textField.innerHTML = &quot;&quot;;
          +        if(Y_Lang.isNumber(val))
          +        {
          +            val = val + &quot;&quot;;
          +        }
          +        else if(!val)
          +        {
          +            val = &quot;&quot;;
          +        }
          +        if(IS_STRING(val))
          +        {
          +            val = DOCUMENT.createTextNode(val);
          +        }
          +        textField.appendChild(val);
          +    }
          +}, {
          +    ATTRS: 
          +    {
          +        &#x2F;**
          +         * When set, defines the width of a vertical axis instance. By default, vertical axes automatically size based on their contents. When the
          +         * width attribute is set, the axis will not calculate its width. When the width attribute is explicitly set, axis labels will postion themselves off of the 
          +         * the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified width is less than the sum of 
          +         * the axis&#x27; contents, excess content will overflow.
          +         *
          +         * @attribute width
          +         * @type Number
          +         *&#x2F;
          +        width: {
          +            lazyAdd: false,
          +
          +            getter: function() 
          +            {
          +                if(this._explicitWidth)
          +                {
          +                    return this._explicitWidth;        
          +                }
          +                return this._calculatedWidth;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._explicitWidth = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * When set, defines the height of a horizontal axis instance. By default, horizontal axes automatically size based on their contents. When the
          +         * height attribute is set, the axis will not calculate its height. When the height attribute is explicitly set, axis labels will postion themselves off of the 
          +         * the inner edge of the axis and the title, if present, will position itself off of the outer edge. If a specified height is less than the sum of 
          +         * the axis&#x27; contents, excess content will overflow.
          +         *
          +         * @attribute height
          +         * @type Number
          +         *&#x2F;
          +        height: {
          +            lazyAdd: false,
          +
          +            getter: function() 
          +            {
          +                if(this._explicitHeight)
          +                {
          +                    return this._explicitHeight;        
          +                }
          +                return this._calculatedHeight;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._explicitHeight = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Calculated value of an axis&#x27; width. By default, the value is used internally for vertical axes. If the &#x60;width&#x60; attribute is explicitly set, this value will be ignored.
          +         *
          +         * @attribute calculatedWidth
          +         * @type Number
          +         * @private
          +         *&#x2F;
          +        calculatedWidth: {
          +            getter: function()
          +            {
          +                return this._calculatedWidth;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._calculatedWidth = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Calculated value of an axis&#x27; height. By default, the value is used internally for horizontal axes. If the &#x60;height&#x60; attribute is explicitly set, this value will be ignored.
          +         *
          +         * @attribute calculatedHeight
          +         * @type Number
          +         * @private
          +         *&#x2F;
          +        calculatedHeight: {
          +            getter: function()
          +            {
          +                return this._calculatedHeight;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._calculatedHeight = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Difference betweend the first&#x2F;last tick and edge of axis.
          +         *
          +         * @attribute edgeOffset
          +         * @type Number
          +         * @protected
          +         *&#x2F;
          +        edgeOffset: 
          +        {
          +            value: 0
          +        },
          +
          +        &#x2F;**
          +         * The graphic in which the axis line and ticks will be rendered.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         *&#x2F;
          +        graphic: {},
          +    
          +        &#x2F;**
          +         *  @attribute path
          +         *  @type Shape
          +         *  @readOnly
          +         *  @private
          +         *&#x2F;
          +        path: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._path)
          +                {
          +                    var graphic = this.get(&quot;graphic&quot;);
          +                    if(graphic)
          +                    {
          +                        this._path = graphic.addShape({type:&quot;path&quot;});
          +                    }
          +                }
          +                return this._path;
          +            }
          +        },
          +
          +        &#x2F;**
          +         *  @attribute tickPath
          +         *  @type Shape
          +         *  @readOnly
          +         *  @private
          +         *&#x2F;
          +        tickPath: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._tickPath)
          +                {
          +                    var graphic = this.get(&quot;graphic&quot;);
          +                    if(graphic)
          +                    {
          +                        this._tickPath = graphic.addShape({type:&quot;path&quot;});
          +                    }
          +                }
          +                return this._tickPath;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Contains the contents of the axis. 
          +         *
          +         * @attribute node
          +         * @type HTMLElement
          +         *&#x2F;
          +        node: {},
          +
          +        &#x2F;**
          +         * Direction of the axis.
          +         *
          +         * @attribute position
          +         * @type String
          +         *&#x2F;
          +        position: {
          +            setter: function(val)
          +            {
          +                var layoutClass = this._layoutClasses[val];
          +                if(val &amp;&amp; val != &quot;none&quot;)
          +                {
          +                    this._layout = new layoutClass();
          +                }
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the top of the axis.
          +         *
          +         * @attribute topTickOffset
          +         * @type Number
          +         *&#x2F;
          +        topTickOffset: {
          +            value: 0
          +        },
          +
          +        &#x2F;**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the bottom of the axis.
          +         *
          +         * @attribute bottomTickOffset
          +         * @type Number
          +         *&#x2F;
          +        bottomTickOffset: {
          +            value: 0
          +        },
          +
          +        &#x2F;**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the left of the axis.
          +         *
          +         * @attribute leftTickOffset
          +         * @type Number
          +         *&#x2F;
          +        leftTickOffset: {
          +            value: 0
          +        },
          +
          +        &#x2F;**
          +         * Distance determined by the tick styles used to calculate the distance between the axis
          +         * line in relation to the right side of the axis.
          +         *
          +         * @attribute rightTickOffset
          +         * @type Number
          +         *&#x2F;
          +        rightTickOffset: {
          +            value: 0
          +        },
          +        
          +        &#x2F;**
          +         * Collection of labels used to render the axis.
          +         *
          +         * @attribute labels
          +         * @type Array
          +         *&#x2F;
          +        labels: {
          +            readOnly: true,
          +            getter: function()
          +            {
          +                return this._labels;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Collection of points used for placement of labels and ticks along the axis.
          +         *
          +         * @attribute tickPoints
          +         * @type Array
          +         *&#x2F;
          +        tickPoints: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(this.get(&quot;position&quot;) == &quot;none&quot;)
          +                {
          +                    return this.get(&quot;styles&quot;).majorUnit.count;
          +                }
          +                return this._tickPoints;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether the axis overlaps the graph. If an axis is the inner most axis on a given
          +         * position and the tick position is inside or cross, the axis will need to overlap the graph.
          +         *
          +         * @attribute overlapGraph
          +         * @type Boolean
          +         *&#x2F;
          +        overlapGraph: {
          +            value:true,
          +
          +            validator: function(val)
          +            {
          +                return Y_Lang.isBoolean(val);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Object which should have by the labelFunction
          +         *
          +         * @attribute labelFunctionScope
          +         * @type Object
          +         *&#x2F;
          +        labelFunctionScope: {},
          +        
          +        &#x2F;**
          +         * Length in pixels of largest text bounding box. Used to calculate the height of the axis.
          +         *
          +         * @attribute maxLabelSize
          +         * @type Number
          +         * @protected
          +         *&#x2F;
          +        maxLabelSize: {
          +            getter: function()
          +            {
          +                return this._maxLabelSize;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._maxLabelSize = val;
          +                return val; 
          +            }
          +        },
          +        
          +        &#x2F;**
          +         *  Title for the axis. When specified, the title will display. The position of the title is determined by the axis position. 
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;top&lt;&#x2F;dt&gt;&lt;dd&gt;Appears above the axis and it labels. The default rotation is 0.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;right&lt;&#x2F;dt&gt;&lt;dd&gt;Appears to the right of the axis and its labels. The default rotation is 90.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;bottom&lt;&#x2F;dt&gt;&lt;dd&gt;Appears below the axis and its labels. The default rotation is 0.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;left&lt;&#x2F;dt&gt;&lt;dd&gt;Appears to the left of the axis and its labels. The default rotation is -90.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         *  @attribute title
          +         *  @type String
          +         *&#x2F;
          +        title: {
          +            value: null
          +        },
          +        
          +        &#x2F;**
          +         * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +         * to implement the arguments below and return a &#x60;String&#x60; or &#x60;HTMLElement&#x60;. 
          +         * &lt;dl&gt;
          +         *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;Label to be formatted. (&#x60;String&#x60;)&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;format&lt;&#x2F;dt&gt;&lt;dd&gt;Template for formatting label. (optional)&lt;&#x2F;dd&gt;
          +         * &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute labelFunction
          +         * @type Function
          +         *&#x2F;
          +        labelFunction: {
          +            value: function(val, format)
          +            {
          +                return val;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Function used to append an axis value to an axis label. This function has the following signature:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;textField&lt;&#x2F;dt&gt;&lt;dd&gt;The axis label to be appended. (&#x60;HTMLElement&#x60;)&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;The value to attach to the text field. This method will accept an &#x60;HTMLELement&#x60;
          +         *      or a &#x60;String&#x60;. This method does not use (&#x60;HTMLElement&#x60; | &#x60;String&#x60;)&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         * The default method appends a value to the &#x60;HTMLElement&#x60; using the &#x60;appendChild&#x60; method. If the given 
          +         * value is a &#x60;String&#x60;, the method will convert the the value to a &#x60;textNode&#x60; before appending to the 
          +         * &#x60;HTMLElement&#x60;. This method will not convert an &#x60;HTMLString&#x60; to an &#x60;HTMLElement&#x60;. 
          +         *
          +         * @attribute appendLabelFunction
          +         * @type Function
          +         *&#x2F;
          +        appendLabelFunction: {
          +            getter: function()
          +            {
          +                return this._setText;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Function used to append a title value to the title object. This function has the following signature:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;textField&lt;&#x2F;dt&gt;&lt;dd&gt;The title text field to be appended. (&#x60;HTMLElement&#x60;)&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;The value to attach to the text field. This method will accept an &#x60;HTMLELement&#x60;
          +         *      or a &#x60;String&#x60;. This method does not use (&#x60;HTMLElement&#x60; | &#x60;String&#x60;)&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         * The default method appends a value to the &#x60;HTMLElement&#x60; using the &#x60;appendChild&#x60; method. If the given 
          +         * value is a &#x60;String&#x60;, the method will convert the the value to a &#x60;textNode&#x60; before appending to the 
          +         * &#x60;HTMLElement&#x60; element. This method will not convert an &#x60;HTMLString&#x60; to an &#x60;HTMLElement&#x60;. 
          +         *
          +         * @attribute appendTitleFunction
          +         * @type Function
          +         *&#x2F;
          +        appendTitleFunction: {
          +            getter: function()
          +            {
          +                return this._setText;
          +            }
          +        }
          +            
          +        &#x2F;**
          +         * Style properties used for drawing an axis. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;majorTicks&lt;&#x2F;dt&gt;&lt;dd&gt;Properties used for drawing ticks.
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;display&lt;&#x2F;dt&gt;&lt;dd&gt;Position of the tick. Possible values are &#x60;inside&#x60;, &#x60;outside&#x60;, &#x60;cross&#x60; and &#x60;none&#x60;. The
          +         *              default value is &#x60;inside&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;length&lt;&#x2F;dt&gt;&lt;dd&gt;The length (in pixels) of the tick. The default value is 4.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the tick. The default value is &#x60;#dad8c9&#x60;&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the tick. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the tick. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;line&lt;&#x2F;dt&gt;&lt;dd&gt;Properties used for drawing the axis line. 
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the axis line. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the axis line. The default value is &#x60;#dad8c9&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the tick. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;majorUnit&lt;&#x2F;dt&gt;&lt;dd&gt;Properties used to calculate the &#x60;majorUnit&#x60; for the axis. 
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;determinant&lt;&#x2F;dt&gt;&lt;dd&gt;The algorithm used for calculating distance between ticks. The possible options are &#x60;count&#x60; and &#x60;distance&#x60;. If
          +         *              the &#x60;determinant&#x60; is &#x60;count&#x60;, the axis ticks will spaced so that a specified number of ticks appear on the axis. If the &#x60;determinant&#x60;
          +         *              is &#x60;distance&#x60;, the axis ticks will spaced out according to the specified distance. The default value is &#x60;count&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;count&lt;&#x2F;dt&gt;&lt;dd&gt;Number of ticks to appear on the axis when the &#x60;determinant&#x60; is &#x60;count&#x60;. The default value is 11.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;distance&lt;&#x2F;dt&gt;&lt;dd&gt;The distance (in pixels) between ticks when the &#x60;determinant&#x60; is &#x60;distance&#x60;. The default value is 75.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;label&lt;&#x2F;dt&gt;&lt;dd&gt;Properties and styles applied to the axis labels.
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the labels. The default value is &#x60;#808080&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 indicating the opacity of the labels. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;fontSize&lt;&#x2F;dt&gt;&lt;dd&gt;The font-size of the labels. The default value is 85%&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;rotation&lt;&#x2F;dt&gt;&lt;dd&gt;The rotation, in degrees (between -90 and 90) of the labels. The default value is 0.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;margin&lt;&#x2F;dt&gt;&lt;dd&gt;The distance between the label and the axis&#x2F;tick. Depending on the position of the &#x60;Axis&#x60;, only one of the properties used.
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;top&lt;&#x2F;dt&gt;&lt;dd&gt;Pixel value used for an axis with a &#x60;position&#x60; of &#x60;bottom&#x60;. The default value is 4.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;right&lt;&#x2F;dt&gt;&lt;dd&gt;Pixel value used for an axis with a &#x60;position&#x60; of &#x60;left&#x60;. The default value is 4.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;bottom&lt;&#x2F;dt&gt;&lt;dd&gt;Pixel value used for an axis with a &#x60;position&#x60; of &#x60;top&#x60;. The default value is 4.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;left&lt;&#x2F;dt&gt;&lt;dd&gt;Pixel value used for an axis with a &#x60;position&#x60; of &#x60;right&#x60;. The default value is 4.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AxisType.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AxisType.js.html
          new file mode 100644
          index 000000000..ea51bc7b4
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_AxisType.js.html
          @@ -0,0 +1,986 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;AxisType.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;AxisType.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * AxisType is an abstract class that manages the data for an axis.
          + *
          + * @module charts
          + * @class AxisType
          + * @constructor
          + * @extends Axis
          + *&#x2F;
          +Y.AxisType = Y.Base.create(&quot;baseAxis&quot;, Y.Axis, [], {
          +    &#x2F;**
          +     * @method initializer
          +     * @private
          +     *&#x2F;
          +    initializer: function()
          +    {
          +        this.after(&quot;dataReady&quot;, Y.bind(this._dataChangeHandler, this));
          +        this.after(&quot;dataUpdate&quot;, Y.bind(this._dataChangeHandler, this));
          +        this.after(&quot;minimumChange&quot;, Y.bind(this._keyChangeHandler, this));
          +        this.after(&quot;maximumChange&quot;, Y.bind(this._keyChangeHandler, this));
          +        this.after(&quot;keysChange&quot;, this._keyChangeHandler);
          +        this.after(&quot;dataProviderChange&quot;, this._dataProviderChangeHandler);
          +        this.after(&quot;alwaysShowZeroChange&quot;, this._keyChangeHandler);
          +        this.after(&quot;roundingMethodChange&quot;, this._keyChangeHandler);
          +    },
          +
          +    &#x2F;**
          +     * @method bindUI
          +     * @private
          +     *&#x2F;
          +    bindUI: function()
          +    {
          +        this.after(&quot;stylesChange&quot;, this._updateHandler);
          +        this.after(&quot;overlapGraphChange&quot;, this._updateHandler);
          +        this.after(&quot;positionChange&quot;, this._positionChangeHandler);
          +        this.after(&quot;widthChange&quot;, this._handleSizeChange);
          +        this.after(&quot;heightChange&quot;, this._handleSizeChange);
          +        this.after(&quot;calculatedWidthChange&quot;, this._handleSizeChange);
          +        this.after(&quot;calculatedHeightChange&quot;, this._handleSizeChange);
          +    },
          +
          +    &#x2F;**
          +     * Handles changes to &#x60;dataProvider&#x60;.
          +     *
          +     * @method _dataProviderChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _dataProviderChangeHandler: function(e)
          +    {
          +        var keyCollection = this.get(&quot;keyCollection&quot;).concat(),
          +            keys = this.get(&quot;keys&quot;),
          +            i;
          +        if(keys)
          +        {
          +            for(i in keys)
          +            {
          +                if(keys.hasOwnProperty(i))
          +                {
          +                    delete keys[i];
          +                }
          +            }
          +        }
          +        if(keyCollection &amp;&amp; keyCollection.length)
          +        {
          +            this.set(&quot;keys&quot;, keyCollection);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    GUID: &quot;yuibaseaxis&quot;,
          +	
          +    &#x2F;**
          +     * Type of data used in &#x60;Axis&#x60;.
          +     *
          +     * @property _type
          +     * @type String 
          +     * @readOnly
          +     * @private
          +     *&#x2F;
          +    _type: null,
          +	
          +    &#x2F;**
          +     * Storage for &#x60;setMaximum&#x60; attribute.
          +     *
          +     * @property _setMaximum
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _setMaximum: null,
          +	
          +    &#x2F;**
          +     * Storage for &#x60;dataMaximum&#x60; attribute.
          +     *
          +     * @property _dataMaximum
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _dataMaximum: null,
          +	
          +    &#x2F;**
          +     * Storage for &#x60;setMinimum&#x60; attribute.
          +     *
          +     * @property _setMinimum
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _setMinimum: null,
          +	
          +    &#x2F;**
          +     * Reference to data array.
          +     *
          +     * @property _data
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _data: null,
          +
          +    &#x2F;**
          +     * Indicates whether the all data is up to date.
          +     *
          +     * @property _updateTotalDataFlag
          +     * @type Boolean
          +     * @private
          +     *&#x2F;
          +    _updateTotalDataFlag: true,
          +
          +    &#x2F;**
          +     * Storage for &#x60;dataReady&#x60; attribute.
          +     *
          +     * @property _dataReady
          +     * @type Boolean
          +     * @readOnly
          +     * @private
          +     *&#x2F;
          +    _dataReady: false,
          +	
          +    &#x2F;**
          +     * Adds an array to the key hash.
          +     *
          +     * @method addKey
          +     * @param value Indicates what key to use in retrieving
          +     * the array.
          +     *&#x2F;
          +    addKey: function (value)
          +	{
          +        this.set(&quot;keys&quot;, value);
          +	},
          +
          +    &#x2F;**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getKeyArray: function(key, data)
          +    {
          +        var i = 0,
          +            obj,
          +            keyArray = [],
          +            len = data.length;
          +        for(; i &lt; len; ++i)
          +        {
          +            obj = data[i];
          +            keyArray[i] = obj[key];
          +        }
          +        return keyArray;
          +    },
          +
          +    &#x2F;**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     *&#x2F;
          +    _setDataByKey: function(key, data)
          +    {
          +        var i,
          +            obj, 
          +            arr = [], 
          +            dv = this._dataClone.concat(), 
          +            len = dv.length;
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            obj = dv[i];
          +            arr[i] = obj[key];
          +        }
          +        this.get(&quot;keys&quot;)[key] = arr;
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    &#x2F;**
          +     * Updates the total data array.
          +     *
          +     * @method _updateTotalData
          +     * @private
          +     *&#x2F;
          +    _updateTotalData: function()
          +    {
          +		var keys = this.get(&quot;keys&quot;),
          +            i;
          +        this._data = [];
          +        for(i in keys)
          +        {
          +            if(keys.hasOwnProperty(i))
          +            {
          +                this._data = this._data.concat(keys[i]);
          +            }
          +        }
          +        this._updateTotalDataFlag = false;
          +    },
          +
          +    &#x2F;**
          +     * Removes an array from the key hash.
          +     * 
          +     * @method removeKey
          +     * @param {String} value Indicates what key to use in removing from 
          +     * the hash.
          +     *&#x2F;
          +    removeKey: function(value)
          +    {
          +        var keys = this.get(&quot;keys&quot;);
          +        if(keys.hasOwnProperty(value)) 
          +        {
          +            delete keys[value];
          +            this._keyChangeHandler();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Returns a value based of a key value and an index.
          +     *
          +     * @method getKeyValueAt
          +     * @param {String} key value used to look up the correct array
          +     * @param {Number} index within the array
          +     * @return Number 
          +     *&#x2F;
          +    getKeyValueAt: function(key, index)
          +    {
          +        var value = NaN,
          +            keys = this.get(&quot;keys&quot;);
          +        if(keys[key] &amp;&amp; Y_Lang.isNumber(parseFloat(keys[key][index])))
          +        {
          +            value = keys[key][index];
          +        }
          +        return parseFloat(value);
          +    },
          +
          +    &#x2F;**
          +     * Returns an array of values based on an identifier key.
          +     *
          +     * @method getDataByKey
          +     * @param {String} value value used to identify the array
          +     * @return Object
          +     *&#x2F;
          +    getDataByKey: function (value)
          +    {
          +        var keys = this.get(&quot;keys&quot;);
          +        if(keys[value])
          +        {
          +            return keys[value];
          +        }
          +        return null;
          +    },
          +
          +    &#x2F;**
          +     * Calculates the maximum and minimum values for the &#x60;Axis&#x60;.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     *&#x2F;
          +    _updateMinAndMax: function() 
          +    {
          +        var data = this.get(&quot;data&quot;),
          +            max = 0,
          +            min = 0,
          +            len,
          +            num,
          +            i;
          +        if(data &amp;&amp; data.length &amp;&amp; data.length &gt; 0)
          +        {
          +            len = data.length;
          +            max = min = data[0];
          +            if(len &gt; 1)
          +            {
          +                for(i = 1; i &lt; len; i++)
          +                {	
          +                    num = data[i];
          +                    if(isNaN(num))
          +                    {
          +                        continue;
          +                    }
          +                    max = Math.max(num, max);
          +                    min = Math.min(num, min);
          +                }
          +            }
          +        }
          +        this._dataMaximum = max;
          +        this._dataMinimum = min;
          +    },
          +
          +    &#x2F;**
          +     * Returns the total number of majorUnits that will appear on an axis.
          +     *
          +     * @method getTotalMajorUnits
          +     * @return Number
          +     *&#x2F;
          +    getTotalMajorUnits: function()
          +    {
          +        var units,
          +            majorUnit = this.get(&quot;styles&quot;).majorUnit,
          +            len = this.get(&quot;length&quot;);
          +        if(majorUnit.determinant === &quot;count&quot;) 
          +        {
          +            units = majorUnit.count;
          +        }
          +        else if(majorUnit.determinant === &quot;distance&quot;) 
          +        {
          +            units = (len&#x2F;majorUnit.distance) + 1;
          +        }
          +        return units; 
          +    },
          +
          +    &#x2F;**
          +     * Returns the distance between major units on an axis.
          +     *
          +     * @method getMajorUnitDistance
          +     * @param {Number} len Number of ticks
          +     * @param {Number} uiLen Size of the axis.
          +     * @param {Object} majorUnit Hash of properties used to determine the majorUnit
          +     * @return Number
          +     *&#x2F;
          +    getMajorUnitDistance: function(len, uiLen, majorUnit)
          +    {
          +        var dist;
          +        if(majorUnit.determinant === &quot;count&quot;)
          +        {
          +            dist = uiLen&#x2F;(len - 1);
          +        }
          +        else if(majorUnit.determinant === &quot;distance&quot;)
          +        {
          +            dist = majorUnit.distance;
          +        }
          +        return dist;
          +    },
          +    
          +    &#x2F;**
          +     * Gets the distance that the first and last ticks are offset from there respective
          +     * edges.
          +     *
          +     * @method getEdgeOffset
          +     * @param {Number} ct Number of ticks on the axis.
          +     * @param {Number} l Length (in pixels) of the axis.
          +     * @return Number
          +     *&#x2F;
          +    getEdgeOffset: function(ct, l)
          +    {
          +        return 0;
          +    },
          +
          +    &#x2F;**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     *&#x2F;
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get(&quot;minimum&quot;),
          +            max = this.get(&quot;maximum&quot;),
          +            increm = (max - min)&#x2F;(l-1),
          +            label;
          +            l -= 1;
          +        label = min + (i * increm);
          +        return label;
          +    },
          +
          +    &#x2F;**
          +     * Updates the &#x60;Axis&#x60; after a change in keys.
          +     *
          +     * @method _keyChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _keyChangeHandler: function(e)
          +    {
          +        this._updateMinAndMax();
          +        this.fire(&quot;dataUpdate&quot;);
          +    },
          +
          +    &#x2F;**
          +     * Checks to see if data extends beyond the range of the axis. If so,
          +     * that data will need to be hidden. This method is internal, temporary and subject
          +     * to removal in the future.
          +     *
          +     * @method _hasDataOverflow
          +     * @protected
          +     * @return Boolean
          +     *&#x2F;
          +    _hasDataOverflow: function()
          +    {
          +        if(this.get(&quot;setMin&quot;) || this.get(&quot;setMax&quot;))
          +        {
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    &#x2F;**
          +     * Returns a string corresponding to the first label on an 
          +     * axis.
          +     *
          +     * @method getMinimumValue
          +     * @return String
          +     *&#x2F;
          +    getMinimumValue: function()
          +    {
          +        return this.get(&quot;minimum&quot;);
          +    },
          +
          +    &#x2F;**
          +     * Returns a string corresponding to the last label on an 
          +     * axis.
          +     *
          +     * @method getMaximumValue
          +     * @return String
          +     *&#x2F;
          +    getMaximumValue: function()
          +    {
          +        return this.get(&quot;maximum&quot;);
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Hash of array identifed by a string value.
          +         *
          +         * @attribute keys
          +         * @type Object
          +         *&#x2F;
          +        keys: {
          +            value: {},
          +
          +            setter: function(val)
          +            {
          +                var keys = {},
          +                    i, 
          +                    len,
          +                    data = this.get(&quot;dataProvider&quot;);
          +                if(Y_Lang.isArray(val))
          +                {
          +                    len = val.length;
          +                    for(i = 0; i &lt; len; ++i)
          +                    {
          +                        keys[val[i]] = this._getKeyArray(val[i], data);   
          +                    }
          +                    
          +                }
          +                else if(Y_Lang.isString(val))
          +                {
          +                    keys = this.get(&quot;keys&quot;);
          +                    keys[val] = this._getKeyArray(val, data);
          +                }
          +                else
          +                {
          +                    for(i in val)
          +                    {
          +                        if(val.hasOwnProperty(i))
          +                        {
          +                            keys[i] = this._getKeyArray(i, data);
          +                        }
          +                    }
          +                }
          +	            this._updateTotalDataFlag = true;
          +                return keys;
          +            }
          +        },
          +
          +        &#x2F;**
          +         *Indicates how to round unit values.
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;niceNumber&lt;&#x2F;dt&gt;&lt;dd&gt;Units will be smoothed based on the number of ticks and data range.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;auto&lt;&#x2F;dt&gt;&lt;dd&gt;If the range is greater than 1, the units will be rounded.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;numeric value&lt;&#x2F;dt&gt;&lt;dd&gt;Units will be equal to the numeric value.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;null&lt;&#x2F;dt&gt;&lt;dd&gt;No rounding will occur.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute roundingMethod
          +         * @type String
          +         * @default niceNumber
          +         *&#x2F;
          +        roundingMethod: {
          +            value: &quot;niceNumber&quot;
          +        },
          +
          +        &#x2F;**
          +         *Returns the type of axis data
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;time&lt;&#x2F;dt&gt;&lt;dd&gt;Manages time data&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;stacked&lt;&#x2F;dt&gt;&lt;dd&gt;Manages stacked numeric data&lt;&#x2F;dd&gt;      
          +         *      &lt;dt&gt;numeric&lt;&#x2F;dt&gt;&lt;dd&gt;Manages numeric data&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;category&lt;&#x2F;dt&gt;&lt;dd&gt;Manages categorical data&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute type
          +         * @type String
          +         *&#x2F;
          +        type:
          +        {
          +            readOnly: true,
          +
          +            getter: function ()
          +            {
          +                return this._type;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Instance of &#x60;ChartDataProvider&#x60; that the class uses
          +         * to build its own data.
          +         *
          +         * @attribute dataProvider
          +         * @type Array
          +         *&#x2F;
          +        dataProvider:{
          +            setter: function (value)
          +            {
          +                return value;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The maximum value contained in the &#x60;data&#x60; array. Used for
          +         * &#x60;maximum&#x60; when &#x60;autoMax&#x60; is true.
          +         *
          +         * @attribute dataMaximum
          +         * @type Number
          +         *&#x2F;
          +        dataMaximum: {
          +            getter: function ()
          +            {
          +                if(!this._dataMaximum)
          +                {   
          +                    this._updateMinAndMax();
          +                }
          +                return this._dataMaximum;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The maximum value that will appear on an axis.
          +         *
          +         * @attribute maximum
          +         * @type Number
          +         *&#x2F;
          +        maximum: {
          +            lazyAdd: false,
          +
          +            getter: function ()
          +            {
          +                var max = this.get(&quot;dataMaximum&quot;),
          +                    min = this.get(&quot;minimum&quot;);
          +                &#x2F;&#x2F;If all values are zero, force a range so that the Axis and related series
          +                &#x2F;&#x2F;will still render.
          +                if(min === 0 &amp;&amp; max === 0)
          +                {
          +                    max = 10;
          +                }
          +                if(Y_Lang.isNumber(this._setMaximum))
          +                {
          +                    max = this._setMaximum;
          +                }
          +                return parseFloat(max);
          +            },
          +            setter: function (value)
          +            {
          +                this._setMaximum = parseFloat(value);
          +                return value;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The minimum value contained in the &#x60;data&#x60; array. Used for
          +         * &#x60;minimum&#x60; when &#x60;autoMin&#x60; is true.
          +         *
          +         * @attribute dataMinimum
          +         * @type Number
          +         *&#x2F;
          +        dataMinimum: {
          +            getter: function ()
          +            {
          +                if(!this._dataMinimum)
          +                {
          +                    this._updateMinAndMax();
          +                }
          +                return this._dataMinimum;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The minimum value that will appear on an axis.
          +         *
          +         * @attribute minimum
          +         * @type Number
          +         *&#x2F;
          +        minimum: {
          +            lazyAdd: false,
          +
          +            getter: function ()
          +            {
          +                var min = this.get(&quot;dataMinimum&quot;);
          +                if(Y_Lang.isNumber(this._setMinimum))
          +                {
          +                    min = this._setMinimum;
          +                }
          +                return parseFloat(min);
          +            },
          +            setter: function(val)
          +            {
          +                this._setMinimum = parseFloat(val);
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Determines whether the maximum is calculated or explicitly 
          +         * set by the user.
          +         *
          +         * @attribute setMax
          +         * @type Boolean
          +         *&#x2F;
          +        setMax: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return Y_Lang.isNumber(this._setMaximum);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Determines whether the minimum is calculated or explicitly
          +         * set by the user.
          +         *
          +         * @attribute setMin
          +         * @type Boolean
          +         *&#x2F;
          +        setMin: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return Y_Lang.isNumber(this._setMinimum);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Array of axis data
          +         *
          +         * @attribute data
          +         * @type Array
          +         *&#x2F;
          +        data: {
          +            getter: function ()
          +            {
          +                if(!this._data || this._updateTotalDataFlag)
          +                {
          +                    this._updateTotalData();
          +                }
          +                return this._data;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Array containing all the keys in the axis.
          +        
          +         * @attribute keyCollection
          +         * @type Array
          +         *&#x2F;
          +        keyCollection: {
          +            getter: function()
          +            {
          +                var keys = this.get(&quot;keys&quot;),
          +                    i, 
          +                    col = [];
          +                for(i in keys)
          +                {
          +                    if(keys.hasOwnProperty(i))
          +                    {
          +                        col.push(i);
          +                    }
          +                }
          +                return col;
          +            },
          +            readOnly: true
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BarSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BarSeries.js.html
          new file mode 100644
          index 000000000..441b7b4c1
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BarSeries.js.html
          @@ -0,0 +1,434 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;BarSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;BarSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The BarSeries class renders bars positioned vertically along a category or time axis. The bars&#x27;
          + * lengths are proportional to the values they represent along a horizontal axis.
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class BarSeries
          + * @extends MarkerSeries
          + * @uses Histogram
          + * @constructor
          + *&#x2F;
          +Y.BarSeries = Y.Base.create(&quot;barSeries&quot;, Y.MarkerSeries, [Y.Histogram], {
          +    &#x2F;**
          +     * Helper method for calculating the size of markers. 
          +     *
          +     * @method _getMarkerDimensions
          +     * @param {Number} xcoord The x-coordinate representing the data point for the marker.
          +     * @param {Number} ycoord The y-coordinate representing the data point for the marker.
          +     * @param {Number} calculatedSize The calculated size for the marker. For a &#x60;BarSeries&#x60; is it the width. For a &#x60;ColumnSeries&#x60; it is the height.
          +     * @param {Number} offset Distance of position offset dictated by other marker series in the same graph.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getMarkerDimensions: function(xcoord, ycoord, calculatedSize, offset)
          +    {
          +        var config = {
          +            top: ycoord + offset
          +        };
          +        if(xcoord &gt;= this._leftOrigin)
          +        {
          +            config.left = this._leftOrigin;
          +            config.calculatedSize = xcoord - config.left;
          +        }
          +        else
          +        {
          +            config.left = xcoord;
          +            config.calculatedSize = this._leftOrigin - xcoord;
          +        }
          +        return config;
          +    },
          +    
          +    &#x2F;**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers &amp;&amp; this._markers[i])
          +        {
          +            var styles = Y.clone(this.get(&quot;styles&quot;).marker),
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get(&quot;xcoords&quot;),
          +                ycoords = this.get(&quot;ycoords&quot;),
          +                marker = this._markers[i],
          +                markers,
          +                graph = this.get(&quot;graph&quot;),
          +                seriesCollection = graph.seriesTypes[this.get(&quot;type&quot;)],
          +                seriesLen = seriesCollection.length,
          +                seriesStyles,
          +                seriesSize = 0,
          +                offset = 0,
          +                renderer,
          +                n = 0,
          +                ys = [],
          +                order = this.get(&quot;order&quot;),
          +                config;
          +            markerStyles = state == &quot;off&quot; || !styles[state] ? styles : styles[state]; 
          +            markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], styles.height, offset);
          +            markerStyles.width = config.calculatedSize;
          +            markerStyles.height = Math.min(this._maxSize, markerStyles.height);
          +            marker.set(markerStyles);
          +            for(; n &lt; seriesLen; ++n)
          +            {
          +                ys[n] = ycoords[i] + seriesSize;
          +                seriesStyles = seriesCollection[n].get(&quot;styles&quot;).marker;
          +                seriesSize += Math.min(this._maxSize, seriesStyles.height); 
          +                if(order &gt; n)
          +                {
          +                    offset = seriesSize;
          +                }
          +                offset -= seriesSize&#x2F;2;
          +            }
          +            for(n = 0; n &lt; seriesLen; ++n)
          +            {
          +                markers = seriesCollection[n].get(&quot;markers&quot;);
          +                if(markers)
          +                {
          +                    renderer = markers[i];
          +                    if(renderer &amp;&amp; renderer !== undefined)
          +                    {
          +                        renderer.set(&quot;y&quot;, (ys[n] - seriesSize&#x2F;2));
          +                    }
          +                }
          +            }
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default bar
          +         *&#x2F;
          +        type: {
          +            value: &quot;bar&quot;
          +        },
          +
          +        &#x2F;**
          +         * Indicates the direction of the category axis that the bars are plotted against.
          +         *
          +         * @attribute direction
          +         * @type String
          +         *&#x2F;
          +        direction: {
          +            value: &quot;vertical&quot;
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;MarkerSeries&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;height&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 12.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BottomAxisLayout.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BottomAxisLayout.js.html
          new file mode 100644
          index 000000000..1572635e6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_BottomAxisLayout.js.html
          @@ -0,0 +1,625 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;BottomAxisLayout.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;BottomAxisLayout.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Contains algorithms for rendering a bottom axis.
          + *
          + * @module charts
          + * @class BottomAxisLayout
          + * @Constructor
          + *&#x2F;
          +BottomAxisLayout = function(){};
          +
          +BottomAxisLayout.prototype = {
          +    &#x2F;**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     *&#x2F;
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 4,
          +            left: 0,
          +            right: 0,
          +            bottom: 0
          +        };
          +    },
          +
          +    &#x2F;**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffsets
          +     * @protected
          +     *&#x2F;
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get(&quot;styles&quot;).majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set(&quot;leftTickOffset&quot;,  0);
          +        host.set(&quot;rightTickOffset&quot;,  0);
          +
          +        switch(display)
          +        {
          +            case &quot;inside&quot; :
          +                host.set(&quot;topTickOffset&quot;, tickLength);
          +                host.set(&quot;bottomTickOffset&quot;, 0);
          +            break;
          +            case &quot;outside&quot; : 
          +                host.set(&quot;topTickOffset&quot;, 0);
          +                host.set(&quot;bottomTickOffset&quot;, tickLength);
          +            break;
          +            case &quot;cross&quot;:
          +                host.set(&quot;topTickOffset&quot;,  halfTick);
          +                host.set(&quot;bottomTickOffset&quot;,  halfTick);
          +            break;
          +            default:
          +                host.set(&quot;topTickOffset&quot;, 0);
          +                host.set(&quot;bottomTickOffset&quot;, 0);
          +            break;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @protected
          +     *&#x2F;
          +    getLineStart: function()
          +    {
          +        var style = this.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:0, y:padding.top};
          +        if(display === &quot;inside&quot;)
          +        {
          +            pt.y += tickLength;
          +        }
          +        else if(display === &quot;cross&quot;)
          +        {
          +            pt.y += tickLength&#x2F;2;
          +        }
          +        return pt; 
          +    },
          +    
          +    &#x2F;**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path &#x60;Path&#x60; element in which to draw the tick.
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @param {Object} tickStyles hash of properties used to draw the tick
          +     * @protected
          +     *&#x2F;
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:pt.x, y:padding.top},
          +            end = {x:pt.x, y:tickLength + padding.top};
          +        host.drawLine(path, start, end);
          +    },
          +
          +    &#x2F;**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} pt Object containing x and y coordinates
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x, y:point.y + this.get(&quot;bottomTickOffset&quot;)};
          +    },
          +    
          +    &#x2F;**
          +     * Updates the value for the &#x60;maxLabelSize&#x60; for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     *&#x2F;
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelHeight;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelWidth;
          +        }
          +        else
          +        {
          +            max = (sinRadians * labelWidth) + (cosRadians * labelHeight); 
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    &#x2F;**
          +     * Determines the available label height when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     *&#x2F;
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitHeight)
          +        {
          +            var host = this,
          +                h = host._explicitHeight,
          +                totalTitleSize = host._totalTitleSize,
          +                bottomTickOffset = host.get(&quot;bottomTickOffset&quot;),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  h - (bottomTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     *&#x2F;
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get(&quot;styles&quot;).title.margin,
          +            props = host._titleRotationProps,
          +            h = bounds.bottom - bounds.top,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            x = (host.get(&quot;width&quot;) * 0.5) - (labelWidth * 0.5),
          +            y = host.get(&quot;height&quot;) - labelHeight&#x2F;2 - h&#x2F;2;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin &amp;&amp; margin.bottom)
          +        {
          +            y -= margin.bottom;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +    
          +    &#x2F;**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     *&#x2F;
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get(&quot;bottomTickOffset&quot;),
          +            labelStyles = styles.label,
          +            margin = 0,
          +            props = host._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset = Math.round(pt.x),
          +            topOffset = Math.round(pt.y),
          +            labelWidth = host._labelWidths[i],
          +            labelHeight = host._labelHeights[i];
          +        if(labelStyles.margin &amp;&amp; labelStyles.margin.top)
          +        {
          +            margin = labelStyles.margin.top;
          +        }
          +        if(rot &gt; 0)
          +        {
          +            topOffset -= labelHeight&#x2F;2 * rot&#x2F;90;
          +        }
          +        else if(rot &lt; 0)
          +        {
          +            leftOffset -= labelWidth;
          +            topOffset -= labelHeight&#x2F;2 * absRot&#x2F;90;
          +        }
          +        else
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        topOffset += margin;
          +        topOffset += tickOffset;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = leftOffset;
          +        props.y = topOffset;
          +        host._rotate(label, props);
          +    },
          +    
          +    &#x2F;**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     *&#x2F;
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight,
          +            leftOffset,
          +            topOffset;
          +
          +        if(rot &gt; 0)
          +        {
          +            leftOffset = 0;
          +            topOffset = labelHeight&#x2F;2 * rot&#x2F;90;
          +        }
          +        else if(rot &lt; 0)
          +        {
          +            leftOffset = labelWidth;
          +            topOffset = labelHeight&#x2F;2 * absRot&#x2F;90;
          +        }
          +        else
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = 0;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    &#x2F;**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot &gt; 0)
          +        {
          +            transformOrigin = [0, 0.5];
          +        }
          +        else if(rot &lt; 0)
          +        {
          +            transformOrigin = [1, 0.5];
          +        }
          +        else
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    &#x2F;**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     *&#x2F;
          +    offsetNodeForTick: function(cb)
          +    {
          +        var host = this;
          +        host.get(&quot;contentBox&quot;).setStyle(&quot;top&quot;, 0 - host.get(&quot;topTickOffset&quot;));
          +    },
          +
          +    &#x2F;**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     *&#x2F;
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            styles = host.get(&quot;styles&quot;),
          +            labelStyle = styles.label,
          +            totalTitleSize = host._totalTitleSize,
          +            ttl = Math.round(host.get(&quot;bottomTickOffset&quot;) + host._maxLabelSize + labelStyle.margin.top + totalTitleSize);
          +        if(host._explicitHeight)
          +        {
          +            ttl = host._explicitHeight;
          +        }
          +        host.set(&quot;calculatedHeight&quot;, ttl);
          +    }
          +};
          +Y.BottomAxisLayout = BottomAxisLayout;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChart.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChart.js.html
          new file mode 100644
          index 000000000..85653c21b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChart.js.html
          @@ -0,0 +1,2407 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CartesianChart.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CartesianChart.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The CartesianChart class creates a chart with horizontal and vertical axes.
          + *
          + * @module charts
          + * @class CartesianChart
          + * @extends ChartBase
          + * @constructor
          + *&#x2F;
          +Y.CartesianChart = Y.Base.create(&quot;cartesianChart&quot;, Y.Widget, [Y.ChartBase], {
          +    &#x2F;**
          +     * @method renderUI
          +     * @private
          +     *&#x2F;
          +    renderUI: function()
          +    {
          +        var bb = this.get(&quot;boundingBox&quot;),
          +            cb = this.get(&quot;contentBox&quot;),
          +            tt = this.get(&quot;tooltip&quot;),
          +            overlay,
          +            overlayClass = _getClassName(&quot;overlay&quot;);
          +        &#x2F;&#x2F;move the position = absolute logic to a class file
          +        bb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        cb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        this._addAxes();
          +        this._addGridlines();
          +        this._addSeries();
          +        if(tt &amp;&amp; tt.show)
          +        {
          +            this._addTooltip();
          +        }
          +        &#x2F;&#x2F;If there is a style definition. Force them to set.
          +        this.get(&quot;styles&quot;);
          +        if(this.get(&quot;interactionType&quot;) == &quot;planar&quot;)
          +        {
          +            overlay = DOCUMENT.createElement(&quot;div&quot;);
          +            this.get(&quot;contentBox&quot;).appendChild(overlay);
          +            this._overlay = Y.one(overlay); 
          +            this._overlay.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +            this._overlay.setStyle(&quot;background&quot;, &quot;#fff&quot;);
          +            this._overlay.setStyle(&quot;opacity&quot;, 0);
          +            this._overlay.addClass(overlayClass);
          +            this._overlay.setStyle(&quot;zIndex&quot;, 4);
          +        }
          +        this._setAriaElements(bb, cb);
          +        this._redraw();
          +    },
          +
          +    &#x2F;**
          +     * When &#x60;interactionType&#x60; is set to &#x60;planar&#x60;, listens for mouse move events and fires &#x60;planarEvent:mouseover&#x60; or &#x60;planarEvent:mouseout&#x60; depending on the position of the mouse in relation to 
          +     * data points on the &#x60;Chart&#x60;.
          +     *
          +     * @method _planarEventDispatcher
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _planarEventDispatcher: function(e)
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            bb = this.get(&quot;boundingBox&quot;),
          +            cb = graph.get(&quot;contentBox&quot;),
          +            isTouch = e &amp;&amp; e.hasOwnProperty(&quot;changedTouches&quot;),
          +            pageX = isTouch ? e.changedTouches[0].pageX : e.pageX,
          +            pageY = isTouch ? e.changedTouches[0].pageY : e.pageY,
          +            posX = pageX - bb.getX(),
          +            posY = pageY - bb.getY(),
          +            offset = {
          +                x: pageX - cb.getX(),
          +                y: pageY - cb.getY()
          +            },
          +            sc = graph.get(&quot;seriesCollection&quot;),
          +            series,
          +            i = 0,
          +            index,
          +            oldIndex = this._selectedIndex,
          +            item,
          +            items = [],
          +            categoryItems = [],
          +            valueItems = [],
          +            direction = this.get(&quot;direction&quot;),
          +            hasMarkers,
          +            catAxis,
          +            valAxis,
          +            coord,
          +            &#x2F;&#x2F;data columns and area data could be created on a graph level
          +            markerPlane,
          +            len,
          +            coords;
          +        e.halt(true);
          +        if(direction == &quot;horizontal&quot;)
          +        {
          +            catAxis = &quot;x&quot;;
          +            valAxis = &quot;y&quot;;
          +        }
          +        else
          +        {
          +            valAxis = &quot;x&quot;;
          +            catAxis = &quot;y&quot;;
          +        }
          +        coord = offset[catAxis];
          +        if(sc)
          +        {
          +            len = sc.length;
          +            while(i &lt; len &amp;&amp; !markerPlane)
          +            {
          +                if(sc[i])
          +                {
          +                    markerPlane = sc[i].get(catAxis + &quot;MarkerPlane&quot;);
          +                }
          +                i++;
          +            }
          +        }
          +        if(markerPlane)
          +        {
          +            len = markerPlane.length;
          +            for(i = 0; i &lt; len; ++i)
          +            {
          +                if(coord &lt;= markerPlane[i].end &amp;&amp; coord &gt;= markerPlane[i].start)
          +                {
          +                    index = i;
          +                    break;
          +                }
          +            }
          +            len = sc.length;
          +            for(i = 0; i &lt; len; ++i)
          +            {
          +                series = sc[i];
          +                coords = series.get(valAxis + &quot;coords&quot;);
          +                hasMarkers = series.get(&quot;markers&quot;);
          +                if(hasMarkers &amp;&amp; !isNaN(oldIndex) &amp;&amp; oldIndex &gt; -1)
          +                {
          +                    series.updateMarkerState(&quot;mouseout&quot;, oldIndex);
          +                }
          +                if(coords &amp;&amp; coords[index] &gt; -1)
          +                {
          +                    if(hasMarkers &amp;&amp; !isNaN(index) &amp;&amp; index &gt; -1)
          +                    {
          +                        series.updateMarkerState(&quot;mouseover&quot;, index);
          +                    }
          +                    item = this.getSeriesItems(series, index);
          +                    categoryItems.push(item.category);
          +                    valueItems.push(item.value);
          +                    items.push(series);
          +                }
          +                    
          +            }
          +            this._selectedIndex = index;
          +
          +            &#x2F;**
          +             * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;planar&#x60; and a series&#x27; marker plane has received a mouseover event.
          +             * 
          +             *
          +             * @event planarEvent:mouseover
          +             * @preventable false
          +             * @param {EventFacade} e Event facade with the following additional
          +             *   properties:
          +             *  &lt;dl&gt;
          +             *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;An array of hashes, each containing information about the category &#x60;Axis&#x60; of each marker whose plane has been intersected.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;An array of hashes, each containing information about the value &#x60;Axis&#x60; of each marker whose plane has been intersected.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;pageX&lt;&#x2F;dt&gt;&lt;dd&gt;The x location of the event on the page (including scroll)&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;pageY&lt;&#x2F;dt&gt;&lt;dd&gt;The y location of the event on the page (including scroll)&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;items&lt;&#x2F;dt&gt;&lt;dd&gt;An array including all the series which contain a marker whose plane has been intersected.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the markers in their respective series.&lt;&#x2F;dd&gt;
          +             *      &lt;dt&gt;originEvent&lt;&#x2F;dt&gt;&lt;dd&gt;Underlying dom event.&lt;&#x2F;dd&gt;
          +             *  &lt;&#x2F;dl&gt;
          +             *&#x2F;
          +            &#x2F;**
          +             * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;planar&#x60; and a series&#x27; marker plane has received a mouseout event.
          +             *
          +             * @event planarEvent:mouseout
          +             * @preventable false
          +             * @param {EventFacade} e 
          +             *&#x2F;
          +            if(index &gt; -1)
          +            {
          +                this.fire(&quot;planarEvent:mouseover&quot;, {
          +                    categoryItem:categoryItems, 
          +                    valueItem:valueItems, 
          +                    x:posX, 
          +                    y:posY, 
          +                    pageX:pageX,
          +                    pageY:pageY,
          +                    items:items, 
          +                    index:index,
          +                    originEvent:e
          +                });
          +            }
          +            else
          +            {
          +                this.fire(&quot;planarEvent:mouseout&quot;);
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Indicates the default series type for the chart.
          +     *
          +     * @property _type
          +     * @type {String}
          +     * @private
          +     *&#x2F;
          +    _type: &quot;combo&quot;,
          +
          +    &#x2F;**
          +     * Queue of axes instances that will be updated. This method is used internally to determine when all axes have been updated.
          +     *
          +     * @property _itemRenderQueue
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _itemRenderQueue: null,
          +
          +    &#x2F;**
          +     * Adds an &#x60;Axis&#x60; instance to the &#x60;_itemRenderQueue&#x60;.
          +     *
          +     * @method _addToAxesRenderQueue
          +     * @param {Axis} axis An &#x60;Axis&#x60; instance.
          +     * @private 
          +     *&#x2F;
          +    _addToAxesRenderQueue: function(axis)
          +    {
          +        if(!this._itemRenderQueue)
          +        {
          +            this._itemRenderQueue = [];
          +        }
          +        if(Y.Array.indexOf(this._itemRenderQueue, axis) &lt; 0)
          +        {
          +            this._itemRenderQueue.push(axis);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Adds axis instance to the appropriate array based on position
          +     *
          +     * @method _addToAxesCollection
          +     * @param {String} position The position of the axis
          +     * @param {Axis} axis The &#x60;Axis&#x60; instance
          +     *&#x2F;
          +    _addToAxesCollection: function(position, axis)
          +    {
          +        var axesCollection = this.get(position + &quot;AxesCollection&quot;);
          +        if(!axesCollection)
          +        {
          +            axesCollection = [];
          +            this.set(position + &quot;AxesCollection&quot;, axesCollection);
          +        }
          +        axesCollection.push(axis);
          +    },
          +
          +    &#x2F;**
          +     * Returns the default value for the &#x60;seriesCollection&#x60; attribute.
          +     *
          +     * @method _getDefaultSeriesCollection
          +     * @param {Array} val Array containing either &#x60;CartesianSeries&#x60; instances or objects containing data to construct series instances.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getDefaultSeriesCollection: function()
          +    {
          +        return this._parseSeriesCollection();
          +    },
          +
          +    &#x2F;**
          +     * Parses and returns a series collection from an object and default properties.
          +     *
          +     * @method _parseSeriesCollection
          +     * @param {Object} val Object contain properties for series being set.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _parseSeriesCollection: function(val)
          +    {
          +        var dir = this.get(&quot;direction&quot;), 
          +            sc = val || [], 
          +            catAxis,
          +            valAxis,
          +            tempKeys = [],
          +            series,
          +            seriesKeys = this.get(&quot;seriesKeys&quot;).concat(),
          +            i,
          +            index,
          +            l,
          +            type = this.get(&quot;type&quot;),
          +            key,
          +            catKey,
          +            seriesKey,
          +            graph,
          +            categoryKey = this.get(&quot;categoryKey&quot;),
          +            showMarkers = this.get(&quot;showMarkers&quot;),
          +            showAreaFill = this.get(&quot;showAreaFill&quot;),
          +            showLines = this.get(&quot;showLines&quot;);
          +        if(dir == &quot;vertical&quot;)
          +        {
          +            catAxis = &quot;yAxis&quot;;
          +            catKey = &quot;yKey&quot;;
          +            valAxis = &quot;xAxis&quot;;
          +            seriesKey = &quot;xKey&quot;;
          +        }
          +        else
          +        {
          +            catAxis = &quot;xAxis&quot;;
          +            catKey = &quot;xKey&quot;;
          +            valAxis = &quot;yAxis&quot;;
          +            seriesKey = &quot;yKey&quot;;
          +        }
          +        l = sc.length;
          +        for(i = 0; i &lt; l; ++i)
          +        {
          +            key = this._getBaseAttribute(sc[i], seriesKey);
          +            if(key)
          +            {
          +                index = Y.Array.indexOf(seriesKeys, key);
          +                if(index &gt; -1)
          +                {
          +                    seriesKeys.splice(index, 1);
          +                }
          +               tempKeys.push(key);
          +            }
          +        }
          +        if(seriesKeys.length &gt; 0)
          +        {
          +            tempKeys = tempKeys.concat(seriesKeys);
          +        }
          +        l = tempKeys.length;
          +        for(i = 0; i &lt; l; ++i)
          +        {
          +            series = sc[i] || {type:type};
          +            if(series instanceof Y.CartesianSeries)
          +            {
          +                this._parseSeriesAxes(series);
          +                continue;
          +            }
          +            
          +            series[catKey] = series[catKey] || categoryKey;
          +            series[seriesKey] = series[seriesKey] || seriesKeys.shift();
          +            series[catAxis] = this._getCategoryAxis();
          +            series[valAxis] = this._getSeriesAxis(series[seriesKey]);
          +            
          +            series.type = series.type || type;
          +            
          +            if((series.type == &quot;combo&quot; || series.type == &quot;stackedcombo&quot; || series.type == &quot;combospline&quot; || series.type == &quot;stackedcombospline&quot;))
          +            {
          +                if(showAreaFill !== null)
          +                {
          +                    series.showAreaFill = (series.showAreaFill !== null &amp;&amp; series.showAreaFill !== undefined) ? series.showAreaFill : showAreaFill;
          +                }
          +                if(showMarkers !== null)
          +                {
          +                    series.showMarkers = (series.showMarkers !== null &amp;&amp; series.showMarkers !== undefined) ? series.showMarkers : showMarkers;
          +                }
          +                if(showLines !== null)
          +                {
          +                    series.showLines = (series.showLines !== null &amp;&amp; series.showLines !== undefined) ? series.showLines : showLines;
          +                }
          +            }
          +            sc[i] = series;
          +        }
          +        if(val)
          +        {
          +            graph = this.get(&quot;graph&quot;);
          +            graph.set(&quot;seriesCollection&quot;, sc);
          +            sc = graph.get(&quot;seriesCollection&quot;);
          +        }
          +        return sc;
          +    },
          +
          +    &#x2F;**
          +     * Parse and sets the axes for a series instance.
          +     *
          +     * @method _parseSeriesAxes
          +     * @param {CartesianSeries} series A &#x60;CartesianSeries&#x60; instance.
          +     * @private
          +     *&#x2F;
          +    _parseSeriesAxes: function(series)
          +    {
          +        var axes = this.get(&quot;axes&quot;),
          +            xAxis = series.get(&quot;xAxis&quot;),
          +            yAxis = series.get(&quot;yAxis&quot;),
          +            YAxis = Y.Axis,
          +            axis;
          +        if(xAxis &amp;&amp; !(xAxis instanceof YAxis) &amp;&amp; Y_Lang.isString(xAxis) &amp;&amp; axes.hasOwnProperty(xAxis))
          +        {
          +            axis = axes[xAxis];
          +            if(axis instanceof YAxis)
          +            {
          +                series.set(&quot;xAxis&quot;, axis);
          +            }
          +        }
          +        if(yAxis &amp;&amp; !(yAxis instanceof YAxis) &amp;&amp; Y_Lang.isString(yAxis) &amp;&amp; axes.hasOwnProperty(yAxis))
          +        {   
          +            axis = axes[yAxis];
          +            if(axis instanceof YAxis)
          +            {
          +                series.set(&quot;yAxis&quot;, axis);
          +            }
          +        }
          +
          +    },
          +
          +    &#x2F;**
          +     * Returns the category axis instance for the chart.
          +     *
          +     * @method _getCategoryAxis
          +     * @return Axis
          +     * @private
          +     *&#x2F;
          +    _getCategoryAxis: function()
          +    {
          +        var axis,
          +            axes = this.get(&quot;axes&quot;),
          +            categoryAxisName = this.get(&quot;categoryAxisName&quot;) || this.get(&quot;categoryKey&quot;);
          +        axis = axes[categoryAxisName];
          +        return axis;
          +    },
          +
          +    &#x2F;**
          +     * Returns the value axis for a series.
          +     *
          +     * @method _getSeriesAxis
          +     * @param {String} key The key value used to determine the axis instance.
          +     * @return Axis
          +     * @private
          +     *&#x2F;
          +    _getSeriesAxis:function(key, axisName)
          +    {
          +        var axes = this.get(&quot;axes&quot;),
          +            i,
          +            keys,
          +            axis;
          +        if(axes)
          +        {
          +            if(axisName &amp;&amp; axes.hasOwnProperty(axisName))
          +            {
          +                axis = axes[axisName];
          +            }
          +            else
          +            {
          +                for(i in axes)
          +                {
          +                    if(axes.hasOwnProperty(i))
          +                    {
          +                        keys = axes[i].get(&quot;keys&quot;);
          +                        if(keys &amp;&amp; keys.hasOwnProperty(key))
          +                        {
          +                            axis = axes[i];
          +                            break;
          +                        }
          +                    }
          +                }
          +            }
          +        }
          +        return axis;
          +    },
          +
          +    &#x2F;**
          +     * Gets an attribute from an object, using a getter for Base objects and a property for object
          +     * literals. Used for determining attributes from series&#x2F;axis references which can be an actual class instance
          +     * or a hash of properties that will be used to create a class instance.
          +     *
          +     * @method _getBaseAttribute
          +     * @param {Object} item Object or instance in which the attribute resides.
          +     * @param {String} key Attribute whose value will be returned.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getBaseAttribute: function(item, key)
          +    {
          +        if(item instanceof Y.Base)
          +        {
          +            return item.get(key);
          +        }
          +        if(item.hasOwnProperty(key))
          +        {
          +            return item[key];
          +        }
          +        return null;
          +    },
          +
          +    &#x2F;**
          +     * Sets an attribute on an object, using a setter of Base objects and a property for object
          +     * literals. Used for setting attributes on a Base class, either directly or to be stored in an object literal
          +     * for use at instantiation.
          +     *
          +     * @method _setBaseAttribute
          +     * @param {Object} item Object or instance in which the attribute resides.
          +     * @param {String} key Attribute whose value will be assigned.
          +     * @param {Object} value Value to be assigned to the attribute.
          +     * @private
          +     *&#x2F;
          +    _setBaseAttribute: function(item, key, value)
          +    {
          +        if(item instanceof Y.Base)
          +        {
          +            item.set(key, value);
          +        }
          +        else
          +        {
          +            item[key] = value;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Creates &#x60;Axis&#x60; instances.
          +     *
          +     * @method _setAxes
          +     * @param {Object} val Object containing &#x60;Axis&#x60; instances or objects in which to construct &#x60;Axis&#x60; instances.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _setAxes: function(val)
          +    {
          +        var hash = this._parseAxes(val),
          +            axes = {},
          +            axesAttrs = {
          +                edgeOffset: &quot;edgeOffset&quot;, 
          +                position: &quot;position&quot;,
          +                overlapGraph:&quot;overlapGraph&quot;,
          +                labelFunction:&quot;labelFunction&quot;,
          +                labelFunctionScope:&quot;labelFunctionScope&quot;,
          +                labelFormat:&quot;labelFormat&quot;,
          +                maximum:&quot;maximum&quot;,
          +                minimum:&quot;minimum&quot;, 
          +                roundingMethod:&quot;roundingMethod&quot;,
          +                alwaysShowZero:&quot;alwaysShowZero&quot;,
          +                title:&quot;title&quot;,
          +                width:&quot;width&quot;,
          +                height:&quot;height&quot;
          +            },
          +            dp = this.get(&quot;dataProvider&quot;),
          +            ai,
          +            i, 
          +            pos, 
          +            axis,
          +            axisPosition,
          +            dh, 
          +            axisClass, 
          +            config,
          +            axesCollection;
          +        for(i in hash)
          +        {
          +            if(hash.hasOwnProperty(i))
          +            {
          +                dh = hash[i];
          +                if(dh instanceof Y.Axis)
          +                {
          +                    axis = dh;
          +                }
          +                else
          +                {
          +                    axis = null;
          +                    config = {};
          +                    config.dataProvider = dh.dataProvider || dp;
          +                    config.keys = dh.keys;
          +                    
          +                    if(dh.hasOwnProperty(&quot;roundingUnit&quot;))
          +                    {
          +                        config.roundingUnit = dh.roundingUnit;
          +                    }
          +                    pos = dh.position;
          +                    if(dh.styles)
          +                    {
          +                        config.styles = dh.styles;
          +                    }
          +                    config.position = dh.position;
          +                    for(ai in axesAttrs)
          +                    {
          +                        if(axesAttrs.hasOwnProperty(ai) &amp;&amp; dh.hasOwnProperty(ai))
          +                        {
          +                            config[ai] = dh[ai];
          +                        }
          +                    }
          +                   
          +                    &#x2F;&#x2F;only check for existing axis if we constructed the default axes already
          +                    if(val)
          +                    {
          +                        axis = this.getAxisByKey(i);
          +                    }
          +                    
          +                    if(axis &amp;&amp; axis instanceof Y.Axis)
          +                    {
          +                        axisPosition = axis.get(&quot;position&quot;);
          +                        if(pos != axisPosition)
          +                        {
          +                            if(axisPosition != &quot;none&quot;)
          +                            {
          +                                axesCollection = this.get(axisPosition + &quot;AxesCollection&quot;);
          +                                axesCollection.splice(Y.Array.indexOf(axesCollection, axis), 1);
          +                            }
          +                            if(pos != &quot;none&quot;)
          +                            {
          +                                this._addToAxesCollection(pos, axis);
          +                            }
          +                        }
          +                        axis.setAttrs(config);
          +                    }
          +                    else
          +                    {
          +                        axisClass = this._getAxisClass(dh.type);
          +                        axis = new axisClass(config);
          +                        axis.after(&quot;axisRendered&quot;, Y.bind(this._itemRendered, this));
          +                    }
          +                }
          +
          +                if(axis)
          +                {
          +                    axesCollection = this.get(pos + &quot;AxesCollection&quot;);
          +                    if(axesCollection &amp;&amp; Y.Array.indexOf(axesCollection, axis) &gt; 0)
          +                    {
          +                        axis.set(&quot;overlapGraph&quot;, false);
          +                    }
          +                    axes[i] = axis;
          +                }
          +            }
          +        }
          +        return axes;
          +    },
          +    
          +    &#x2F;**
          +     * Adds axes to the chart.
          +     *
          +     * @method _addAxes
          +     * @private
          +     *&#x2F;
          +    _addAxes: function()
          +    {
          +        var axes = this.get(&quot;axes&quot;),
          +            i, 
          +            axis, 
          +            pos,
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            node = Y.Node.one(this._parentNode);
          +        if(!this._axesCollection)
          +        {   
          +            this._axesCollection = [];
          +        }
          +        for(i in axes)
          +        {
          +            if(axes.hasOwnProperty(i))
          +            {
          +                axis = axes[i];
          +                if(axis instanceof Y.Axis)
          +                {
          +                    if(!w)
          +                    {
          +                        this.set(&quot;width&quot;, node.get(&quot;offsetWidth&quot;));
          +                        w = this.get(&quot;width&quot;);
          +                    }
          +                    if(!h)
          +                    {
          +                        this.set(&quot;height&quot;, node.get(&quot;offsetHeight&quot;));
          +                        h = this.get(&quot;height&quot;);
          +                    }
          +                    this._addToAxesRenderQueue(axis);
          +                    pos = axis.get(&quot;position&quot;);
          +                    if(!this.get(pos + &quot;AxesCollection&quot;))
          +                    {
          +                        this.set(pos + &quot;AxesCollection&quot;, [axis]);
          +                    }
          +                    else
          +                    {
          +                        this.get(pos + &quot;AxesCollection&quot;).push(axis);
          +                    }
          +                    this._axesCollection.push(axis);
          +                    if(axis.get(&quot;keys&quot;).hasOwnProperty(this.get(&quot;categoryKey&quot;)))
          +                    {
          +                        this.set(&quot;categoryAxis&quot;, axis);
          +                    }
          +                    axis.render(this.get(&quot;contentBox&quot;));
          +                }
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Renders the Graph.
          +     *
          +     * @method _addSeries
          +     * @private
          +     *&#x2F;
          +    _addSeries: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            sc = this.get(&quot;seriesCollection&quot;);
          +        graph.render(this.get(&quot;contentBox&quot;));
          +
          +    },
          +
          +    &#x2F;**
          +     * Adds gridlines to the chart.
          +     *
          +     * @method _addGridlines
          +     * @private
          +     *&#x2F;
          +    _addGridlines: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            hgl = this.get(&quot;horizontalGridlines&quot;),
          +            vgl = this.get(&quot;verticalGridlines&quot;),
          +            direction = this.get(&quot;direction&quot;),
          +            leftAxesCollection = this.get(&quot;leftAxesCollection&quot;),
          +            rightAxesCollection = this.get(&quot;rightAxesCollection&quot;),
          +            bottomAxesCollection = this.get(&quot;bottomAxesCollection&quot;),
          +            topAxesCollection = this.get(&quot;topAxesCollection&quot;),
          +            seriesAxesCollection,
          +            catAxis = this.get(&quot;categoryAxis&quot;),
          +            hAxis,
          +            vAxis;
          +        if(this._axesCollection)
          +        {
          +            seriesAxesCollection = this._axesCollection.concat();
          +            seriesAxesCollection.splice(Y.Array.indexOf(seriesAxesCollection, catAxis), 1);
          +        }
          +        if(hgl)
          +        {
          +            if(leftAxesCollection &amp;&amp; leftAxesCollection[0])
          +            {
          +                hAxis = leftAxesCollection[0];
          +            }
          +            else if(rightAxesCollection &amp;&amp; rightAxesCollection[0])
          +            {
          +                hAxis = rightAxesCollection[0];
          +            }
          +            else 
          +            {
          +                hAxis = direction == &quot;horizontal&quot; ? catAxis : seriesAxesCollection[0];
          +            }
          +            if(!this._getBaseAttribute(hgl, &quot;axis&quot;) &amp;&amp; hAxis)
          +            {
          +                this._setBaseAttribute(hgl, &quot;axis&quot;, hAxis);
          +            }
          +            if(this._getBaseAttribute(hgl, &quot;axis&quot;))
          +            {
          +                graph.set(&quot;horizontalGridlines&quot;, hgl);
          +            }
          +        }
          +        if(vgl)
          +        {
          +            if(bottomAxesCollection &amp;&amp; bottomAxesCollection[0])
          +            {
          +                vAxis = bottomAxesCollection[0];
          +            }
          +            else if (topAxesCollection &amp;&amp; topAxesCollection[0])
          +            {
          +                vAxis = topAxesCollection[0];
          +            }
          +            else 
          +            {
          +                vAxis = direction == &quot;vertical&quot; ? catAxis : seriesAxesCollection[0];
          +            }
          +            if(!this._getBaseAttribute(vgl, &quot;axis&quot;) &amp;&amp; vAxis)
          +            {
          +                this._setBaseAttribute(vgl, &quot;axis&quot;, vAxis);
          +            }
          +            if(this._getBaseAttribute(vgl, &quot;axis&quot;))
          +            {
          +                graph.set(&quot;verticalGridlines&quot;, vgl);
          +            }
          +        }
          +    },
          +   
          +    &#x2F;**
          +     * Returns all the keys contained in a  &#x60;dataProvider&#x60;.
          +     *
          +     * @method _getAllKeys
          +     * @param {Array} dp Collection of objects to be parsed.
          +     * @return Object
          +     *&#x2F;
          +    _getAllKeys: function(dp)
          +    {
          +        var i = 0,
          +            len = dp.length,
          +            item,
          +            key,
          +            keys = {};
          +        for(; i &lt; len; ++i)
          +        {
          +            item = dp[i];
          +            for(key in item)
          +            {
          +                if(item.hasOwnProperty(key))
          +                {
          +                    keys[key] = true;
          +                }
          +            }
          +        }
          +        return keys;
          +    },
          +    
          +    &#x2F;**
          +     * Default Function for the axes attribute.
          +     *
          +     * @method _getDefaultAxes
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getDefaultAxes: function()
          +    {
          +        return this._parseAxes();
          +    },
          +
          +    &#x2F;**
          +     * Generates and returns a key-indexed object containing &#x60;Axis&#x60; instances or objects used to create &#x60;Axis&#x60; instances.
          +     *
          +     * @method _parseAxes
          +     * @param {Object} axes Object containing &#x60;Axis&#x60; instances or &#x60;Axis&#x60; attributes.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _parseAxes: function(axes)
          +    {
          +        var catKey = this.get(&quot;categoryKey&quot;),
          +            axis,
          +            attr,
          +            keys,
          +            newAxes = {},
          +            claimedKeys = [],
          +            categoryAxisName = this.get(&quot;categoryAxisName&quot;) || this.get(&quot;categoryKey&quot;),
          +            valueAxisName = this.get(&quot;valueAxisName&quot;),
          +            seriesKeys = this.get(&quot;seriesKeys&quot;) || [], 
          +            i, 
          +            l,
          +            ii,
          +            ll,
          +            cIndex,
          +            dv,
          +            dp = this.get(&quot;dataProvider&quot;),
          +            direction = this.get(&quot;direction&quot;),
          +            seriesPosition,
          +            categoryPosition,
          +            valueAxes = [],
          +            seriesAxis = this.get(&quot;stacked&quot;) ? &quot;stacked&quot; : &quot;numeric&quot;;
          +        if(direction == &quot;vertical&quot;)
          +        {
          +            seriesPosition = &quot;bottom&quot;;
          +            categoryPosition = &quot;left&quot;;
          +        }
          +        else
          +        {
          +            seriesPosition = &quot;left&quot;;
          +            categoryPosition = &quot;bottom&quot;;
          +        }
          +        if(axes)
          +        {
          +            for(i in axes)
          +            {
          +                if(axes.hasOwnProperty(i))
          +                {
          +                    axis = axes[i];
          +                    keys = this._getBaseAttribute(axis, &quot;keys&quot;);
          +                    attr = this._getBaseAttribute(axis, &quot;type&quot;);
          +                    if(attr == &quot;time&quot; || attr == &quot;category&quot;)
          +                    {
          +                        categoryAxisName = i;
          +                        this.set(&quot;categoryAxisName&quot;, i);
          +                        if(Y_Lang.isArray(keys) &amp;&amp; keys.length &gt; 0)
          +                        {
          +                            catKey = keys[0];
          +                            this.set(&quot;categoryKey&quot;, catKey);
          +                        }
          +                        newAxes[i] = axis;
          +                    }
          +                    else if(i == categoryAxisName)
          +                    {
          +                        newAxes[i] = axis;
          +                    }
          +                    else 
          +                    {
          +                        newAxes[i] = axis;
          +                        if(i != valueAxisName &amp;&amp; keys &amp;&amp; Y_Lang.isArray(keys))
          +                        {
          +                            ll = keys.length;
          +                            for(ii = 0; ii &lt; ll; ++ii)
          +                            {
          +                                claimedKeys.push(keys[ii]);
          +                            }
          +                            valueAxes.push(newAxes[i]);
          +                        }
          +                        if(!(this._getBaseAttribute(newAxes[i], &quot;type&quot;)))
          +                        {
          +                            this._setBaseAttribute(newAxes[i], &quot;type&quot;, seriesAxis);
          +                        }
          +                        if(!(this._getBaseAttribute(newAxes[i], &quot;position&quot;)))
          +                        {
          +                            this._setBaseAttribute(newAxes[i], &quot;position&quot;, this._getDefaultAxisPosition(newAxes[i], valueAxes, seriesPosition));
          +                        }
          +                    }
          +                }
          +            }
          +        }
          +        if(seriesKeys.length &lt; 1)
          +        {
          +            dv = this._getAllKeys(dp);
          +            for(i in dv)
          +            {
          +                if(dv.hasOwnProperty(i) &amp;&amp; i != catKey &amp;&amp; Y.Array.indexOf(claimedKeys, i) == -1)
          +                {
          +                    seriesKeys.push(i);
          +                }
          +            }
          +        }
          +        cIndex = Y.Array.indexOf(seriesKeys, catKey);
          +        if(cIndex &gt; -1)
          +        {
          +            seriesKeys.splice(cIndex, 1);
          +        }
          +        l = claimedKeys.length;
          +        for(i = 0; i &lt; l; ++i)
          +        {
          +            cIndex = Y.Array.indexOf(seriesKeys, claimedKeys[i]); 
          +            if(cIndex &gt; -1)
          +            {
          +                seriesKeys.splice(cIndex, 1);
          +            }
          +        }
          +        if(!newAxes.hasOwnProperty(categoryAxisName))
          +        {
          +            newAxes[categoryAxisName] = {};
          +        }
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], &quot;keys&quot;)))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], &quot;keys&quot;, [catKey]);
          +        }
          +        
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], &quot;position&quot;)))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], &quot;position&quot;, categoryPosition);
          +        }
          +         
          +        if(!(this._getBaseAttribute(newAxes[categoryAxisName], &quot;type&quot;)))
          +        {
          +            this._setBaseAttribute(newAxes[categoryAxisName], &quot;type&quot;, this.get(&quot;categoryType&quot;));
          +        }
          +        if(!newAxes.hasOwnProperty(valueAxisName) &amp;&amp; seriesKeys &amp;&amp; seriesKeys.length &gt; 0)
          +        {
          +            newAxes[valueAxisName] = {keys:seriesKeys};
          +            valueAxes.push(newAxes[valueAxisName]);
          +        }
          +        if(claimedKeys.length &gt; 0)
          +        {
          +            if(seriesKeys.length &gt; 0)
          +            {
          +                seriesKeys = claimedKeys.concat(seriesKeys);
          +            }
          +            else
          +            {
          +                seriesKeys = claimedKeys;
          +            }
          +        }
          +        if(newAxes.hasOwnProperty(valueAxisName))
          +        {
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], &quot;position&quot;)))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], &quot;position&quot;, this._getDefaultAxisPosition(newAxes[valueAxisName], valueAxes, seriesPosition));
          +            }
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], &quot;type&quot;)))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], &quot;type&quot;, seriesAxis);
          +            }
          +            if(!(this._getBaseAttribute(newAxes[valueAxisName], &quot;keys&quot;)))
          +            {
          +                this._setBaseAttribute(newAxes[valueAxisName], &quot;keys&quot;, seriesKeys);
          +            }
          +        } 
          +        this.set(&quot;seriesKeys&quot;, seriesKeys);
          +        return newAxes;
          +    },
          +
          +    &#x2F;**
          +     * Determines the position of an axis when one is not specified.
          +     *
          +     * @method _getDefaultAxisPosition
          +     * @param {Axis} axis &#x60;Axis&#x60; instance.
          +     * @param {Array} valueAxes Array of &#x60;Axis&#x60; instances.
          +     * @param {String} position Default position depending on the direction of the chart and type of axis.
          +     * @return String
          +     * @private
          +     *&#x2F;
          +    _getDefaultAxisPosition: function(axis, valueAxes, position)
          +    {
          +        var direction = this.get(&quot;direction&quot;),
          +            i = Y.Array.indexOf(valueAxes, axis);
          +        
          +        if(valueAxes[i - 1] &amp;&amp; valueAxes[i - 1].position)
          +        {
          +            if(direction == &quot;horizontal&quot;)
          +            {
          +                if(valueAxes[i - 1].position == &quot;left&quot;)
          +                {
          +                    position = &quot;right&quot;;
          +                }
          +                else if(valueAxes[i - 1].position == &quot;right&quot;)
          +                {
          +                    position = &quot;left&quot;;
          +                }
          +            }
          +            else
          +            {
          +                if (valueAxes[i -1].position == &quot;bottom&quot;)
          +                {
          +                    position = &quot;top&quot;;
          +                }       
          +                else
          +                {
          +                    position = &quot;bottom&quot;;
          +                }
          +            }
          +        }
          +        return position;
          +    },
          +
          +   
          +    &#x2F;**
          +     * Returns an object literal containing a categoryItem and a valueItem for a given series index. Below is the structure of each:
          +     * 
          +     * @method getSeriesItems
          +     * @param {CartesianSeries} series Reference to a series.
          +     * @param {Number} index Index of the specified item within a series.
          +     * @return Object An object literal containing the following:
          +     *
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Object containing the following data related to the category axis of the series.
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the category axis of the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;Category key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;Value on the axis corresponding to the series index.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *      &lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Object containing the following data related to the category axis of the series.
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the value axis of the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;Value key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;Value on the axis corresponding to the series index.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *      &lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *&#x2F;
          +    getSeriesItems: function(series, index)
          +    {
          +        var xAxis = series.get(&quot;xAxis&quot;),
          +            yAxis = series.get(&quot;yAxis&quot;),
          +            xKey = series.get(&quot;xKey&quot;),
          +            yKey = series.get(&quot;yKey&quot;),
          +            categoryItem,
          +            valueItem;
          +        if(this.get(&quot;direction&quot;) == &quot;vertical&quot;)
          +        {
          +            categoryItem = {
          +                axis:yAxis,
          +                key:yKey,
          +                value:yAxis.getKeyValueAt(yKey, index)
          +            };
          +            valueItem = {
          +                axis:xAxis,
          +                key:xKey,
          +                value: xAxis.getKeyValueAt(xKey, index)
          +            };
          +        }
          +        else
          +        {
          +            valueItem = {
          +                axis:yAxis,
          +                key:yKey,
          +                value:yAxis.getKeyValueAt(yKey, index)
          +            };
          +            categoryItem = {
          +                axis:xAxis,
          +                key:xKey,
          +                value: xAxis.getKeyValueAt(xKey, index)
          +            };
          +        }
          +        categoryItem.displayName = series.get(&quot;categoryDisplayName&quot;);
          +        valueItem.displayName = series.get(&quot;valueDisplayName&quot;);
          +        categoryItem.value = categoryItem.axis.getKeyValueAt(categoryItem.key, index);
          +        valueItem.value = valueItem.axis.getKeyValueAt(valueItem.key, index);
          +        return {category:categoryItem, value:valueItem};
          +    },
          +
          +    &#x2F;**
          +     * Handler for sizeChanged event.
          +     *
          +     * @method _sizeChanged
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _sizeChanged: function(e)
          +    {
          +        if(this._axesCollection)
          +        {
          +            var ac = this._axesCollection,
          +                i = 0,
          +                l = ac.length;
          +            for(; i &lt; l; ++i)
          +            {
          +                this._addToAxesRenderQueue(ac[i]);
          +            }
          +            this._redraw();
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Returns the maximum distance in pixels that the extends outside the top bounds of all vertical axes.
          +     *
          +     * @method _getTopOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getTopOverflow: function(set1, set2, height)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMaxLabelBounds().top) - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMaxLabelBounds().top) - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    &#x2F;**
          +     * Returns the maximum distance in pixels that the extends outside the right bounds of all horizontal axes.
          +     *
          +     * @method _getRightOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getRightOverflow: function(set1, set2, width)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, axis.getMaxLabelBounds().right - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, axis.getMaxLabelBounds().right - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    &#x2F;**
          +     * Returns the maximum distance in pixels that the extends outside the left bounds of all horizontal axes.
          +     *
          +     * @method _getLeftOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} width Width of the axes
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getLeftOverflow: function(set1, set2, width)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMinLabelBounds().left) - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, Math.abs(axis.getMinLabelBounds().left) - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, width) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +    
          +    &#x2F;**
          +     * Returns the maximum distance in pixels that the extends outside the bottom bounds of all vertical axes.
          +     *
          +     * @method _getBottomOverflow
          +     * @param {Array} set1 Collection of axes to check.
          +     * @param {Array} set2 Seconf collection of axes to check.
          +     * @param {Number} height Height of the axes
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getBottomOverflow: function(set1, set2, height)
          +    {
          +        var i = 0,
          +            len,
          +            overflow = 0,
          +            axis;
          +        if(set1)
          +        {
          +            len = set1.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set1[i];
          +                overflow = Math.max(overflow, axis.getMinLabelBounds().bottom - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        if(set2)
          +        {
          +            i = 0;
          +            len = set2.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                axis = set2[i];
          +                overflow = Math.max(overflow, axis.getMinLabelBounds().bottom - (axis.getEdgeOffset(axis.get(&quot;styles&quot;).majorTicks.count, height) * 0.5));
          +            }
          +        }
          +        return overflow;
          +    },
          +
          +    &#x2F;**
          +     * Redraws and position all the components of the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     *&#x2F;
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            leftPaneWidth = 0,
          +            rightPaneWidth = 0,
          +            topPaneHeight = 0,
          +            bottomPaneHeight = 0,
          +            leftAxesCollection = this.get(&quot;leftAxesCollection&quot;),
          +            rightAxesCollection = this.get(&quot;rightAxesCollection&quot;),
          +            topAxesCollection = this.get(&quot;topAxesCollection&quot;),
          +            bottomAxesCollection = this.get(&quot;bottomAxesCollection&quot;),
          +            i = 0,
          +            l,
          +            axis,
          +            graphOverflow = &quot;visible&quot;,
          +            graph = this.get(&quot;graph&quot;),
          +            topOverflow,
          +            bottomOverflow,
          +            leftOverflow,
          +            rightOverflow,
          +            graphWidth,
          +            graphHeight,
          +            graphX,
          +            graphY,
          +            allowContentOverflow = this.get(&quot;allowContentOverflow&quot;),
          +            diff,
          +            rightAxesXCoords,
          +            leftAxesXCoords,
          +            topAxesYCoords,
          +            bottomAxesYCoords,
          +            graphRect = {};
          +        if(leftAxesCollection)
          +        {
          +            leftAxesXCoords = [];
          +            l = leftAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                leftAxesXCoords.unshift(leftPaneWidth);
          +                leftPaneWidth += leftAxesCollection[i].get(&quot;width&quot;);
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            rightAxesXCoords = [];
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                rightPaneWidth += rightAxesCollection[i].get(&quot;width&quot;);
          +                rightAxesXCoords.unshift(w - rightPaneWidth);
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            topAxesYCoords = [];
          +            l = topAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                topAxesYCoords.unshift(topPaneHeight);
          +                topPaneHeight += topAxesCollection[i].get(&quot;height&quot;);
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            bottomAxesYCoords = [];
          +            l = bottomAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                bottomPaneHeight += bottomAxesCollection[i].get(&quot;height&quot;);
          +                bottomAxesYCoords.unshift(h - bottomPaneHeight);
          +            }
          +        }
          +        
          +        graphWidth = w - (leftPaneWidth + rightPaneWidth);
          +        graphHeight = h - (bottomPaneHeight + topPaneHeight);
          +        graphRect.left = leftPaneWidth;
          +        graphRect.top = topPaneHeight;
          +        graphRect.bottom = h - bottomPaneHeight;
          +        graphRect.right = w - rightPaneWidth;
          +        if(!allowContentOverflow)
          +        {
          +            topOverflow = this._getTopOverflow(leftAxesCollection, rightAxesCollection);
          +            bottomOverflow = this._getBottomOverflow(leftAxesCollection, rightAxesCollection);
          +            leftOverflow = this._getLeftOverflow(bottomAxesCollection, topAxesCollection);
          +            rightOverflow = this._getRightOverflow(bottomAxesCollection, topAxesCollection);
          +            
          +            diff = topOverflow - topPaneHeight;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.top = topOverflow;
          +                if(topAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = topAxesYCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        topAxesYCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = bottomOverflow - bottomPaneHeight;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.bottom = h - bottomOverflow;
          +                if(bottomAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = bottomAxesYCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        bottomAxesYCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +
          +            diff = leftOverflow - leftPaneWidth;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.left = leftOverflow;
          +                if(leftAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = leftAxesXCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        leftAxesXCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = rightOverflow - rightPaneWidth;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.right = w - rightOverflow;
          +                if(rightAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = rightAxesXCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        rightAxesXCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +        }
          +        graphWidth = graphRect.right - graphRect.left;
          +        graphHeight = graphRect.bottom - graphRect.top;
          +        graphX = graphRect.left;
          +        graphY = graphRect.top;
          +        if(topAxesCollection)
          +        {
          +            l = topAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; i++)
          +            {
          +                axis = topAxesCollection[i];
          +                if(axis.get(&quot;width&quot;) !== graphWidth)
          +                {
          +                    axis.set(&quot;width&quot;, graphWidth);
          +                }
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + &quot;px&quot;);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, topAxesYCoords[i] + &quot;px&quot;);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            l = bottomAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; i++)
          +            {
          +                axis = bottomAxesCollection[i];
          +                if(axis.get(&quot;width&quot;) !== graphWidth)
          +                {
          +                    axis.set(&quot;width&quot;, graphWidth);
          +                }
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + &quot;px&quot;);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, bottomAxesYCoords[i] + &quot;px&quot;);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(leftAxesCollection)
          +        {
          +            l = leftAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; ++i)
          +            {
          +                axis = leftAxesCollection[i];
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + &quot;px&quot;);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, leftAxesXCoords[i] + &quot;px&quot;);
          +                if(axis.get(&quot;height&quot;) !== graphHeight)
          +                {
          +                    axis.set(&quot;height&quot;, graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; ++i)
          +            {
          +                axis = rightAxesCollection[i];
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + &quot;px&quot;);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, rightAxesXCoords[i] + &quot;px&quot;);
          +                if(axis.get(&quot;height&quot;) !== graphHeight)
          +                {
          +                    axis.set(&quot;height&quot;, graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + &quot;px&quot;);
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + &quot;px&quot;);
          +            graph.set(&quot;width&quot;, graphWidth);
          +            graph.set(&quot;height&quot;, graphHeight);
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;overflow&quot;, graphOverflow);
          +        }
          +
          +        if(this._overlay)
          +        {
          +            this._overlay.setStyle(&quot;left&quot;, graphX + &quot;px&quot;);
          +            this._overlay.setStyle(&quot;top&quot;, graphY + &quot;px&quot;);
          +            this._overlay.setStyle(&quot;width&quot;, graphWidth + &quot;px&quot;);
          +            this._overlay.setStyle(&quot;height&quot;, graphHeight + &quot;px&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Destructor implementation for the CartesianChart class. Calls destroy on all axes, series and the Graph instance.
          +     * Removes the tooltip and overlay HTML elements.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            i = 0,
          +            len,
          +            seriesCollection = this.get(&quot;seriesCollection&quot;),
          +            axesCollection = this._axesCollection,
          +            tooltip = this.get(&quot;tooltip&quot;).node;
          +        if(this._description)
          +        {
          +            this._description.empty();
          +            this._description.remove(true);
          +        }
          +        if(this._liveRegion)
          +        {
          +            this._liveRegion.empty();
          +            this._liveRegion.remove(true);
          +        }
          +        len = seriesCollection ? seriesCollection.length : 0;
          +        for(; i &lt; len; ++i)
          +        {
          +            if(seriesCollection[i] instanceof Y.CartesianSeries)
          +            {
          +                seriesCollection[i].destroy(true);
          +            }
          +        }
          +        len = axesCollection ? axesCollection.length : 0;
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            if(axesCollection[i] instanceof Y.Axis)
          +            {
          +                axesCollection[i].destroy(true);
          +            }
          +        }
          +        if(graph)
          +        {
          +            graph.destroy(true);
          +        }
          +        if(tooltip)
          +        {
          +            tooltip.empty();
          +            tooltip.remove(true);
          +        }
          +        if(this._overlay)
          +        {
          +            this._overlay.empty();
          +            this._overlay.remove(true);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Returns the appropriate message based on the key press.
          +     *
          +     * @method _getAriaMessage
          +     * @param {Number} key The keycode that was pressed.
          +     * @return String
          +     *&#x2F;
          +    _getAriaMessage: function(key)
          +    {
          +        var msg = &quot;&quot;,
          +            series,
          +            items,
          +            categoryItem,
          +            valueItem,
          +            seriesIndex = this._seriesIndex,
          +            itemIndex = this._itemIndex,
          +            seriesCollection = this.get(&quot;seriesCollection&quot;),
          +            len = seriesCollection.length,
          +            dataLength;
          +        if(key % 2 === 0)
          +        {
          +            if(len &gt; 1)
          +            {
          +                if(key === 38)
          +                {
          +                    seriesIndex = seriesIndex &lt; 1 ? len - 1 : seriesIndex - 1;
          +                }
          +                else if(key === 40)
          +                {
          +                    seriesIndex = seriesIndex &gt;= len - 1 ? 0 : seriesIndex + 1;
          +                }
          +                this._itemIndex = -1;
          +            }
          +            else
          +            {
          +                seriesIndex = 0;
          +            }
          +            this._seriesIndex = seriesIndex;
          +            series = this.getSeries(parseInt(seriesIndex, 10));
          +            msg = series.get(&quot;valueDisplayName&quot;) + &quot; series.&quot;;
          +        }
          +        else
          +        {
          +            if(seriesIndex &gt; -1)
          +            {
          +                msg = &quot;&quot;;
          +                series = this.getSeries(parseInt(seriesIndex, 10));
          +            }
          +            else
          +            {
          +                seriesIndex = 0;
          +                this._seriesIndex = seriesIndex;
          +                series = this.getSeries(parseInt(seriesIndex, 10));
          +                msg = series.get(&quot;valueDisplayName&quot;) + &quot; series.&quot;;
          +            }
          +            dataLength = series._dataLength ? series._dataLength : 0;
          +            if(key === 37)
          +            {
          +                itemIndex = itemIndex &gt; 0 ? itemIndex - 1 : dataLength - 1;
          +            }
          +            else if(key === 39)
          +            {
          +                itemIndex = itemIndex &gt;= dataLength - 1 ? 0 : itemIndex + 1;
          +            }
          +            this._itemIndex = itemIndex;
          +            items = this.getSeriesItems(series, itemIndex);
          +            categoryItem = items.category;
          +            valueItem = items.value;
          +            if(categoryItem &amp;&amp; valueItem &amp;&amp; categoryItem.value &amp;&amp; valueItem.value)
          +            {
          +                msg += categoryItem.displayName + &quot;: &quot; + categoryItem.axis.formatLabel.apply(this, [categoryItem.value, categoryItem.axis.get(&quot;labelFormat&quot;)]) + &quot;, &quot;;
          +                msg += valueItem.displayName + &quot;: &quot; + valueItem.axis.formatLabel.apply(this, [valueItem.value, valueItem.axis.get(&quot;labelFormat&quot;)]) + &quot;, &quot;; 
          +            }
          +            else
          +            {
          +                msg += &quot;No data available.&quot;;
          +            }
          +            msg += (itemIndex + 1) + &quot; of &quot; + dataLength + &quot;. &quot;;
          +        }
          +        return msg;
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Indicates whether axis labels are allowed to overflow beyond the bounds of the chart&#x27;s content box.
          +         *
          +         * @attribute allowContentOverflow
          +         * @type Boolean
          +         *&#x2F;
          +        allowContentOverflow: {
          +            value: false
          +        },
          +
          +        &#x2F;**
          +         * Style object for the axes.
          +         *
          +         * @attribute axesStyles
          +         * @type Object
          +         * @private
          +         *&#x2F;
          +        axesStyles: {
          +            getter: function()
          +            {
          +                var axes = this.get(&quot;axes&quot;),
          +                    i,
          +                    styles = this._axesStyles;
          +                if(axes)
          +                {
          +                    for(i in axes)
          +                    {
          +                        if(axes.hasOwnProperty(i) &amp;&amp; axes[i] instanceof Y.Axis)
          +                        {
          +                            if(!styles)
          +                            {
          +                                styles = {};
          +                            }
          +                            styles[i] = axes[i].get(&quot;styles&quot;);
          +                        }
          +                    }
          +                }
          +                return styles;
          +            },
          +            
          +            setter: function(val)
          +            {
          +                var axes = this.get(&quot;axes&quot;),
          +                    i;
          +                for(i in val)
          +                {
          +                    if(val.hasOwnProperty(i) &amp;&amp; axes.hasOwnProperty(i))
          +                    {
          +                        this._setBaseAttribute(axes[i], &quot;styles&quot;, val[i]);
          +                    }
          +                }
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Style object for the series
          +         *
          +         * @attribute seriesStyles
          +         * @type Object
          +         * @private
          +         *&#x2F;
          +        seriesStyles: {
          +            getter: function()
          +            {
          +                var styles = this._seriesStyles,
          +                    graph = this.get(&quot;graph&quot;),
          +                    dict,
          +                    i;
          +                if(graph)
          +                {
          +                    dict = graph.get(&quot;seriesDictionary&quot;);
          +                    if(dict)
          +                    {
          +                        styles = {};
          +                        for(i in dict)
          +                        {
          +                            if(dict.hasOwnProperty(i))
          +                            {
          +                                styles[i] = dict[i].get(&quot;styles&quot;);
          +                            }
          +                        }
          +                    }
          +                }
          +                return styles;
          +            },
          +            
          +            setter: function(val)
          +            {
          +                var i,
          +                    l,
          +                    s;
          +    
          +                if(Y_Lang.isArray(val))
          +                {
          +                    s = this.get(&quot;seriesCollection&quot;);
          +                    i = 0;
          +                    l = val.length;
          +
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        this._setBaseAttribute(s[i], &quot;styles&quot;, val[i]);
          +                    }
          +                }
          +                else
          +                {
          +                    for(i in val)
          +                    {
          +                        if(val.hasOwnProperty(i))
          +                        {
          +                            s = this.getSeries(i);
          +                            this._setBaseAttribute(s, &quot;styles&quot;, val[i]);
          +                        }
          +                    }
          +                }
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Styles for the graph.
          +         *
          +         * @attribute graphStyles
          +         * @type Object
          +         * @private
          +         *&#x2F;
          +        graphStyles: {
          +            getter: function()
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                if(graph)
          +                {
          +                    return(graph.get(&quot;styles&quot;));
          +                }
          +                return this._graphStyles;
          +            },
          +
          +            setter: function(val)
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                this._setBaseAttribute(graph, &quot;styles&quot;, val);
          +            }
          +
          +        },
          +
          +        &#x2F;**
          +         * Style properties for the chart. Contains a key indexed hash of the following:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;A key indexed hash containing references to the &#x60;styles&#x60; attribute for each series in the chart.
          +         *      Specific style attributes vary depending on the series:
          +         *      &lt;ul&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;AreaSeries.html#attr_styles&quot;&gt;AreaSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;BarSeries.html#attr_styles&quot;&gt;BarSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;ColumnSeries.html#attr_styles&quot;&gt;ColumnSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;ComboSeries.html#attr_styles&quot;&gt;ComboSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;LineSeries.html#attr_styles&quot;&gt;LineSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;MarkerSeries.html#attr_styles&quot;&gt;MarkerSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *          &lt;li&gt;&lt;a href=&quot;SplineSeries.html#attr_styles&quot;&gt;SplineSeries&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
          +         *      &lt;&#x2F;ul&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;axes&lt;&#x2F;dt&gt;&lt;dd&gt;A key indexed hash containing references to the &#x60;styles&#x60; attribute for each axes in the chart. Specific
          +         *      style attributes can be found in the &lt;a href=&quot;Axis.html#attr_styles&quot;&gt;Axis&lt;&#x2F;a&gt; class.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;graph&lt;&#x2F;dt&gt;&lt;dd&gt;A reference to the &#x60;styles&#x60; attribute in the chart. Specific style attributes can be found in the
          +         *      &lt;a href=&quot;Graph.html#attr_styles&quot;&gt;Graph&lt;&#x2F;a&gt; class.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +        styles: {
          +            getter: function()
          +            {
          +                var styles = { 
          +                    axes: this.get(&quot;axesStyles&quot;),
          +                    series: this.get(&quot;seriesStyles&quot;),
          +                    graph: this.get(&quot;graphStyles&quot;)
          +                };
          +                return styles;
          +            },
          +            setter: function(val)
          +            {
          +                if(val.hasOwnProperty(&quot;axes&quot;))
          +                {
          +                    if(this.get(&quot;axesStyles&quot;))
          +                    {
          +                        this.set(&quot;axesStyles&quot;, val.axes);
          +                    }
          +                    else
          +                    {
          +                        this._axesStyles = val.axes;
          +                    }
          +                }
          +                if(val.hasOwnProperty(&quot;series&quot;))
          +                {
          +                    if(this.get(&quot;seriesStyles&quot;))
          +                    {
          +                        this.set(&quot;seriesStyles&quot;, val.series);
          +                    }
          +                    else
          +                    {
          +                        this._seriesStyles = val.series;
          +                    }
          +                }
          +                if(val.hasOwnProperty(&quot;graph&quot;))
          +                {
          +                    this.set(&quot;graphStyles&quot;, val.graph);
          +                }
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Axes to appear in the chart. This can be a key indexed hash of axis instances or object literals
          +         * used to construct the appropriate axes.
          +         *
          +         * @attribute axes
          +         * @type Object
          +         *&#x2F;
          +        axes: {
          +            valueFn: &quot;_getDefaultAxes&quot;,
          +
          +            setter: function(val)
          +            {
          +                return this._setAxes(val);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +         * used to construct the appropriate series.
          +         *
          +         * @attribute seriesCollection
          +         * @type Array
          +         *&#x2F;
          +        seriesCollection: {
          +            valueFn: &quot;_getDefaultSeriesCollection&quot;,
          +            
          +            setter: function(val)
          +            {
          +                return this._parseSeriesCollection(val);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to the left-aligned axes for the chart.
          +         *
          +         * @attribute leftAxesCollection
          +         * @type Array
          +         * @private
          +         *&#x2F;
          +        leftAxesCollection: {},
          +
          +        &#x2F;**
          +         * Reference to the bottom-aligned axes for the chart.
          +         *
          +         * @attribute bottomAxesCollection
          +         * @type Array
          +         * @private
          +         *&#x2F;
          +        bottomAxesCollection: {},
          +
          +        &#x2F;**
          +         * Reference to the right-aligned axes for the chart.
          +         *
          +         * @attribute rightAxesCollection
          +         * @type Array
          +         * @private
          +         *&#x2F;
          +        rightAxesCollection: {},
          +
          +        &#x2F;**
          +         * Reference to the top-aligned axes for the chart.
          +         *
          +         * @attribute topAxesCollection
          +         * @type Array
          +         * @private
          +         *&#x2F;
          +        topAxesCollection: {},
          +        
          +        &#x2F;**
          +         * Indicates whether or not the chart is stacked.
          +         *
          +         * @attribute stacked
          +         * @type Boolean
          +         *&#x2F;
          +        stacked: {
          +            value: false
          +        },
          +
          +        &#x2F;**
          +         * Direction of chart&#x27;s category axis when there is no series collection specified. Charts can
          +         * be horizontal or vertical. When the chart type is column, the chart is horizontal.
          +         * When the chart type is bar, the chart is vertical. 
          +         *
          +         * @attribute direction
          +         * @type String
          +         *&#x2F;
          +        direction: {
          +            getter: function()
          +            {
          +                var type = this.get(&quot;type&quot;);
          +                if(type == &quot;bar&quot;)
          +                {   
          +                    return &quot;vertical&quot;;
          +                }
          +                else if(type == &quot;column&quot;)
          +                {
          +                    return &quot;horizontal&quot;;
          +                }
          +                return this._direction;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._direction = val;
          +                return this._direction;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether or not an area is filled in a combo chart.
          +         * 
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         *&#x2F;
          +        showAreaFill: {},
          +
          +        &#x2F;**
          +         * Indicates whether to display markers in a combo chart.
          +         *
          +         * @attribute showMarkers
          +         * @type Boolean
          +         *&#x2F;
          +        showMarkers:{},
          +
          +        &#x2F;**
          +         * Indicates whether to display lines in a combo chart.
          +         *
          +         * @attribute showLines
          +         * @type Boolean
          +         *&#x2F;
          +        showLines:{},
          +
          +        &#x2F;**
          +         * Indicates the key value used to identify a category axis in the &#x60;axes&#x60; hash. If
          +         * not specified, the categoryKey attribute value will be used.
          +         * 
          +         * @attribute categoryAxisName
          +         * @type String
          +         *&#x2F;
          +        categoryAxisName: {
          +        },
          +
          +        &#x2F;**
          +         * Indicates the key value used to identify a the series axis when an axis not generated.
          +         *
          +         * @attribute valueAxisName
          +         * @type String
          +         *&#x2F;
          +        valueAxisName: {
          +            value: &quot;values&quot;
          +        },
          +
          +        &#x2F;**
          +         * Reference to the horizontalGridlines for the chart.
          +         *
          +         * @attribute horizontalGridlines
          +         * @type Gridlines
          +         *&#x2F;
          +        horizontalGridlines: {
          +            getter: function()
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                if(graph)
          +                {
          +                    return graph.get(&quot;horizontalGridlines&quot;);
          +                }
          +                return this._horizontalGridlines;
          +            },
          +            setter: function(val)
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                if(val &amp;&amp; !Y_Lang.isObject(val))
          +                {
          +                    val = {};
          +                }
          +                if(graph)
          +                {
          +                    graph.set(&quot;horizontalGridlines&quot;, val);
          +                }
          +                else
          +                {
          +                    this._horizontalGridlines = val;
          +                }
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to the verticalGridlines for the chart.
          +         *
          +         * @attribute verticalGridlines
          +         * @type Gridlines
          +         *&#x2F;
          +        verticalGridlines: {
          +            getter: function()
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                if(graph)
          +                {
          +                    return graph.get(&quot;verticalGridlines&quot;);
          +                }
          +                return this._verticalGridlines;
          +            },
          +            setter: function(val)
          +            {
          +                var graph = this.get(&quot;graph&quot;);
          +                if(val &amp;&amp; !Y_Lang.isObject(val))
          +                {
          +                    val = {};
          +                }
          +                if(graph)
          +                {
          +                    graph.set(&quot;verticalGridlines&quot;, val);
          +                }
          +                else
          +                {
          +                    this._verticalGridlines = val;
          +                }
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Type of chart when there is no series collection specified.
          +         *
          +         * @attribute type
          +         * @type String 
          +         *&#x2F;
          +        type: {
          +            getter: function()
          +            {
          +                if(this.get(&quot;stacked&quot;))
          +                {
          +                    return &quot;stacked&quot; + this._type;
          +                }
          +                return this._type;
          +            },
          +
          +            setter: function(val)
          +            {
          +                if(this._type == &quot;bar&quot;)
          +                {
          +                    if(val != &quot;bar&quot;)
          +                    {
          +                        this.set(&quot;direction&quot;, &quot;horizontal&quot;);
          +                    }
          +                }
          +                else
          +                {
          +                    if(val == &quot;bar&quot;)
          +                    {
          +                        this.set(&quot;direction&quot;, &quot;vertical&quot;);
          +                    }
          +                }
          +                this._type = val;
          +                return this._type;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the category axis used by the chart.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         *&#x2F;
          +        categoryAxis:{}
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChartLegend.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChartLegend.js.html
          new file mode 100644
          index 000000000..446b9dabe
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianChartLegend.js.html
          @@ -0,0 +1,1014 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CartesianChartLegend.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CartesianChartLegend.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Adds legend functionality to charts.
          + *
          + * @module charts
          + * @submodule charts-legend
          + *&#x2F;
          +var DOCUMENT = Y.config.doc, 
          +TOP = &quot;top&quot;,
          +RIGHT = &quot;right&quot;,
          +BOTTOM = &quot;bottom&quot;,
          +LEFT = &quot;left&quot;,
          +EXTERNAL = &quot;external&quot;,
          +HORIZONTAL = &quot;horizontal&quot;,
          +VERTICAL = &quot;vertical&quot;,
          +WIDTH = &quot;width&quot;,
          +HEIGHT = &quot;height&quot;,
          +POSITION = &quot;position&quot;,
          +_X = &quot;x&quot;,
          +_Y = &quot;y&quot;,
          +PX = &quot;px&quot;,
          +LEGEND = {
          +    setter: function(val)
          +    {   
          +        var legend = this.get(&quot;legend&quot;);
          +        if(legend)
          +        {
          +            legend.destroy(true);
          +        }
          +        if(val instanceof Y.ChartLegend)
          +        {
          +            legend = val;
          +            legend.set(&quot;chart&quot;, this);
          +        }
          +        else
          +        {
          +            val.chart = this;
          +            if(!val.hasOwnProperty(&quot;render&quot;))
          +            {
          +                val.render = this.get(&quot;contentBox&quot;);
          +                val.includeInChartLayout = true;
          +            }
          +            legend = new Y.ChartLegend(val);
          +        }
          +        return legend;
          +    }
          +},
          +
          +&#x2F;**
          + * Contains methods for displaying items horizontally in a legend.
          + *
          + * @module charts
          + * @submodule charts-legend
          + * @class HorizontalLegendLayout
          + *&#x2F;
          +HorizontalLegendLayout = {
          +    &#x2F;**
          +     * Displays items horizontally in a legend.
          +     *
          +     * @method _positionLegendItems
          +     * @param {Array} items Array of items to display in the legend.
          +     * @param {Number} maxWidth The width of the largest item in the legend.
          +     * @param {Number} maxHeight The height of the largest item in the legend.
          +     * @param {Number} totalWidth The total width of all items in a legend.
          +     * @param {Number} totalHeight The total height of all items in a legend.
          +     * @param {Number} padding The left, top, right and bottom padding properties for the legend.
          +     * @param {Number} horizontalGap The horizontal distance between items in a legend.
          +     * @param {Number} verticalGap The vertical distance between items in a legend.
          +     * @param {String} hAlign The horizontal alignment of the legend.
          +     * @param {String} vAlign The vertical alignment of the legend.
          +     * @protected
          +     *&#x2F;
          +    _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, hAlign, vAlign)
          +    {
          +        var i = 0,
          +            rowIterator = 0,
          +            item,
          +            node,
          +            itemWidth,
          +            itemHeight,
          +            len,
          +            width = this.get(&quot;width&quot;),
          +            rows,
          +            rowsLen,
          +            row,
          +            totalWidthArray,
          +            legendWidth,
          +            topHeight = padding.top - verticalGap,
          +            limit = width - (padding.left + padding.right),
          +            left, 
          +            top,
          +            right,
          +            bottom;
          +        HorizontalLegendLayout._setRowArrays(items, limit, horizontalGap);
          +        rows = HorizontalLegendLayout.rowArray;
          +        totalWidthArray = HorizontalLegendLayout.totalWidthArray;
          +        rowsLen = rows.length;
          +        for(; rowIterator &lt; rowsLen; ++ rowIterator)
          +        {
          +            topHeight += verticalGap;
          +            row = rows[rowIterator];
          +            len = row.length;
          +            legendWidth =  HorizontalLegendLayout.getStartPoint(width, totalWidthArray[rowIterator], hAlign, padding);
          +            for(i = 0; i &lt; len; ++i)
          +            {
          +                item = row[i];
          +                node = item.node;
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                item.x = legendWidth;
          +                item.y = 0;
          +                left = !isNaN(left) ? Math.min(left, legendWidth) : legendWidth;
          +                top = !isNaN(top) ? Math.min(top, topHeight) : topHeight;
          +                right = !isNaN(right) ? Math.max(legendWidth + itemWidth, right) : legendWidth + itemWidth;
          +                bottom = !isNaN(bottom) ? Math.max(topHeight + itemHeight, bottom) : topHeight + itemHeight;
          +                node.setStyle(&quot;left&quot;, legendWidth + PX);
          +                node.setStyle(&quot;top&quot;, topHeight + PX);
          +                legendWidth += itemWidth + horizontalGap;
          +            }
          +            topHeight += item.height;
          +        }
          +        this._contentRect = {
          +            left: left,
          +            top: top,
          +            right: right,
          +            bottom: bottom
          +        };
          +        if(this.get(&quot;includeInChartLayout&quot;))
          +        {
          +            this.set(&quot;height&quot;, topHeight + padding.bottom);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Creates row and total width arrays used for displaying multiple rows of
          +     * legend items based on the items, available width and horizontalGap for the legend.
          +     *
          +     * @method _setRowArrays
          +     * @param {Array} items Array of legend items to display in a legend.
          +     * @param {Number} limit Total available width for displaying items in a legend.
          +     * @param {Number} horizontalGap Horizontal distance between items in a legend.
          +     * @protected
          +     *&#x2F;
          +    _setRowArrays: function(items, limit, horizontalGap)
          +    {
          +        var item = items[0],
          +            rowArray = [[item]],
          +            i = 1,
          +            rowIterator = 0,
          +            len = items.length,
          +            totalWidth = item.width,
          +            itemWidth,
          +            totalWidthArray = [[totalWidth]];
          +        for(; i &lt; len; ++i)
          +        {
          +            item = items[i];
          +            itemWidth = item.width;
          +            if((totalWidth + horizontalGap + itemWidth) &lt;= limit)
          +            {
          +                totalWidth += horizontalGap + itemWidth;
          +                rowArray[rowIterator].push(item);
          +            }
          +            else
          +            {
          +                totalWidth = horizontalGap + itemWidth;
          +                if(rowArray[rowIterator])
          +                {
          +                    rowIterator += 1;
          +                }
          +                rowArray[rowIterator] = [item];
          +            }
          +            totalWidthArray[rowIterator] = totalWidth;
          +        }
          +        HorizontalLegendLayout.rowArray = rowArray;
          +        HorizontalLegendLayout.totalWidthArray = totalWidthArray;
          +    },
          +
          +    &#x2F;**
          +     * Returns the starting x-coordinate for a row of legend items.
          +     *
          +     * @method getStartPoint
          +     * @param {Number} w Width of the legend.
          +     * @param {Number} totalWidth Total width of all labels in the row.
          +     * @param {String} align Horizontal alignment of items for the legend.
          +     * @param {Object} padding Object contain left, top, right and bottom padding properties.
          +     * @return Number
          +     * @protected
          +     *&#x2F;
          +    getStartPoint: function(w, totalWidth, align, padding)
          +    {
          +        var startPoint;
          +        switch(align)
          +        {
          +            case LEFT :
          +                startPoint = padding.left;
          +            break;
          +            case &quot;center&quot; :
          +                startPoint = (w - totalWidth) * 0.5;
          +            break;
          +            case RIGHT :
          +                startPoint = w - totalWidth - padding.right;
          +            break;
          +        }
          +        return startPoint;
          +    }
          +},
          +
          +&#x2F;**
          + * Contains methods for displaying items vertically in a legend.
          + *
          + * @module charts
          + * @submodule charts-legend
          + * @class VerticalLegendLayout
          + *&#x2F;
          +VerticalLegendLayout = {
          +    &#x2F;**
          +     * Displays items vertically in a legend.
          +     *
          +     * @method _positionLegendItems
          +     * @param {Array} items Array of items to display in the legend.
          +     * @param {Number} maxWidth The width of the largest item in the legend.
          +     * @param {Number} maxHeight The height of the largest item in the legend.
          +     * @param {Number} totalWidth The total width of all items in a legend.
          +     * @param {Number} totalHeight The total height of all items in a legend.
          +     * @param {Number} padding The left, top, right and bottom padding properties for the legend.
          +     * @param {Number} horizontalGap The horizontal distance between items in a legend.
          +     * @param {Number} verticalGap The vertical distance between items in a legend.
          +     * @param {String} hAlign The horizontal alignment of the legend.
          +     * @param {String} vAlign The vertical alignment of the legend.
          +     * @protected
          +     *&#x2F;
          +    _positionLegendItems: function(items, maxWidth, maxHeight, totalWidth, totalHeight, padding, horizontalGap, verticalGap, hAlign, vAlign)
          +    {
          +        var i = 0,
          +            columnIterator = 0,
          +            item,
          +            node,
          +            itemHeight,
          +            itemWidth,
          +            len,
          +            height = this.get(&quot;height&quot;),
          +            columns,
          +            columnsLen,
          +            column,
          +            totalHeightArray,
          +            legendHeight,
          +            leftWidth = padding.left - horizontalGap,
          +            legendWidth,
          +            limit = height - (padding.top + padding.bottom),
          +            left, 
          +            top,
          +            right,
          +            bottom;
          +        VerticalLegendLayout._setColumnArrays(items, limit, verticalGap);
          +        columns = VerticalLegendLayout.columnArray;
          +        totalHeightArray = VerticalLegendLayout.totalHeightArray;
          +        columnsLen = columns.length;
          +        for(; columnIterator &lt; columnsLen; ++ columnIterator)
          +        {
          +            leftWidth += horizontalGap;
          +            column = columns[columnIterator];
          +            len = column.length;
          +            legendHeight =  VerticalLegendLayout.getStartPoint(height, totalHeightArray[columnIterator], vAlign, padding);
          +            legendWidth = 0;
          +            for(i = 0; i &lt; len; ++i)
          +            {
          +                item = column[i];
          +                node = item.node;
          +                itemHeight = item.height;
          +                itemWidth = item.width;
          +                item.y = legendHeight;
          +                item.x = leftWidth;
          +                left = !isNaN(left) ? Math.min(left, leftWidth) : leftWidth;
          +                top = !isNaN(top) ? Math.min(top, legendHeight) : legendHeight;
          +                right = !isNaN(right) ? Math.max(leftWidth + itemWidth, right) : leftWidth + itemWidth;
          +                bottom = !isNaN(bottom) ? Math.max(legendHeight + itemHeight, bottom) : legendHeight + itemHeight;
          +                node.setStyle(&quot;left&quot;, leftWidth + PX);
          +                node.setStyle(&quot;top&quot;, legendHeight + PX);
          +                legendHeight += itemHeight + verticalGap;
          +                legendWidth = Math.max(legendWidth, item.width);
          +            }
          +            leftWidth += legendWidth;
          +        }
          +        this._contentRect = {
          +            left: left,
          +            top: top,
          +            right: right,
          +            bottom: bottom
          +        };
          +        if(this.get(&quot;includeInChartLayout&quot;))
          +        {
          +            this.set(&quot;width&quot;, leftWidth + padding.right);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Creates column and total height arrays used for displaying multiple columns of
          +     * legend items based on the items, available height and verticalGap for the legend.
          +     *
          +     * @method _setColumnArrays
          +     * @param {Array} items Array of legend items to display in a legend.
          +     * @param {Number} limit Total available height for displaying items in a legend.
          +     * @param {Number} verticalGap Vertical distance between items in a legend.
          +     * @protected
          +     *&#x2F;
          +    _setColumnArrays: function(items, limit, verticalGap)
          +    {
          +        var item = items[0],
          +            columnArray = [[item]],
          +            i = 1,
          +            columnIterator = 0,
          +            len = items.length,
          +            totalHeight = item.height,
          +            itemHeight,
          +            totalHeightArray = [[totalHeight]];
          +        for(; i &lt; len; ++i)
          +        {
          +            item = items[i];
          +            itemHeight = item.height;
          +            if((totalHeight + verticalGap + itemHeight) &lt;= limit)
          +            {
          +                totalHeight += verticalGap + itemHeight;
          +                columnArray[columnIterator].push(item);
          +            }
          +            else
          +            {
          +                totalHeight = verticalGap + itemHeight;
          +                if(columnArray[columnIterator])
          +                {
          +                    columnIterator += 1;
          +                }
          +                columnArray[columnIterator] = [item];
          +            }
          +            totalHeightArray[columnIterator] = totalHeight;
          +        }
          +        VerticalLegendLayout.columnArray = columnArray;
          +        VerticalLegendLayout.totalHeightArray = totalHeightArray;
          +    },
          +
          +    &#x2F;**
          +     * Returns the starting y-coordinate for a column of legend items.
          +     *
          +     * @method getStartPoint
          +     * @param {Number} h Height of the legend.
          +     * @param {Number} totalHeight Total height of all labels in the column.
          +     * @param {String} align Vertical alignment of items for the legend.
          +     * @param {Object} padding Object contain left, top, right and bottom padding properties.
          +     * @return Number
          +     * @protected
          +     *&#x2F;
          +    getStartPoint: function(h, totalHeight, align, padding)
          +    {
          +        var startPoint;
          +        switch(align)
          +        {
          +            case TOP :
          +                startPoint = padding.top;
          +            break;
          +            case &quot;middle&quot; :
          +                startPoint = (h - totalHeight) * 0.5;
          +            break;
          +            case BOTTOM :
          +                startPoint = h - totalHeight - padding.bottom;
          +            break;
          +        }
          +        return startPoint;
          +    }
          +},
          +
          +CartesianChartLegend = Y.Base.create(&quot;cartesianChartLegend&quot;, Y.CartesianChart, [], {
          +    &#x2F;**
          +     * Redraws and position all the components of the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     *&#x2F;
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            layoutBoxDimensions = this._getLayoutBoxDimensions(),
          +            leftPaneWidth = layoutBoxDimensions.left,
          +            rightPaneWidth = layoutBoxDimensions.right,
          +            topPaneHeight = layoutBoxDimensions.top,
          +            bottomPaneHeight = layoutBoxDimensions.bottom,
          +            leftAxesCollection = this.get(&quot;leftAxesCollection&quot;),
          +            rightAxesCollection = this.get(&quot;rightAxesCollection&quot;),
          +            topAxesCollection = this.get(&quot;topAxesCollection&quot;),
          +            bottomAxesCollection = this.get(&quot;bottomAxesCollection&quot;),
          +            i = 0,
          +            l,
          +            axis,
          +            graphOverflow = &quot;visible&quot;,
          +            graph = this.get(&quot;graph&quot;),
          +            topOverflow,
          +            bottomOverflow,
          +            leftOverflow,
          +            rightOverflow,
          +            graphWidth,
          +            graphHeight,
          +            graphX,
          +            graphY,
          +            allowContentOverflow = this.get(&quot;allowContentOverflow&quot;),
          +            diff,
          +            rightAxesXCoords,
          +            leftAxesXCoords,
          +            topAxesYCoords,
          +            bottomAxesYCoords,
          +            legend = this.get(&quot;legend&quot;),
          +            graphRect = {};
          +
          +        if(leftAxesCollection)
          +        {
          +            leftAxesXCoords = [];
          +            l = leftAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                leftAxesXCoords.unshift(leftPaneWidth);
          +                leftPaneWidth += leftAxesCollection[i].get(&quot;width&quot;);
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            rightAxesXCoords = [];
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                rightPaneWidth += rightAxesCollection[i].get(&quot;width&quot;);
          +                rightAxesXCoords.unshift(w - rightPaneWidth);
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            topAxesYCoords = [];
          +            l = topAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                topAxesYCoords.unshift(topPaneHeight);
          +                topPaneHeight += topAxesCollection[i].get(&quot;height&quot;);
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            bottomAxesYCoords = [];
          +            l = bottomAxesCollection.length;
          +            for(i = l - 1; i &gt; -1; --i)
          +            {
          +                bottomPaneHeight += bottomAxesCollection[i].get(&quot;height&quot;);
          +                bottomAxesYCoords.unshift(h - bottomPaneHeight);
          +            }
          +        }
          +        
          +        graphWidth = w - (leftPaneWidth + rightPaneWidth);
          +        graphHeight = h - (bottomPaneHeight + topPaneHeight);
          +        graphRect.left = leftPaneWidth;
          +        graphRect.top = topPaneHeight;
          +        graphRect.bottom = h - bottomPaneHeight;
          +        graphRect.right = w - rightPaneWidth;
          +        if(!allowContentOverflow)
          +        {
          +            topOverflow = this._getTopOverflow(leftAxesCollection, rightAxesCollection);
          +            bottomOverflow = this._getBottomOverflow(leftAxesCollection, rightAxesCollection);
          +            leftOverflow = this._getLeftOverflow(bottomAxesCollection, topAxesCollection);
          +            rightOverflow = this._getRightOverflow(bottomAxesCollection, topAxesCollection);
          +            
          +            diff = topOverflow - topPaneHeight;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.top = topOverflow;
          +                if(topAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = topAxesYCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        topAxesYCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = bottomOverflow - bottomPaneHeight;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.bottom = h - bottomOverflow;
          +                if(bottomAxesYCoords)
          +                {
          +                    i = 0;
          +                    l = bottomAxesYCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        bottomAxesYCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +
          +            diff = leftOverflow - leftPaneWidth;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.left = leftOverflow;
          +                if(leftAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = leftAxesXCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        leftAxesXCoords[i] += diff;
          +                    }
          +                }
          +            }
          +
          +            diff = rightOverflow - rightPaneWidth;
          +            if(diff &gt; 0)
          +            {
          +                graphRect.right = w - rightOverflow;
          +                if(rightAxesXCoords)
          +                {
          +                    i = 0;
          +                    l = rightAxesXCoords.length;
          +                    for(; i &lt; l; ++i)
          +                    {
          +                        rightAxesXCoords[i] -= diff;
          +                    }
          +                }
          +            }
          +        }
          +        graphWidth = graphRect.right - graphRect.left;
          +        graphHeight = graphRect.bottom - graphRect.top;
          +        graphX = graphRect.left;
          +        graphY = graphRect.top;
          +        if(legend)
          +        {
          +            if(legend.get(&quot;includeInChartLayout&quot;))
          +            {
          +                switch(legend.get(&quot;position&quot;))
          +                {
          +                    case &quot;left&quot; : 
          +                        legend.set(&quot;y&quot;, graphY);
          +                        legend.set(&quot;height&quot;, graphHeight);
          +                    break;
          +                    case &quot;top&quot; :
          +                        legend.set(&quot;x&quot;, graphX);
          +                        legend.set(&quot;width&quot;, graphWidth);
          +                    break;
          +                    case &quot;bottom&quot; : 
          +                        legend.set(&quot;x&quot;, graphX);
          +                        legend.set(&quot;width&quot;, graphWidth);
          +                    break;
          +                    case &quot;right&quot; :
          +                        legend.set(&quot;y&quot;, graphY);
          +                        legend.set(&quot;height&quot;, graphHeight);
          +                    break;
          +                }
          +            }
          +        }
          +        if(topAxesCollection)
          +        {
          +            l = topAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; i++)
          +            {
          +                axis = topAxesCollection[i];
          +                if(axis.get(&quot;width&quot;) !== graphWidth)
          +                {
          +                    axis.set(&quot;width&quot;, graphWidth);
          +                }
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + PX);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, topAxesYCoords[i] + PX);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(bottomAxesCollection)
          +        {
          +            l = bottomAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; i++)
          +            {
          +                axis = bottomAxesCollection[i];
          +                if(axis.get(&quot;width&quot;) !== graphWidth)
          +                {
          +                    axis.set(&quot;width&quot;, graphWidth);
          +                }
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + PX);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, bottomAxesYCoords[i] + PX);
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(leftAxesCollection)
          +        {
          +            l = leftAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; ++i)
          +            {
          +                axis = leftAxesCollection[i];
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + PX);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, leftAxesXCoords[i] + PX);
          +                if(axis.get(&quot;height&quot;) !== graphHeight)
          +                {
          +                    axis.set(&quot;height&quot;, graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        if(rightAxesCollection)
          +        {
          +            l = rightAxesCollection.length;
          +            i = 0;
          +            for(; i &lt; l; ++i)
          +            {
          +                axis = rightAxesCollection[i];
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + PX);
          +                axis.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, rightAxesXCoords[i] + PX);
          +                if(axis.get(&quot;height&quot;) !== graphHeight)
          +                {
          +                    axis.set(&quot;height&quot;, graphHeight);
          +                }
          +            }
          +            if(axis._hasDataOverflow())
          +            {
          +                graphOverflow = &quot;hidden&quot;;
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, graphX + PX);
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, graphY + PX);
          +            graph.set(&quot;width&quot;, graphWidth);
          +            graph.set(&quot;height&quot;, graphHeight);
          +            graph.get(&quot;boundingBox&quot;).setStyle(&quot;overflow&quot;, graphOverflow);
          +        }
          +
          +        if(this._overlay)
          +        {
          +            this._overlay.setStyle(&quot;left&quot;, graphX + PX);
          +            this._overlay.setStyle(&quot;top&quot;, graphY + PX);
          +            this._overlay.setStyle(&quot;width&quot;, graphWidth + PX);
          +            this._overlay.setStyle(&quot;height&quot;, graphHeight + PX);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Positions the legend in a chart and returns the properties of the legend to be used in the 
          +     * chart&#x27;s layout algorithm.
          +     *
          +     * @method _getLayoutDimensions
          +     * @return {Object} The left, top, right and bottom values for the legend.
          +     * @protected
          +     *&#x2F;
          +    _getLayoutBoxDimensions: function()
          +    {
          +        var box = {
          +                top: 0,
          +                right: 0,
          +                bottom: 0,
          +                left: 0
          +            },
          +            legend = this.get(&quot;legend&quot;),
          +            position,
          +            direction,
          +            dimension,
          +            size,
          +            w = this.get(WIDTH),
          +            h = this.get(HEIGHT),
          +            gap;
          +        if(legend &amp;&amp; legend.get(&quot;includeInChartLayout&quot;))
          +        {
          +            gap = legend.get(&quot;styles&quot;).gap;
          +            position = legend.get(POSITION);
          +            if(position != EXTERNAL)
          +            {
          +                direction = legend.get(&quot;direction&quot;);
          +                dimension = direction == HORIZONTAL ? HEIGHT : WIDTH;
          +                size = legend.get(dimension);
          +                box[position] = size + gap;
          +                switch(position)
          +                {
          +                    case TOP :
          +                        legend.set(_Y, 0); 
          +                    break;
          +                    case BOTTOM : 
          +                        legend.set(_Y, h - size); 
          +                    break;
          +                    case RIGHT :
          +                        legend.set(_X, w - size);
          +                    break;
          +                    case LEFT: 
          +                        legend.set(_X, 0);
          +                    break;
          +                }
          +            }
          +        }
          +        return box;
          +    },
          +
          +    &#x2F;**
          +     * Destructor implementation for the CartesianChart class. Calls destroy on all axes, series, legend (if available) and the Graph instance.
          +     * Removes the tooltip and overlay HTML elements.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        var legend = this.get(&quot;legend&quot;);
          +        if(legend)
          +        {
          +            legend.destroy(true);
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        legend: LEGEND
          +    }
          +});
          +
          +Y.CartesianChart = CartesianChartLegend;
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianSeries.js.html
          new file mode 100644
          index 000000000..5a0a24234
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CartesianSeries.js.html
          @@ -0,0 +1,1115 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CartesianSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CartesianSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The CartesianSeries class creates a chart with horizontal and vertical axes.
          + *
          + * @module charts
          + * @class CartesianSeries
          + * @extends Base
          + * @uses Renderer
          + * @constructor
          + *&#x2F;
          +Y.CartesianSeries = Y.Base.create(&quot;cartesianSeries&quot;, Y.Base, [Y.Renderer], {
          +    &#x2F;**
          +     * Storage for &#x60;xDisplayName&#x60; attribute.
          +     *
          +     * @property _xDisplayName
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    _xDisplayName: null,
          +
          +    &#x2F;**
          +     * Storage for &#x60;yDisplayName&#x60; attribute.
          +     *
          +     * @property _yDisplayName
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    _yDisplayName: null,
          +    
          +    &#x2F;**
          +     * Th x-coordinate for the left edge of the series.
          +     *
          +     * @property _leftOrigin
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    _leftOrigin: null,
          +
          +    &#x2F;**
          +     * The y-coordinate for the bottom edge of the series.
          +     * 
          +     * @property _bottomOrigin
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    _bottomOrigin: null,
          +
          +    &#x2F;**
          +     * @method render
          +     * @private
          +     *&#x2F;
          +    render: function()
          +    {
          +        this._setCanvas();
          +        this.addListeners();
          +        this.set(&quot;rendered&quot;, true);
          +        this.validate();
          +    },
          +
          +    &#x2F;**
          +     * Adds event listeners.
          +     *
          +     * @method addListeners
          +     * @private
          +     *&#x2F;
          +    addListeners: function()
          +    {
          +        var xAxis = this.get(&quot;xAxis&quot;),
          +            yAxis = this.get(&quot;yAxis&quot;);
          +        if(xAxis)
          +        {
          +            xAxis.after(&quot;dataReady&quot;, Y.bind(this._xDataChangeHandler, this));
          +            xAxis.after(&quot;dataUpdate&quot;, Y.bind(this._xDataChangeHandler, this));
          +        }
          +        if(yAxis)
          +        {
          +            yAxis.after(&quot;dataReady&quot;, Y.bind(this._yDataChangeHandler, this));
          +            yAxis.after(&quot;dataUpdate&quot;, Y.bind(this._yDataChangeHandler, this));
          +        }
          +        this.after(&quot;xAxisChange&quot;, this._xAxisChangeHandler);
          +        this.after(&quot;yAxisChange&quot;, this._yAxisChangeHandler);
          +        this.after(&quot;stylesChange&quot;, function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after(&quot;widthChange&quot;, function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after(&quot;heightChange&quot;, function(e) {
          +            var axesReady = this._updateAxisData();
          +            if(axesReady)
          +            {
          +                this.draw();
          +            }
          +        });
          +        this.after(&quot;visibleChange&quot;, this._handleVisibleChange);
          +    },
          +  
          +    &#x2F;**
          +     * Event handler for the xAxisChange event.
          +     *
          +     * @method _xAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _xAxisChangeHandler: function(e)
          +    {
          +        var xAxis = this.get(&quot;xAxis&quot;);
          +        xAxis.after(&quot;dataReady&quot;, Y.bind(this._xDataChangeHandler, this));
          +        xAxis.after(&quot;dataUpdate&quot;, Y.bind(this._xDataChangeHandler, this));
          +    },
          +    
          +    &#x2F;**
          +     * Event handler the yAxisChange event.
          +     *
          +     * @method _yAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _yAxisChangeHandler: function(e)
          +    {
          +        var yAxis = this.get(&quot;yAxis&quot;);
          +        yAxis.after(&quot;dataReady&quot;, Y.bind(this._yDataChangeHandler, this));
          +        yAxis.after(&quot;dataUpdate&quot;, Y.bind(this._yDataChangeHandler, this));
          +    },
          +
          +    &#x2F;**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    GUID: &quot;yuicartesianseries&quot;,
          +
          +    &#x2F;**
          +     * Event handler for xDataChange event.
          +     *
          +     * @method _xDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     *&#x2F;
          +    _xDataChangeHandler: function(event)
          +    {
          +        var axesReady = this._updateAxisData();
          +        if(axesReady)
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Event handler for yDataChange event.
          +     *
          +     * @method _yDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     *&#x2F;
          +    _yDataChangeHandler: function(event)
          +    {
          +        var axesReady = this._updateAxisData();
          +        if(axesReady)
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Checks to ensure that both xAxis and yAxis data are available. If so, set the &#x60;xData&#x60; and &#x60;yData&#x60; attributes and return &#x60;true&#x60;. Otherwise, return &#x60;false&#x60;.
          +     *
          +     * @method _updateAxisData
          +     * @return Boolean
          +     * @private 
          +     *&#x2F;
          +    _updateAxisData: function()
          +    {
          +        var xAxis = this.get(&quot;xAxis&quot;),
          +            yAxis = this.get(&quot;yAxis&quot;),
          +            xKey = this.get(&quot;xKey&quot;),
          +            yKey = this.get(&quot;yKey&quot;),
          +            yData,
          +            xData;
          +        if(!xAxis || !yAxis || !xKey || !yKey)
          +        {
          +            return false;
          +        }
          +        xData = xAxis.getDataByKey(xKey);
          +        yData = yAxis.getDataByKey(yKey);
          +        if(!xData || !yData)
          +        {
          +            return false;
          +        }
          +        this.set(&quot;xData&quot;, xData.concat());
          +        this.set(&quot;yData&quot;, yData.concat());
          +        return true;
          +    },
          +
          +    &#x2F;**
          +     * Draws the series is the xAxis and yAxis data are both available.
          +     *
          +     * @method validate
          +     * @private
          +     *&#x2F;
          +    validate: function()
          +    {
          +        if((this.get(&quot;xData&quot;) &amp;&amp; this.get(&quot;yData&quot;)) || this._updateAxisData())
          +        {
          +            this.draw();
          +        }
          +        else
          +        {
          +            this.fire(&quot;drawingComplete&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Creates a &#x60;Graphic&#x60; instance.
          +     *
          +     * @method _setCanvas
          +     * @protected
          +     *&#x2F;
          +    _setCanvas: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            graphic = graph.get(&quot;graphic&quot;);
          +        this.set(&quot;graphic&quot;, graphic);
          +    },
          +
          +    &#x2F;**
          +     * Calculates the coordinates for the series.
          +     *
          +     * @method setAreaData
          +     * @protected
          +     *&#x2F;
          +    setAreaData: function()
          +    {
          +        var isNumber = Y_Lang.isNumber,
          +            nextX, nextY,
          +            graph = this.get(&quot;graph&quot;),
          +            w = graph.get(&quot;width&quot;),
          +            h = graph.get(&quot;height&quot;),
          +            xAxis = this.get(&quot;xAxis&quot;),
          +            yAxis = this.get(&quot;yAxis&quot;),
          +            xData = this.get(&quot;xData&quot;).concat(),
          +            yData = this.get(&quot;yData&quot;).concat(),
          +            xValue,
          +            yValue,
          +            xOffset = xAxis.getEdgeOffset(xData.length, w),
          +            yOffset = yAxis.getEdgeOffset(yData.length, h),
          +            padding = this.get(&quot;styles&quot;).padding,
          +			leftPadding = padding.left,
          +			topPadding = padding.top,
          +			dataWidth = w - (leftPadding + padding.right + xOffset),
          +			dataHeight = h - (topPadding + padding.bottom + yOffset),
          +			xcoords = [],
          +			ycoords = [],
          +			xMax = xAxis.get(&quot;maximum&quot;),
          +			xMin = xAxis.get(&quot;minimum&quot;),
          +			yMax = yAxis.get(&quot;maximum&quot;),
          +			yMin = yAxis.get(&quot;minimum&quot;),
          +            xScaleFactor = dataWidth &#x2F; (xMax - xMin),
          +			yScaleFactor = dataHeight &#x2F; (yMax - yMin),
          +            dataLength,
          +            direction = this.get(&quot;direction&quot;),
          +            i = 0,
          +            xMarkerPlane = [],
          +            yMarkerPlane = [],
          +            xMarkerPlaneOffset = this.get(&quot;xMarkerPlaneOffset&quot;),
          +            yMarkerPlaneOffset = this.get(&quot;yMarkerPlaneOffset&quot;),
          +            graphic = this.get(&quot;graphic&quot;);
          +        graphic.set(&quot;width&quot;, w);
          +        graphic.set(&quot;height&quot;, h);
          +        dataLength = xData.length;
          +        xOffset *= 0.5;
          +        yOffset *= 0.5;
          +        &#x2F;&#x2F;Assuming a vertical graph has a range&#x2F;category for its vertical axis.    
          +        if(direction === &quot;vertical&quot;)
          +        {
          +            yData = yData.reverse();
          +        }
          +        this._leftOrigin = Math.round(((0 - xMin) * xScaleFactor) + leftPadding + xOffset);
          +        this._bottomOrigin = Math.round((dataHeight + topPadding + yOffset)); 
          +        for (; i &lt; dataLength; ++i) 
          +		{
          +            xValue = parseFloat(xData[i]);
          +            yValue = parseFloat(yData[i]);
          +            if(isNumber(xValue))
          +            {
          +                nextX = Math.round((((xValue - xMin) * xScaleFactor) + leftPadding + xOffset));
          +            }
          +            else
          +            {
          +                nextX = NaN;
          +            }
          +            if(isNumber(yValue))
          +            {
          +			    nextY = Math.round(((dataHeight + topPadding + yOffset) - (yValue - yMin) * yScaleFactor));
          +            }
          +            else
          +            {
          +                nextY = NaN;
          +            }
          +            xcoords.push(nextX);
          +            ycoords.push(nextY);
          +            xMarkerPlane.push({start:nextX - xMarkerPlaneOffset, end: nextX + xMarkerPlaneOffset});
          +            yMarkerPlane.push({start:nextY - yMarkerPlaneOffset, end: nextY + yMarkerPlaneOffset});
          +        }
          +        this.set(&quot;xcoords&quot;, xcoords);
          +		this.set(&quot;ycoords&quot;, ycoords);
          +        this.set(&quot;xMarkerPlane&quot;, xMarkerPlane);
          +        this.set(&quot;yMarkerPlane&quot;, yMarkerPlane);
          +        this._dataLength = dataLength;
          +    },
          +
          +    &#x2F;**
          +     * Draws the series.
          +     *
          +     * @method draw
          +     * @protected
          +     *&#x2F;
          +    draw: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            w = graph.get(&quot;width&quot;),
          +            h = graph.get(&quot;height&quot;);
          +        if(this.get(&quot;rendered&quot;))
          +        {
          +            if((isFinite(w) &amp;&amp; isFinite(h) &amp;&amp; w &gt; 0 &amp;&amp; h &gt; 0) &amp;&amp; ((this.get(&quot;xData&quot;) &amp;&amp; this.get(&quot;yData&quot;)) || this._updateAxisData()))
          +            {
          +                if(this._drawing)
          +                {
          +                    this._callLater = true;
          +                    return;
          +                }
          +                this._drawing = true;
          +                this._callLater = false;
          +                this.setAreaData();
          +                if(this.get(&quot;xcoords&quot;) &amp;&amp; this.get(&quot;ycoords&quot;))
          +                {
          +                    this.drawSeries();
          +                }
          +                this._drawing = false;
          +                if(this._callLater)
          +                {
          +                    this.draw();
          +                }
          +                else
          +                {
          +                    this._toggleVisible(this.get(&quot;visible&quot;));
          +                    this.fire(&quot;drawingComplete&quot;);
          +                }
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Default value for plane offsets when the parent chart&#x27;s &#x60;interactiveType&#x60; is &#x60;planar&#x60;. 
          +     *
          +     * @property _defaultPlaneOffset
          +     * @type Number
          +     * @private
          +     *&#x2F;
          +    _defaultPlaneOffset: 4,
          +    
          +    &#x2F;**
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        return {padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }};
          +    },
          +
          +    &#x2F;**
          +     * Collection of default colors used for lines in a series when not specified by user.
          +     *
          +     * @property _defaultLineColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultLineColors:[&quot;#426ab3&quot;, &quot;#d09b2c&quot;, &quot;#000000&quot;, &quot;#b82837&quot;, &quot;#b384b5&quot;, &quot;#ff7200&quot;, &quot;#779de3&quot;, &quot;#cbc8ba&quot;, &quot;#7ed7a6&quot;, &quot;#007a6c&quot;],
          +
          +    &#x2F;**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultFillColors:[&quot;#6084d0&quot;, &quot;#eeb647&quot;, &quot;#6c6b5f&quot;, &quot;#d6484f&quot;, &quot;#ce9ed1&quot;, &quot;#ff9f3b&quot;, &quot;#93b7ff&quot;, &quot;#e0ddd0&quot;, &quot;#94ecba&quot;, &quot;#309687&quot;],
          +    
          +    &#x2F;**
          +     * Collection of default colors used for marker borders in a series when not specified by user.
          +     *
          +     * @property _defaultBorderColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultBorderColors:[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;],
          +    
          +    &#x2F;**
          +     * Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.
          +     *
          +     * @property _defaultSliceColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultSliceColors: [&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;],
          +
          +    &#x2F;**
          +     * Parses a color based on a series order and type.
          +     *
          +     * @method _getDefaultColor
          +     * @param {Number} index Index indicating the series order.
          +     * @param {String} type Indicates which type of object needs the color.
          +     * @return String
          +     * @protected
          +     *&#x2F;
          +    _getDefaultColor: function(index, type)
          +    {
          +        var colors = {
          +                line: this._defaultLineColors,
          +                fill: this._defaultFillColors,
          +                border: this._defaultBorderColors,
          +                slice: this._defaultSliceColors
          +            },
          +            col = colors[type],
          +            l = col.length;
          +        index = index || 0;
          +        if(index &gt;= l)
          +        {
          +            index = index % l;
          +        }
          +        type = type || &quot;fill&quot;;
          +        return colors[type][index];
          +    },
          +    
          +    &#x2F;**
          +     * Shows&#x2F;hides contents of the series.
          +     *
          +     * @method _handleVisibleChange
          +     * @param {Object} e Event object.
          +     * @protected
          +     *&#x2F;
          +    _handleVisibleChange: function(e) 
          +    {
          +        this._toggleVisible(this.get(&quot;visible&quot;));
          +    },
          +
          +    &#x2F;**
          +     * Returns the sum of all values for the series.
          +     *
          +     * @method getTotalValues
          +     * @return Number
          +     *&#x2F;
          +    getTotalValues: function()
          +    {
          +        var total = this.get(&quot;valueAxis&quot;).getTotalByKey(this.get(&quot;valueKey&quot;));
          +        return total;
          +    },
          +
          +    &#x2F;**
          +     * Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        if(this._path)
          +        {
          +            this._path.destroy();
          +        }
          +        if(this._lineGraphic)
          +        {
          +            this._lineGraphic.destroy();
          +            this._lineGraphic = null;
          +        }
          +        if(this.get(&quot;graphic&quot;))
          +        {
          +            this.get(&quot;graphic&quot;).destroy();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Name used for for displaying data related to the x-coordinate.
          +         *
          +         * @attribute xDisplayName
          +         * @type String
          +         *&#x2F;
          +        xDisplayName: {
          +            getter: function()
          +            {
          +                return this._xDisplayName || this.get(&quot;xKey&quot;);
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._xDisplayName = val.toString();
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Name used for for displaying data related to the y-coordinate.
          +         *
          +         * @attribute yDisplayName
          +         * @type String
          +         *&#x2F;
          +        yDisplayName: {
          +            getter: function()
          +            {
          +                return this._yDisplayName || this.get(&quot;yKey&quot;);
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._yDisplayName = val.toString();
          +                return val;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Name used for for displaying category data
          +         *
          +         * @attribute categoryDisplayName
          +         * @type String
          +         * @readOnly
          +         *&#x2F;
          +        categoryDisplayName: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get(&quot;direction&quot;) == &quot;vertical&quot; ? this.get(&quot;yDisplayName&quot;) : this.get(&quot;xDisplayName&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Name used for for displaying value data
          +         *
          +         * @attribute valueDisplayName
          +         * @type String
          +         * @readOnly
          +         *&#x2F;
          +        valueDisplayName: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get(&quot;direction&quot;) == &quot;vertical&quot; ? this.get(&quot;xDisplayName&quot;) : this.get(&quot;yDisplayName&quot;);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default cartesian
          +         *&#x2F;
          +        type: {		
          +            value: &quot;cartesian&quot;
          +        },
          +
          +        &#x2F;**
          +         * Order of this instance of this &#x60;type&#x60;.
          +         *
          +         * @attribute order
          +         * @type Number
          +         *&#x2F;
          +        order: {},
          +
          +        &#x2F;**
          +         * Order of the instance
          +         *
          +         * @attribute graphOrder
          +         * @type Number
          +         *&#x2F;
          +        graphOrder: {},
          +
          +        &#x2F;**
          +         * x coordinates for the series.
          +         *
          +         * @attribute xcoords
          +         * @type Array
          +         *&#x2F;
          +        xcoords: {},
          +        
          +        &#x2F;**
          +         * y coordinates for the series
          +         *
          +         * @attribute ycoords
          +         * @type Array
          +         *&#x2F;
          +        ycoords: {},
          +
          +        &#x2F;**
          +         * Reference to the &#x60;Chart&#x60; application.
          +         *
          +         * @attribute chart
          +         * @type ChartBase
          +         * @readOnly
          +         *&#x2F;
          +        chart: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this.get(&quot;graph&quot;).get(&quot;chart&quot;);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the &#x60;Graph&#x60; in which the series is drawn into.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         *&#x2F;
          +        graph: {},
          +
          +        &#x2F;**
          +         * Reference to the &#x60;Axis&#x60; instance used for assigning 
          +         * x-values to the graph.
          +         *
          +         * @attribute xAxis
          +         * @type Axis
          +         *&#x2F;
          +        xAxis: {},
          +        
          +        &#x2F;**
          +         * Reference to the &#x60;Axis&#x60; instance used for assigning 
          +         * y-values to the graph.
          +         *
          +         * @attribute yAxis
          +         * @type Axis
          +         *&#x2F;
          +        yAxis: {},
          +        
          +        &#x2F;**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the x-axis &#x60;Axis&#x60; instance.
          +         *
          +         * @attribute xKey
          +         * @type String
          +         *&#x2F;
          +        xKey: {
          +            setter: function(val)
          +            {
          +                return val.toString();
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the y-axis &#x60;Axis&#x60; instance.
          +         *
          +         * @attribute yKey
          +         * @type String
          +         *&#x2F;
          +        yKey: {
          +            setter: function(val)
          +            {
          +                return val.toString();
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Array of x values for the series.
          +         *
          +         * @attribute xData
          +         * @type Array
          +         *&#x2F;
          +        xData: {},
          +
          +        &#x2F;**
          +         * Array of y values for the series.
          +         *
          +         * @attribute yData
          +         * @type Array
          +         *&#x2F;
          +        yData: {},
          +       
          +        &#x2F;**
          +         * Indicates whether the Series has been through its initial set up.
          +         *
          +         * @attribute rendered
          +         * @type Boolean
          +         *&#x2F;
          +        rendered: {
          +            value: false
          +        },
          +
          +        &#x2F;*
          +         * Returns the width of the parent graph
          +         *
          +         * @attribute width
          +         * @type Number
          +         *&#x2F;
          +        width: {
          +            readOnly: true,
          +            
          +            getter: function()
          +            {
          +                this.get(&quot;graph&quot;).get(&quot;width&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Returns the height of the parent graph
          +         *
          +         * @attribute height
          +         * @type Number
          +         *&#x2F;
          +        height: {
          +            readOnly: true,
          +            
          +            getter: function()
          +            {
          +                this.get(&quot;graph&quot;).get(&quot;height&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether to show the series
          +         *
          +         * @attribute visible
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        visible: {
          +            value: true
          +        },
          +
          +        &#x2F;**
          +         * Collection of area maps along the xAxis. Used to determine mouseover for multiple
          +         * series.
          +         *
          +         * @attribute xMarkerPlane
          +         * @type Array
          +         *&#x2F;
          +        xMarkerPlane: {},
          +        
          +        &#x2F;**
          +         * Collection of area maps along the yAxis. Used to determine mouseover for multiple
          +         * series.
          +         *
          +         * @attribute yMarkerPlane
          +         * @type Array
          +         *&#x2F;
          +        yMarkerPlane: {},
          +
          +        &#x2F;**
          +         * Distance from a data coordinate to the left&#x2F;right for setting a hotspot.
          +         *
          +         * @attribute xMarkerPlaneOffset
          +         * @type Number
          +         *&#x2F;
          +        xMarkerPlaneOffset: {
          +            getter: function() {
          +                var marker = this.get(&quot;styles&quot;).marker;
          +                if(marker &amp;&amp; marker.width &amp;&amp; isFinite(marker.width))
          +                {
          +                    return marker.width * 0.5;
          +                }
          +                return this._defaultPlaneOffset;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Distance from a data coordinate to the top&#x2F;bottom for setting a hotspot.
          +         *
          +         * @attribute yMarkerPlaneOffset
          +         * @type Number
          +         *&#x2F;
          +        yMarkerPlaneOffset: {
          +            getter: function() {
          +                var marker = this.get(&quot;styles&quot;).marker;
          +                if(marker &amp;&amp; marker.height &amp;&amp; isFinite(marker.height))
          +                {
          +                    return marker.height * 0.5;
          +                }
          +                return this._defaultPlaneOffset;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Direction of the series
          +         *
          +         * @attribute direction
          +         * @type String
          +         *&#x2F;
          +        direction: {
          +            value: &quot;horizontal&quot;
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +         *
          +         * @attribute groupMarkers
          +         * @type Boolean
          +         *&#x2F;
          +        groupMarkers: {
          +            getter: function()
          +            {
          +                if(this._groupMarkers === undefined)
          +                {
          +                    return this.get(&quot;graph&quot;).get(&quot;groupMarkers&quot;);
          +                }
          +                else
          +                {
          +                    return this._groupMarkers;
          +                }
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._groupMarkers = val;
          +                return val;
          +            }
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CategoryAxis.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CategoryAxis.js.html
          new file mode 100644
          index 000000000..a4710481d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CategoryAxis.js.html
          @@ -0,0 +1,553 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CategoryAxis.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CategoryAxis.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * CategoryAxis manages category data on an axis.
          + *
          + * @module charts
          + * @class CategoryAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + *&#x2F;
          +function CategoryAxis(config)
          +{
          +	CategoryAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +CategoryAxis.NAME = &quot;categoryAxis&quot;;
          +
          +Y.extend(CategoryAxis, Y.AxisType,
          +{
          +    &#x2F;**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     *&#x2F;
          +    formatLabel: function(val, format)
          +    {
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Object storing key data.
          +     *
          +     * @property _indices
          +     * @private
          +     *&#x2F;
          +    _indices: null,
          +
          +    &#x2F;**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    GUID: &quot;yuicategoryaxis&quot;,
          +
          +    &#x2F;**
          +     * Type of data used in &#x60;Axis&#x60;.
          +     *
          +     * @property _dataType
          +     * @readOnly
          +     * @private
          +     *&#x2F;
          +    _type: &quot;category&quot;,
          +        
          +    &#x2F;**
          +     * Calculates the maximum and minimum values for the &#x60;Axis&#x60;.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     *&#x2F;
          +    _updateMinAndMax: function()
          +    {
          +        this._dataMaximum = Math.max(this.get(&quot;data&quot;).length - 1, 0);
          +        this._dataMinimum = 0;
          +    },
          +
          +    &#x2F;**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getKeyArray: function(key, data)
          +    {
          +        var i = 0,
          +            obj,
          +            keyArr = [],
          +            labels = [],
          +            len = data.length;
          +        if(!this._indices)
          +        {
          +            this._indices = {};
          +        }
          +        for(; i &lt; len; ++i)
          +        {
          +            obj = data[i];
          +            keyArr[i] = i;
          +            labels[i] = obj[key];
          +        }
          +        this._indices[key] = keyArr;
          +        return labels;
          +    },
          +
          +    &#x2F;**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     *&#x2F;
          +    _setDataByKey: function(key)
          +    {
          +        var i,
          +            obj, 
          +            arr = [], 
          +            labels = [], 
          +            dv = this._dataClone.concat(), 
          +            len = dv.length;
          +        if(!this._indices)
          +        {
          +            this._indices = {};
          +        }
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            obj = dv[i];
          +            arr[i] = i;
          +            labels[i] = obj[key];
          +        }
          +        this._indices[key] = arr;
          +        this.get(&quot;keys&quot;)[key] = labels.concat();
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    &#x2F;**
          +     * Returns an array of values based on an identifier key.
          +     *
          +     * @method getDataByKey
          +     * @param {String} value value used to identify the array
          +     * @return Array
          +     *&#x2F;
          +    getDataByKey: function (value)
          +    {
          +        if(!this._indices)
          +        {
          +            this.get(&quot;keys&quot;);
          +        }
          +        var keys = this._indices;
          +        if(keys[value])
          +        {
          +            return keys[value];
          +        }
          +        return null;
          +    },
          +
          +    &#x2F;**
          +     * Returns the total number of majorUnits that will appear on an axis.
          +     *
          +     * @method getTotalMajorUnits
          +     * @param {Object} majorUnit Object containing properties related to the majorUnit.
          +     * @param {Number} len Length of the axis.
          +     * @return Number
          +     *&#x2F;
          +    getTotalMajorUnits: function(majorUnit, len)
          +    {
          +        return this.get(&quot;data&quot;).length;
          +    },
          +    
          +    &#x2F;**
          +     * Returns the distance between major units on an axis.
          +     *
          +     * @method getMajorUnitDistance
          +     * @param {Number} len Number of ticks
          +     * @param {Number} uiLen Size of the axis.
          +     * @param {Object} majorUnit Hash of properties used to determine the majorUnit
          +     * @return Number
          +     *&#x2F;
          +    getMajorUnitDistance: function(len, uiLen, majorUnit)
          +    {
          +        var dist;
          +        if(majorUnit.determinant === &quot;count&quot;)
          +        {
          +            dist = uiLen&#x2F;len;
          +        }
          +        else if(majorUnit.determinant === &quot;distance&quot;)
          +        {
          +            dist = majorUnit.distance;
          +        }
          +        return dist;
          +    },
          +   
          +    &#x2F;**
          +     * Gets the distance that the first and last ticks are offset from there respective
          +     * edges.
          +     *
          +     * @method getEdgeOffset
          +     * @param {Number} ct Number of ticks on the axis.
          +     * @param {Number} l Length (in pixels) of the axis.
          +     * @return Number
          +     *&#x2F;
          +    getEdgeOffset: function(ct, l)
          +    {
          +        return l&#x2F;ct;
          +    },
          +
          +    &#x2F;**
          +     * Returns a value based of a key value and an index.
          +     *
          +     * @method getKeyValueAt
          +     * @param {String} key value used to look up the correct array
          +     * @param {Number} index within the array
          +     * @return String 
          +     *&#x2F;
          +    getKeyValueAt: function(key, index)
          +    {
          +        var value = NaN,
          +            keys = this.get(&quot;keys&quot;);
          +        if(keys[key] &amp;&amp; keys[key][index]) 
          +        {
          +            value = keys[key][index];
          +        }
          +        return value;
          +    },
          +   
          +    &#x2F;**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     *&#x2F;
          +    getLabelByIndex: function(i, l)
          +    {
          +        var label,
          +            data = this.get(&quot;data&quot;),
          +            position = this.get(&quot;position&quot;);
          +        if(position == &quot;bottom&quot; || position == &quot;top&quot;)
          +        {
          +            label = data[i];
          +        }
          +        else
          +        {
          +            label = data[l - (i + 1)];
          +        }   
          +        return label;
          +    },
          +
          +    &#x2F;**
          +     * Returns a string corresponding to the first label on an 
          +     * axis.
          +     *
          +     * @method getMinimumValue
          +     * @return String
          +     *&#x2F;
          +    getMinimumValue: function()
          +    {
          +        var data = this.get(&quot;data&quot;),
          +            label = data[0];
          +        return label;
          +    },
          +
          +    &#x2F;**
          +     * Returns a string corresponding to the last label on an 
          +     * axis.
          +     *
          +     * @method getMaximumValue
          +     * @return String
          +     *&#x2F;
          +    getMaximumValue: function()
          +    {
          +        var data = this.get(&quot;data&quot;),
          +            len = data.length - 1,
          +            label = data[len];
          +        return label;
          +    }
          +});
          +
          +Y.CategoryAxis = CategoryAxis;
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Chart.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Chart.js.html
          new file mode 100644
          index 000000000..b6af93456
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Chart.js.html
          @@ -0,0 +1,295 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Chart.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Chart.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The Chart class is the basic application used to create a chart.
          + *
          + * @module charts
          + * @class Chart
          + * @constructor
          + *&#x2F;
          +function Chart(cfg)
          +{
          +    if(cfg.type != &quot;pie&quot;)
          +    {
          +        return new Y.CartesianChart(cfg);
          +    }
          +    else
          +    {
          +        return new Y.PieChart(cfg);
          +    }
          +}
          +Y.Chart = Chart;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartBase.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartBase.js.html
          new file mode 100644
          index 000000000..9102d6c73
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartBase.js.html
          @@ -0,0 +1,1459 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ChartBase.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ChartBase.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The ChartBase class is an abstract class used to create charts.
          + *
          + * @module charts
          + * @class ChartBase
          + * @constructor
          + *&#x2F;
          +function ChartBase() {}
          +
          +ChartBase.ATTRS = {
          +    &#x2F;**
          +     * Sets the &#x60;aria-label&#x60; for the chart.
          +     *
          +     * @attribute ariaLabel
          +     * @type String
          +     *&#x2F;
          +    ariaLabel: {
          +        value: &quot;Chart Application&quot;,
          +
          +        setter: function(val)
          +        {
          +            var cb = this.get(&quot;contentBox&quot;);
          +            if(cb)
          +            {
          +                cb.setAttribute(&quot;aria-label&quot;, val);
          +            }
          +            return val;
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Sets the aria description for the chart.
          +     *
          +     * @attribute ariaDescription
          +     * @type String
          +     *&#x2F;
          +    ariaDescription: {
          +        value: &quot;Use the up and down keys to navigate between series. Use the left and right keys to navigate through items in a series.&quot;,
          +
          +        setter: function(val)
          +        {
          +            if(this._description)
          +            {
          +                this._description.setContent(&quot;&quot;);
          +                this._description.appendChild(DOCUMENT.createTextNode(val));
          +            }
          +            return val;
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Reference to the default tooltip available for the chart.
          +     * &lt;p&gt;Contains the following properties:&lt;&#x2F;p&gt;
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the actual dom node&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;showEvent&lt;&#x2F;dt&gt;&lt;dd&gt;Event that should trigger the tooltip&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;hideEvent&lt;&#x2F;dt&gt;&lt;dd&gt;Event that should trigger the removal of a tooltip (can be an event or an array of events)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;styles&lt;&#x2F;dt&gt;&lt;dd&gt;A hash of style properties that will be applied to the tooltip node&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;show&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether or not to show the tooltip&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;markerEventHandler&lt;&#x2F;dt&gt;&lt;dd&gt;Displays and hides tooltip based on marker events&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;planarEventHandler&lt;&#x2F;dt&gt;&lt;dd&gt;Displays and hides tooltip based on planar events&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;markerLabelFunction&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the function used to format a marker event triggered tooltip&#x27;s text. The method contains 
          +     *      the following arguments:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;An object containing the following:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the category is bound.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name set to the category (defaults to key if not provided).&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key of the category.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value of the category.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;An object containing the following:
          +     *      &lt;dl&gt;
          +     *          &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the item&#x27;s series is bound.&lt;&#x2F;dd&gt;
          +     *          &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name of the series. (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *          &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key for the series.&lt;&#x2F;dd&gt;
          +     *          &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value for the series item.&lt;&#x2F;dd&gt; 
          +     *      &lt;&#x2F;dl&gt;
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;itemIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The index of the item within the series.&lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt; The &#x60;CartesianSeries&#x60; instance of the item.&lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The index of the series in the &#x60;seriesCollection&#x60;.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *  The method returns an &#x60;HTMLElement&#x60; which is written into the DOM using &#x60;appendChild&#x60;. If you override this method and choose to return an html string, you
          +     *  will also need to override the tooltip&#x27;s &#x60;setTextFunction&#x60; method to accept an html string.
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;planarLabelFunction&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the function used to format a planar event triggered tooltip&#x27;s text
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;categoryAxis&lt;&#x2F;dt&gt;&lt;dd&gt; &#x60;CategoryAxis&#x60; Reference to the categoryAxis of the chart.
          +     *      &lt;dt&gt;valueItems&lt;&#x2F;dt&gt;&lt;dd&gt;Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The value axis of the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value for the series item.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name of the series. (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt; 
          +     *  &lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;The index of the item within its series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;seriesArray&lt;&#x2F;dt&gt;&lt;dd&gt;Array of series instances for each value item.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The index of the series in the &#x60;seriesCollection&#x60;.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *  The method returns an &#x60;HTMLElement&#x60; which is written into the DOM using &#x60;appendChild&#x60;. If you override this method and choose to return an html string, you
          +     *  will also need to override the tooltip&#x27;s &#x60;setTextFunction&#x60; method to accept an html string.
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;dt&gt;setTextFunction&lt;&#x2F;dt&gt;&lt;dd&gt;Method that writes content returned from &#x60;planarLabelFunction&#x60; or &#x60;markerLabelFunction&#x60; into the the tooltip node.
          +     *  has the following signature:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;label&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;HTMLElement&#x60; that the content is to be added.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;The content to be rendered into tooltip. This can be a &#x60;String&#x60; or &#x60;HTMLElement&#x60;. If an HTML string is used, it will be rendered as a
          +     *      string.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *  &lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     * @attribute tooltip
          +     * @type Object
          +     *&#x2F; 
          +    tooltip: {
          +        valueFn: &quot;_getTooltip&quot;,
          +
          +        setter: function(val)
          +        {
          +            return this._updateTooltip(val);
          +        }
          +    },
          +
          +    &#x2F;** 
          +     * The key value used for the chart&#x27;s category axis. 
          +     *
          +     * @attribute categoryKey
          +     * @type String
          +     * @default category
          +     *&#x2F;
          +    categoryKey: {
          +        value: &quot;category&quot;
          +    },
          +        
          +    &#x2F;**
          +     * Indicates the type of axis to use for the category axis.
          +     *
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;category&lt;&#x2F;dt&gt;&lt;dd&gt;Specifies a &#x60;CategoryAxis&#x60;.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;time&lt;&#x2F;dt&gt;&lt;dd&gt;Specifies a &#x60;TimeAxis&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *
          +     * @attribute categoryType
          +     * @type String
          +     * @default category
          +     *&#x2F;
          +    categoryType:{
          +        value:&quot;category&quot;
          +    },
          +
          +    &#x2F;**
          +     * Indicates the the type of interactions that will fire events.
          +     *
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;marker&lt;&#x2F;dt&gt;&lt;dd&gt;Events will be broadcasted when the mouse interacts with individual markers.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;planar&lt;&#x2F;dt&gt;&lt;dd&gt;Events will be broadcasted when the mouse intersects the plane of any markers on the chart.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;none&lt;&#x2F;dt&gt;&lt;dd&gt;No events will be broadcasted.&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *
          +     * @attribute interactionType
          +     * @type String
          +     * @default marker
          +     *&#x2F;
          +    interactionType: {
          +        value: &quot;marker&quot;
          +    },
          +
          +    &#x2F;**
          +     * Data used to generate the chart.
          +     * 
          +     * @attribute dataProvider
          +     * @type Array
          +     *&#x2F;
          +    dataProvider: {
          +        setter: function(val)
          +        {
          +            return this._setDataValues(val);
          +        }
          +    },
          +        
          +    &#x2F;**
          +     * A collection of keys that map to the series axes. If no keys are set,
          +     * they will be generated automatically depending on the data structure passed into 
          +     * the chart.
          +     *
          +     * @attribute seriesKeys
          +     * @type Array
          +     *&#x2F;
          +    seriesKeys: {},
          +
          +    &#x2F;**
          +     * Reference to all the axes in the chart.
          +     *
          +     * @attribute axesCollection
          +     * @type Array
          +     *&#x2F;
          +    axesCollection: {},
          +
          +    &#x2F;**
          +     * Reference to graph instance.
          +     * 
          +     * @attribute graph
          +     * @type Graph 
          +     *&#x2F;
          +    graph: {
          +        valueFn: &quot;_getGraph&quot;
          +    },
          +
          +    &#x2F;**
          +     * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +     *
          +     * @attribute groupMarkers
          +     * @type Boolean
          +     *&#x2F;
          +    groupMarkers: {
          +        value: false,
          +
          +        setter: function(val)
          +        {
          +            if(this.get(&quot;graph&quot;))
          +            {
          +                this.get(&quot;graph&quot;).set(&quot;groupMarkers&quot;, val);
          +            }
          +            return val;
          +        }
          +    }
          +};
          +
          +ChartBase.prototype = {
          +    &#x2F;**
          +     * Handler for itemRendered event.
          +     *
          +     * @method _itemRendered
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _itemRendered: function(e)
          +    {
          +        this._itemRenderQueue = this._itemRenderQueue.splice(1 + Y.Array.indexOf(this._itemRenderQueue, e.currentTarget), 1);
          +        if(this._itemRenderQueue.length &lt; 1)
          +        {
          +            this._redraw();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Default value function for the &#x60;Graph&#x60; attribute.
          +     *
          +     * @method _getGraph
          +     * @return Graph
          +     * @private
          +     *&#x2F;
          +    _getGraph: function()
          +    {
          +        var graph = new Y.Graph({
          +            chart:this,
          +            groupMarkers: this.get(&quot;groupMarkers&quot;)    
          +        });
          +        graph.after(&quot;chartRendered&quot;, Y.bind(function(e) {
          +            this.fire(&quot;chartRendered&quot;);
          +        }, this));
          +        return graph; 
          +    },
          +
          +    &#x2F;**
          +     * Returns a series instance by index or key value.
          +     *
          +     * @method getSeries
          +     * @param val
          +     * @return CartesianSeries
          +     *&#x2F;
          +    getSeries: function(val)
          +    {
          +        var series = null, 
          +            graph = this.get(&quot;graph&quot;);
          +        if(graph)
          +        {
          +            if(Y_Lang.isNumber(val))
          +            {
          +                series = graph.getSeriesByIndex(val);
          +            }
          +            else
          +            {
          +                series = graph.getSeriesByKey(val);
          +            }
          +        }
          +        return series;
          +    },
          +
          +    &#x2F;**
          +     * Returns an &#x60;Axis&#x60; instance by key reference. If the axis was explicitly set through the &#x60;axes&#x60; attribute,
          +     * the key will be the same as the key used in the &#x60;axes&#x60; object. For default axes, the key for
          +     * the category axis is the value of the &#x60;categoryKey&#x60; (&#x60;category&#x60;). For the value axis, the default 
          +     * key is &#x60;values&#x60;.
          +     *
          +     * @method getAxisByKey
          +     * @param {String} val Key reference used to look up the axis.
          +     * @return Axis
          +     *&#x2F;
          +    getAxisByKey: function(val)
          +    {
          +        var axis,
          +            axes = this.get(&quot;axes&quot;);
          +        if(axes &amp;&amp; axes.hasOwnProperty(val))
          +        {
          +            axis = axes[val];
          +        }
          +        return axis;
          +    },
          +
          +    &#x2F;**
          +     * Returns the category axis for the chart.
          +     *
          +     * @method getCategoryAxis
          +     * @return Axis
          +     *&#x2F;
          +    getCategoryAxis: function()
          +    {
          +        var axis,
          +            key = this.get(&quot;categoryKey&quot;),
          +            axes = this.get(&quot;axes&quot;);
          +        if(axes.hasOwnProperty(key))
          +        {
          +            axis = axes[key];
          +        }
          +        return axis;
          +    },
          +
          +    &#x2F;**
          +     * Default direction of the chart.
          +     *
          +     * @property _direction
          +     * @type String
          +     * @default horizontal
          +     * @private
          +     *&#x2F;
          +    _direction: &quot;horizontal&quot;,
          +    
          +    &#x2F;**
          +     * Storage for the &#x60;dataProvider&#x60; attribute.
          +     *
          +     * @property _dataProvider
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _dataProvider: null,
          +
          +    &#x2F;**
          +     * Setter method for &#x60;dataProvider&#x60; attribute.
          +     *
          +     * @method _setDataValues
          +     * @param {Array} val Array to be set as &#x60;dataProvider&#x60;.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _setDataValues: function(val)
          +    {
          +        if(Y_Lang.isArray(val[0]))
          +        {
          +            var hash, 
          +                dp = [], 
          +                cats = val[0], 
          +                i = 0, 
          +                l = cats.length, 
          +                n, 
          +                sl = val.length;
          +            for(; i &lt; l; ++i)
          +            {
          +                hash = {category:cats[i]};
          +                for(n = 1; n &lt; sl; ++n)
          +                {
          +                    hash[&quot;series&quot; + n] = val[n][i];
          +                }
          +                dp[i] = hash; 
          +            }
          +            return dp;
          +        }
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Storage for &#x60;seriesCollection&#x60; attribute.
          +     *
          +     * @property _seriesCollection
          +     * @type Array
          +     * @private 
          +     *&#x2F;
          +    _seriesCollection: null,
          +
          +    &#x2F;**
          +     * Setter method for &#x60;seriesCollection&#x60; attribute.
          +     *
          +     * @property _setSeriesCollection
          +     * @param {Array} val Array of either &#x60;CartesianSeries&#x60; instances or objects containing series attribute key value pairs.
          +     * @private
          +     *&#x2F;
          +    _setSeriesCollection: function(val)
          +    {
          +        this._seriesCollection = val;
          +    },
          +    &#x2F;**
          +     * Helper method that returns the axis class that a key references.
          +     *
          +     * @method _getAxisClass
          +     * @param {String} t The type of axis.
          +     * @return Axis
          +     * @private
          +     *&#x2F;
          +    _getAxisClass: function(t)
          +    {
          +        return this._axisClass[t];
          +    },
          +  
          +    &#x2F;**
          +     * Key value pairs of axis types. 
          +     *
          +     * @property _axisClass
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _axisClass: {
          +        stacked: Y.StackedAxis,
          +        numeric: Y.NumericAxis,
          +        category: Y.CategoryAxis,
          +        time: Y.TimeAxis
          +    },
          +
          +    &#x2F;**
          +     * Collection of axes.
          +     *
          +     * @property _axes
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _axes: null,
          +
          +    &#x2F;**
          +     * @method initializer
          +     * @private
          +     *&#x2F;
          +    initializer: function()
          +    {
          +        this._itemRenderQueue = [];
          +        this._seriesIndex = -1;
          +        this._itemIndex = -1;
          +        this.after(&quot;dataProviderChange&quot;, this._dataProviderChangeHandler);
          +    },
          +
          +    &#x2F;**
          +     * @method renderUI
          +     * @private
          +     *&#x2F;
          +    renderUI: function()
          +    {
          +        var tt = this.get(&quot;tooltip&quot;),
          +            bb = this.get(&quot;boundingBox&quot;),
          +            cb = this.get(&quot;contentBox&quot;);
          +        &#x2F;&#x2F;move the position = absolute logic to a class file
          +        bb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        cb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        this._addAxes();
          +        this._addSeries();
          +        if(tt &amp;&amp; tt.show)
          +        {
          +            this._addTooltip();
          +        }
          +        this._setAriaElements(bb, cb);
          +    },
          +   
          +    &#x2F;**
          +     * Creates an aria &#x60;live-region&#x60;, &#x60;aria-label&#x60; and &#x60;aria-describedby&#x60; for the Chart.
          +     *
          +     * @method _setAriaElements
          +     * @param {Node} cb Reference to the Chart&#x27;s &#x60;contentBox&#x60; attribute.
          +     * @private
          +     *&#x2F;
          +    _setAriaElements: function(bb, cb)
          +    {
          +        var description = this._getAriaOffscreenNode(),
          +            id = this.get(&quot;id&quot;) + &quot;_description&quot;,
          +            liveRegion = this._getAriaOffscreenNode();
          +        cb.set(&quot;tabIndex&quot;, 0);
          +        cb.set(&quot;role&quot;, &quot;img&quot;);
          +        cb.setAttribute(&quot;aria-label&quot;, this.get(&quot;ariaLabel&quot;));
          +        cb.setAttribute(&quot;aria-describedby&quot;, id);
          +        description.set(&quot;id&quot;, id);
          +        description.set(&quot;tabIndex&quot;, -1);
          +        description.appendChild(DOCUMENT.createTextNode(this.get(&quot;ariaDescription&quot;)));
          +        liveRegion.set(&quot;id&quot;, &quot;live-region&quot;);
          +        liveRegion.set(&quot;aria-live&quot;, &quot;polite&quot;);
          +        liveRegion.set(&quot;aria-atomic&quot;, &quot;true&quot;);
          +        liveRegion.set(&quot;role&quot;, &quot;status&quot;);
          +        bb.setAttribute(&quot;role&quot;, &quot;application&quot;);
          +        bb.appendChild(description);
          +        bb.appendChild(liveRegion);
          +        this._description = description;
          +        this._liveRegion = liveRegion;
          +    },
          +
          +    &#x2F;**
          +     * Sets a node offscreen for use as aria-description or aria-live-regin.
          +     *
          +     * @method _setOffscreen
          +     * @return Node 
          +     * @private
          +     *&#x2F;
          +    _getAriaOffscreenNode: function()  
          +    {
          +        var node = Y.Node.create(&quot;&lt;div&gt;&lt;&#x2F;div&gt;&quot;),
          +            ie = Y.UA.ie,
          +            clipRect = (ie &amp;&amp; ie &lt; 8) ? &quot;rect(1px 1px 1px 1px)&quot; : &quot;rect(1px, 1px, 1px, 1px)&quot;;
          +        node.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        node.setStyle(&quot;height&quot;, &quot;1px&quot;); 
          +        node.setStyle(&quot;width&quot;, &quot;1px&quot;); 
          +        node.setStyle(&quot;overflow&quot;, &quot;hidden&quot;);
          +        node.setStyle(&quot;clip&quot;, clipRect); 
          +        return node;
          +    },
          +  
          +    &#x2F;**
          +     * @method syncUI
          +     * @private
          +     *&#x2F;
          +    syncUI: function()
          +    {
          +        this._redraw();
          +    },
          +
          +    &#x2F;**
          +     * @method bindUI
          +     * @private
          +     *&#x2F;
          +    bindUI: function()
          +    {
          +        this.after(&quot;tooltipChange&quot;, Y.bind(this._tooltipChangeHandler, this));
          +        this.after(&quot;widthChange&quot;, this._sizeChanged);
          +        this.after(&quot;heightChange&quot;, this._sizeChanged);
          +        var tt = this.get(&quot;tooltip&quot;),
          +            hideEvent = &quot;mouseout&quot;,
          +            showEvent = &quot;mouseover&quot;,
          +            cb = this.get(&quot;contentBox&quot;),
          +            interactionType = this.get(&quot;interactionType&quot;),
          +            i = 0,
          +            len,
          +            markerClassName = &quot;.&quot; + SERIES_MARKER,
          +            isTouch = ((WINDOW &amp;&amp; (&quot;ontouchstart&quot; in WINDOW)) &amp;&amp; !(Y.UA.chrome &amp;&amp; Y.UA.chrome &lt; 6));
          +        Y.on(&quot;keydown&quot;, Y.bind(function(e) {
          +            var key = e.keyCode,
          +                numKey = parseFloat(key),
          +                msg;
          +            if(numKey &gt; 36 &amp;&amp; numKey &lt; 41)
          +            {
          +                e.halt();
          +                msg = this._getAriaMessage(numKey);
          +                this._liveRegion.setContent(&quot;&quot;);
          +                this._liveRegion.appendChild(DOCUMENT.createTextNode(msg));
          +            }
          +        }, this), this.get(&quot;contentBox&quot;));
          +        if(interactionType == &quot;marker&quot;)
          +        {
          +            &#x2F;&#x2F;if touch capabilities, toggle tooltip on touchend. otherwise, the tooltip attribute&#x27;s hideEvent&#x2F;showEvent types.
          +            hideEvent = tt.hideEvent;
          +            showEvent = tt.showEvent;
          +            if(isTouch)
          +            {
          +                Y.delegate(&quot;touchend&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                &#x2F;&#x2F;hide active tooltip if the chart is touched
          +                Y.on(&quot;touchend&quot;, Y.bind(function(e) {
          +                    e.halt(true);
          +                    if(this._activeMarker)
          +                    {
          +                        this._activeMarker = null;
          +                        this.hideTooltip(e);
          +                    }
          +                }, this));
          +            }
          +            else
          +            {
          +                Y.delegate(&quot;mouseenter&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate(&quot;mousedown&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate(&quot;mouseup&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate(&quot;mouseleave&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate(&quot;click&quot;, Y.bind(this._markerEventDispatcher, this), cb, markerClassName);
          +                Y.delegate(&quot;mousemove&quot;, Y.bind(this._positionTooltip, this), cb, markerClassName);
          +            }
          +        }
          +        else if(interactionType == &quot;planar&quot;)
          +        {
          +            if(isTouch)
          +            {
          +                this._overlay.on(&quot;touchend&quot;, Y.bind(this._planarEventDispatcher, this));
          +            }
          +            else
          +            {
          +                this._overlay.on(&quot;mousemove&quot;, Y.bind(this._planarEventDispatcher, this));
          +                this.on(&quot;mouseout&quot;, this.hideTooltip);
          +            }
          +        }
          +        if(tt)
          +        {
          +            this.on(&quot;markerEvent:touchend&quot;, Y.bind(function(e) {
          +                var marker = e.series.get(&quot;markers&quot;)[e.index];
          +                if(this._activeMarker &amp;&amp; marker === this._activeMarker)
          +                {
          +                    this._activeMarker = null;
          +                    this.hideTooltip(e);
          +                }
          +                else
          +                {
          +
          +                    this._activeMarker = marker;
          +                    tt.markerEventHandler.apply(this, [e]);
          +                }
          +            }, this));
          +            if(hideEvent &amp;&amp; showEvent &amp;&amp; hideEvent == showEvent)
          +            {
          +                this.on(interactionType + &quot;Event:&quot; + hideEvent, this.toggleTooltip);
          +            }
          +            else
          +            {
          +                if(showEvent)
          +                {
          +                    this.on(interactionType + &quot;Event:&quot; + showEvent, tt[interactionType + &quot;EventHandler&quot;]);
          +                }
          +                if(hideEvent)
          +                {
          +                    if(Y_Lang.isArray(hideEvent))
          +                    {
          +                        len = hideEvent.length;
          +                        for(; i &lt; len; ++i)
          +                        {
          +                            this.on(interactionType + &quot;Event:&quot; + hideEvent[i], this.hideTooltip);
          +                        }
          +                    }
          +                    this.on(interactionType + &quot;Event:&quot; + hideEvent, this.hideTooltip);
          +                }
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Event handler for marker events.
          +     *
          +     * @method _markerEventDispatcher
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _markerEventDispatcher: function(e)
          +    {
          +        var type = e.type,
          +            cb = this.get(&quot;contentBox&quot;),
          +            markerNode = e.currentTarget,
          +            strArr = markerNode.getAttribute(&quot;id&quot;).split(&quot;_&quot;),
          +            index = strArr.pop(),
          +            seriesIndex = strArr.pop(),
          +            series = this.getSeries(parseInt(seriesIndex, 10)),
          +            items = this.getSeriesItems(series, index),
          +            isTouch = e &amp;&amp; e.hasOwnProperty(&quot;changedTouches&quot;),
          +            pageX = isTouch ? e.changedTouches[0].pageX : e.pageX,
          +            pageY = isTouch ? e.changedTouches[0].pageY : e.pageY,
          +            x = pageX - cb.getX(),
          +            y = pageY - cb.getY();
          +        if(type == &quot;mouseenter&quot;)
          +        {
          +            type = &quot;mouseover&quot;;
          +        }
          +        else if(type == &quot;mouseleave&quot;)
          +        {
          +            type = &quot;mouseout&quot;;
          +        }
          +        series.updateMarkerState(type, index);
          +        e.halt();
          +        &#x2F;**
          +         * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;marker&#x60; and a series marker has received a mouseover event.
          +         * 
          +         *
          +         * @event markerEvent:mouseover
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the category &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the value &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The dom node of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the series of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the marker in the series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;order&#x60; of the marker&#x27;s series.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *&#x2F;
          +        &#x2F;**
          +         * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;marker&#x60; and a series marker has received a mouseout event.
          +         *
          +         * @event markerEvent:mouseout
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the category &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the value &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The dom node of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the series of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the marker in the series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;order&#x60; of the marker&#x27;s series.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *&#x2F;
          +        &#x2F;**
          +         * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;marker&#x60; and a series marker has received a mousedown event.
          +         *
          +         * @event markerEvent:mousedown
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the category &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the value &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The dom node of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the series of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the marker in the series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;order&#x60; of the marker&#x27;s series.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *&#x2F;
          +        &#x2F;**
          +         * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;marker&#x60; and a series marker has received a mouseup event.
          +         *
          +         * @event markerEvent:mouseup
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the category &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the value &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The dom node of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the series of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the marker in the series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;order&#x60; of the marker&#x27;s series.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *&#x2F;
          +        &#x2F;**
          +         * Broadcasts when &#x60;interactionType&#x60; is set to &#x60;marker&#x60; and a series marker has received a click event.
          +         *
          +         * @event markerEvent:click
          +         * @preventable false
          +         * @param {EventFacade} e Event facade with the following additional
          +         *   properties:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;categoryItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the category &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;valueItem&lt;&#x2F;dt&gt;&lt;dd&gt;Hash containing information about the value &#x60;Axis&#x60;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The dom node of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;x&lt;&#x2F;dt&gt;&lt;dd&gt;The x-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;y&lt;&#x2F;dt&gt;&lt;dd&gt;The y-coordinate of the mouse in relation to the Chart.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;pageX&lt;&#x2F;dt&gt;&lt;dd&gt;The x location of the event on the page (including scroll)&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;pageY&lt;&#x2F;dt&gt;&lt;dd&gt;The y location of the event on the page (including scroll)&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;series&lt;&#x2F;dt&gt;&lt;dd&gt;Reference to the series of the marker.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;index&lt;&#x2F;dt&gt;&lt;dd&gt;Index of the marker in the series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;seriesIndex&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;order&#x60; of the marker&#x27;s series.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;originEvent&lt;&#x2F;dt&gt;&lt;dd&gt;Underlying dom event.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *&#x2F;
          +        this.fire(&quot;markerEvent:&quot; + type, {
          +            originEvent: e,
          +            pageX:pageX, 
          +            pageY:pageY, 
          +            categoryItem:items.category, 
          +            valueItem:items.value, 
          +            node:markerNode, 
          +            x:x, 
          +            y:y, 
          +            series:series, 
          +            index:index, 
          +            seriesIndex:seriesIndex
          +        });
          +    },
          +
          +    &#x2F;**
          +     * Event handler for dataProviderChange.
          +     *
          +     * @method _dataProviderChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _dataProviderChangeHandler: function(e)
          +    {
          +        var dataProvider = this.get(&quot;dataProvider&quot;),
          +            axes = this.get(&quot;axes&quot;),
          +            i,
          +            axis;
          +        this._seriesIndex = -1;
          +        this._itemIndex = -1;
          +        if(axes)
          +        {
          +            for(i in axes)
          +            {
          +                if(axes.hasOwnProperty(i))
          +                {
          +                    axis = axes[i];
          +                    if(axis instanceof Y.Axis)
          +                    {
          +                        if(axis.get(&quot;position&quot;) != &quot;none&quot;)
          +                        {
          +                            this._addToAxesRenderQueue(axis);
          +                        }
          +                        axis.set(&quot;dataProvider&quot;, dataProvider);
          +                    }
          +                }
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Event listener for toggling the tooltip. If a tooltip is visible, hide it. If not, it 
          +     * will create and show a tooltip based on the event object.
          +     * 
          +     * @method toggleTooltip
          +     * @param {Object} e Event object.
          +     *&#x2F;
          +    toggleTooltip: function(e)
          +    {
          +        var tt = this.get(&quot;tooltip&quot;);
          +        if(tt.visible)
          +        {
          +            this.hideTooltip();
          +        }
          +        else
          +        {
          +            tt.markerEventHandler.apply(this, [e]);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Shows a tooltip
          +     *
          +     * @method _showTooltip
          +     * @param {String} msg Message to dispaly in the tooltip.
          +     * @param {Number} x x-coordinate 
          +     * @param {Number} y y-coordinate
          +     * @private
          +     *&#x2F;
          +    _showTooltip: function(msg, x, y)
          +    {
          +        var tt = this.get(&quot;tooltip&quot;),
          +            node = tt.node;
          +        if(msg)
          +        {
          +            tt.visible = true;
          +            tt.setTextFunction(node, msg);
          +            node.setStyle(&quot;top&quot;, y + &quot;px&quot;);
          +            node.setStyle(&quot;left&quot;, x + &quot;px&quot;);
          +            node.setStyle(&quot;visibility&quot;, &quot;visible&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Positions the tooltip
          +     *
          +     * @method _positionTooltip
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _positionTooltip: function(e)
          +    {
          +        var tt = this.get(&quot;tooltip&quot;),
          +            node = tt.node,
          +            cb = this.get(&quot;contentBox&quot;),
          +            x = (e.pageX + 10) - cb.getX(),
          +            y = (e.pageY + 10) - cb.getY();
          +        if(node)
          +        {
          +            node.setStyle(&quot;left&quot;, x + &quot;px&quot;);
          +            node.setStyle(&quot;top&quot;, y + &quot;px&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Hides the default tooltip
          +     *
          +     * @method hideTooltip
          +     *&#x2F;
          +    hideTooltip: function()
          +    {
          +        var tt = this.get(&quot;tooltip&quot;),
          +            node = tt.node;
          +        tt.visible = false;
          +        node.set(&quot;innerHTML&quot;, &quot;&quot;);
          +        node.setStyle(&quot;left&quot;, -10000);
          +        node.setStyle(&quot;top&quot;, -10000);
          +        node.setStyle(&quot;visibility&quot;, &quot;hidden&quot;);
          +    },
          +
          +    &#x2F;**
          +     * Adds a tooltip to the dom.
          +     *
          +     * @method _addTooltip
          +     * @private
          +     *&#x2F;
          +    _addTooltip: function()
          +    {
          +        var tt = this.get(&quot;tooltip&quot;),
          +            id = this.get(&quot;id&quot;) + &quot;_tooltip&quot;,
          +            cb = this.get(&quot;contentBox&quot;),
          +            oldNode = DOCUMENT.getElementById(id);
          +        if(oldNode)
          +        {
          +            cb.removeChild(oldNode);
          +        }
          +        tt.node.set(&quot;id&quot;, id);
          +        tt.node.setStyle(&quot;visibility&quot;, &quot;hidden&quot;);
          +        cb.appendChild(tt.node);
          +    },
          +
          +    &#x2F;**
          +     * Updates the tooltip attribute.
          +     *
          +     * @method _updateTooltip
          +     * @param {Object} val Object containing properties for the tooltip.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _updateTooltip: function(val)
          +    {
          +        var tt = this._tooltip,
          +            i,
          +            styles,
          +            node,
          +            props = {
          +                markerLabelFunction:&quot;markerLabelFunction&quot;,
          +                planarLabelFunction:&quot;planarLabelFunction&quot;,
          +                setTextFunction:&quot;setTextFunction&quot;,
          +                showEvent:&quot;showEvent&quot;,
          +                hideEvent:&quot;hideEvent&quot;,
          +                markerEventHandler:&quot;markerEventHandler&quot;,
          +                planarEventHandler:&quot;planarEventHandler&quot;,
          +                show:&quot;show&quot;
          +            };
          +        if(Y_Lang.isObject(val))
          +        {
          +            styles = val.styles;
          +            node = Y.one(val.node) || tt.node;
          +            if(styles)
          +            {
          +                for(i in styles)
          +                {
          +                    if(styles.hasOwnProperty(i))
          +                    {
          +                        node.setStyle(i, styles[i]);
          +                    }
          +                }
          +            }
          +            for(i in props)
          +            {
          +                if(val.hasOwnProperty(i))
          +                {
          +                    tt[i] = val[i];
          +                }
          +            }
          +            tt.node = node;
          +        }
          +        return tt;
          +    },
          +
          +    &#x2F;**
          +     * Default getter for &#x60;tooltip&#x60; attribute.
          +     *
          +     * @method _getTooltip
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getTooltip: function()
          +    {
          +        var node = DOCUMENT.createElement(&quot;div&quot;),
          +            tt = {
          +                setTextFunction: this._setText,
          +                markerLabelFunction: this._tooltipLabelFunction,
          +                planarLabelFunction: this._planarLabelFunction,
          +                show: true,
          +                hideEvent: &quot;mouseout&quot;,
          +                showEvent: &quot;mouseover&quot;,
          +                markerEventHandler: function(e)
          +                {
          +                    var tt = this.get(&quot;tooltip&quot;),
          +                    msg = tt.markerLabelFunction.apply(this, [e.categoryItem, e.valueItem, e.index, e.series, e.seriesIndex]);
          +                    this._showTooltip(msg, e.x + 10, e.y + 10);
          +                },
          +                planarEventHandler: function(e)
          +                {
          +                    var tt = this.get(&quot;tooltip&quot;),
          +                        msg ,
          +                        categoryAxis = this.get(&quot;categoryAxis&quot;);
          +                    msg = tt.planarLabelFunction.apply(this, [categoryAxis, e.valueItem, e.index, e.items, e.seriesIndex]);
          +                    this._showTooltip(msg, e.x + 10, e.y + 10);
          +                }
          +            };
          +        node = Y.one(node);
          +        node.set(&quot;id&quot;, this.get(&quot;id&quot;) + &quot;_tooltip&quot;);
          +        node.setStyle(&quot;fontSize&quot;, &quot;85%&quot;);
          +        node.setStyle(&quot;opacity&quot;, &quot;0.83&quot;);
          +        node.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        node.setStyle(&quot;paddingTop&quot;, &quot;2px&quot;);
          +        node.setStyle(&quot;paddingRight&quot;, &quot;5px&quot;);
          +        node.setStyle(&quot;paddingBottom&quot;, &quot;4px&quot;);
          +        node.setStyle(&quot;paddingLeft&quot;, &quot;2px&quot;);
          +        node.setStyle(&quot;backgroundColor&quot;, &quot;#fff&quot;);
          +        node.setStyle(&quot;border&quot;, &quot;1px solid #dbdccc&quot;);
          +        node.setStyle(&quot;pointerEvents&quot;, &quot;none&quot;);
          +        node.setStyle(&quot;zIndex&quot;, 3);
          +        node.setStyle(&quot;whiteSpace&quot;, &quot;noWrap&quot;);
          +        node.setStyle(&quot;visibility&quot;, &quot;hidden&quot;);
          +        tt.node = Y.one(node);
          +        this._tooltip = tt;
          +        return tt;
          +    },
          +
          +    &#x2F;**
          +     * Formats tooltip text when &#x60;interactionType&#x60; is &#x60;planar&#x60;.
          +     *
          +     * @method _planarLabelFunction
          +     * @param {Axis} categoryAxis Reference to the categoryAxis of the chart.
          +     * @param {Array} valueItems Array of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The value axis of the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value for the series item.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name of the series. (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt; 
          +     *  @param {Number} index The index of the item within its series.
          +     *  @param {Array} seriesArray Array of series instances for each value item.
          +     *  @param {Number} seriesIndex The index of the series in the &#x60;seriesCollection&#x60;.
          +     *  @return {String | HTML} 
          +     * @private
          +     *&#x2F;
          +    _planarLabelFunction: function(categoryAxis, valueItems, index, seriesArray, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement(&quot;div&quot;),
          +            valueItem,
          +            i = 0,
          +            len = seriesArray.length,
          +            axis,
          +            categoryValue,
          +            seriesValue,
          +            series;
          +        if(categoryAxis)
          +        {
          +            categoryValue = categoryAxis.get(&quot;labelFunction&quot;).apply(this, [categoryAxis.getKeyValueAt(this.get(&quot;categoryKey&quot;), index), categoryAxis.get(&quot;labelFormat&quot;)]);
          +            if(Y_Lang.isString(categoryValue))
          +            {
          +                categoryValue = DOCUMENT.createTextNode(categoryValue);
          +            }
          +            msg.appendChild(categoryValue);
          +        }
          +
          +        for(; i &lt; len; ++i)
          +        {
          +            series = seriesArray[i];
          +            if(series.get(&quot;visible&quot;))
          +            {
          +                valueItem = valueItems[i];
          +                axis = valueItem.axis;
          +                seriesValue =  axis.get(&quot;labelFunction&quot;).apply(this, [axis.getKeyValueAt(valueItem.key, index), axis.get(&quot;labelFormat&quot;)]);
          +                msg.appendChild(DOCUMENT.createElement(&quot;br&quot;));
          +                msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName));
          +                msg.appendChild(DOCUMENT.createTextNode(&quot;: &quot;));
          +                if(Y_Lang.isString(seriesValue))
          +                {
          +                    seriesValue = DOCUMENT.createTextNode(seriesValue);
          +                }
          +                msg.appendChild(seriesValue);
          +            }
          +        }
          +        return msg;
          +    },
          +
          +    &#x2F;**
          +     * Formats tooltip text when &#x60;interactionType&#x60; is &#x60;marker&#x60;.
          +     *
          +     * @method _tooltipLabelFunction
          +     * @param {Object} categoryItem An object containing the following:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the category is bound.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name set to the category (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key of the category.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value of the category&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     * @param {Object} valueItem An object containing the following:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the item&#x27;s series is bound.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name of the series. (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value for the series item.&lt;&#x2F;dd&gt; 
          +     *  &lt;&#x2F;dl&gt;
          +     * @param {Number} itemIndex The index of the item within the series.
          +     * @param {CartesianSeries} series The &#x60;CartesianSeries&#x60; instance of the item.
          +     * @param {Number} seriesIndex The index of the series in the &#x60;seriesCollection&#x60;.
          +     * @return {String | HTML}
          +     * @private
          +     *&#x2F;
          +    _tooltipLabelFunction: function(categoryItem, valueItem, itemIndex, series, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement(&quot;div&quot;),
          +            categoryValue = categoryItem.axis.get(&quot;labelFunction&quot;).apply(this, [categoryItem.value, categoryItem.axis.get(&quot;labelFormat&quot;)]),
          +            seriesValue = valueItem.axis.get(&quot;labelFunction&quot;).apply(this, [valueItem.value, valueItem.axis.get(&quot;labelFormat&quot;)]);
          +        msg.appendChild(DOCUMENT.createTextNode(categoryItem.displayName)); 
          +        msg.appendChild(DOCUMENT.createTextNode(&quot;: &quot;)); 
          +        if(Y_Lang.isString(categoryValue))
          +        {
          +            categoryValue = DOCUMENT.createTextNode(categoryValue);
          +        }
          +        msg.appendChild(categoryValue);
          +        msg.appendChild(DOCUMENT.createElement(&quot;br&quot;));
          +        msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName)); 
          +        msg.appendChild(DOCUMENT.createTextNode(&quot;: &quot;)); 
          +        if(Y_Lang.isString(seriesValue))
          +        {
          +            seriesValue = DOCUMENT.createTextNode(seriesValue);
          +        }
          +        msg.appendChild(seriesValue);
          +        return msg; 
          +    },
          +
          +    &#x2F;**
          +     * Event handler for the tooltipChange.
          +     *
          +     * @method _tooltipChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _tooltipChangeHandler: function(e)
          +    {
          +        if(this.get(&quot;tooltip&quot;))
          +        {
          +            var tt = this.get(&quot;tooltip&quot;),
          +                node = tt.node,
          +                show = tt.show,
          +                cb = this.get(&quot;contentBox&quot;);
          +            if(node &amp;&amp; show)
          +            {
          +                if(!cb.contains(node))
          +                {
          +                    this._addTooltip();
          +                }
          +            }
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Updates the content of text field. This method writes a value into a text field using 
          +     * &#x60;appendChild&#x60;. If the value is a &#x60;String&#x60;, it is converted to a &#x60;TextNode&#x60; first. 
          +     *
          +     * @method _setText
          +     * @param label {HTMLElement} label to be updated
          +     * @param val {String} value with which to update the label
          +     * @private
          +     *&#x2F;
          +    _setText: function(textField, val)
          +    { 
          +        textField.setContent(&quot;&quot;);
          +        if(Y_Lang.isNumber(val))
          +        {
          +            val = val + &quot;&quot;;
          +        }
          +        else if(!val)
          +        {
          +            val = &quot;&quot;;
          +        }
          +        if(IS_STRING(val))
          +        {
          +            val = DOCUMENT.createTextNode(val);
          +        }
          +        textField.appendChild(val);
          +    }
          +};
          +Y.ChartBase = ChartBase;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartLegend.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartLegend.js.html
          new file mode 100644
          index 000000000..a205dc30d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ChartLegend.js.html
          @@ -0,0 +1,1044 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ChartLegend.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ChartLegend.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * ChartLegend provides a legend for a chart.
          + *
          + * @class ChartLegend
          + * @module charts
          + * @submodule charts-legend
          + * @extends Widget
          + *&#x2F;
          +Y.ChartLegend = Y.Base.create(&quot;chartlegend&quot;, Y.Widget, [Y.Renderer], {
          +    &#x2F;**
          +     * Initializes the chart.
          +     *
          +     * @method initializer
          +     * @private
          +     *&#x2F;
          +    initializer: function()
          +    {
          +        this._items = [];
          +    },
          +
          +    &#x2F;**
          +     * @method renderUI
          +     * @private
          +     *&#x2F;
          +    renderUI: function()
          +    {
          +        var bb = this.get(&quot;boundingBox&quot;),
          +            cb = this.get(&quot;contentBox&quot;),
          +            styles = this.get(&quot;styles&quot;).background,
          +            background = new Y.Rect({
          +                graphic: cb,
          +                fill: styles.fill,
          +                stroke: styles.border
          +            });
          +        bb.setStyle(&quot;display&quot;, &quot;block&quot;);
          +        bb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        this.set(&quot;background&quot;, background);
          +    },
          +    
          +    &#x2F;**
          +     * @method bindUI
          +     * @private
          +     *&#x2F;
          +    bindUI: function()
          +    {
          +        this.get(&quot;chart&quot;).after(&quot;seriesCollectionChange&quot;, this._updateHandler);
          +        this.after(&quot;stylesChange&quot;, this._updateHandler);
          +        this.after(&quot;positionChange&quot;, this._positionChangeHandler);
          +        this.after(&quot;widthChange&quot;, this._handleSizeChange);
          +        this.after(&quot;heightChange&quot;, this._handleSizeChange);
          +    },
          +    
          +    &#x2F;**
          +     * @method syncUI
          +     * @private
          +     *&#x2F;
          +    syncUI: function()
          +    {
          +        var w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;);
          +        if(isFinite(w) &amp;&amp; isFinite(h) &amp;&amp; w &gt; 0 &amp;&amp; h &gt; 0)
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Handles changes to legend.
          +     *
          +     * @method _updateHandler
          +     * @param {Object} e Event object
          +     * @private
          +     *&#x2F;
          +    _updateHandler: function(e)
          +    {
          +        if(this.get(&quot;rendered&quot;))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    &#x2F;** 
          +     * Handles position changes.
          +     *
          +     * @method _positionChangeHandler
          +     * @parma {Object} e Event object
          +     * @private
          +     *&#x2F;
          +    _positionChangeHandler: function(e)
          +    {
          +        var chart = this.get(&quot;chart&quot;),
          +            parentNode = this._parentNode;
          +        if(parentNode &amp;&amp; ((chart &amp;&amp; this.get(&quot;includeInChartLayout&quot;))))
          +        {
          +            this.fire(&quot;legendRendered&quot;);
          +        }
          +        else if(this.get(&quot;rendered&quot;))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Updates the legend when the size changes.
          +     *
          +     * @method _handleSizeChange
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _handleSizeChange: function(e)
          +    {
          +        var attrName = e.attrName,
          +            pos = this.get(POSITION),
          +            vert = pos == LEFT || pos == RIGHT,
          +            hor = pos == BOTTOM || pos == TOP;
          +        if((hor &amp;&amp; attrName == WIDTH) || (vert &amp;&amp; attrName == HEIGHT))
          +        {
          +            this._drawLegend();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws the legend
          +     *
          +     * @method _drawLegend
          +     * @private
          +     *&#x2F;
          +    _drawLegend: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        if(this.get(&quot;includeInChartLayout&quot;))
          +        {
          +            this.get(&quot;chart&quot;)._itemRenderQueue.unshift(this);
          +        }
          +        var chart = this.get(&quot;chart&quot;),
          +            node = this.get(&quot;contentBox&quot;),
          +            seriesCollection = chart.get(&quot;seriesCollection&quot;),
          +            series,
          +            styles = this.get(&quot;styles&quot;),
          +            padding = styles.padding,
          +            itemStyles = styles.item,
          +            seriesStyles,
          +            hSpacing = itemStyles.hSpacing,
          +            vSpacing = itemStyles.vSpacing,
          +            hAlign = styles.hAlign,
          +            vAlign = styles.vAlign,
          +            marker = styles.marker,
          +            labelStyles = itemStyles.label,
          +            displayName,
          +            layout = this._layout[this.get(&quot;direction&quot;)],
          +            i, 
          +            len,
          +            isArray,
          +            shape,
          +            shapeClass,
          +            item,
          +            fill,
          +            border,
          +            fillColors,
          +            borderColors,
          +            borderWeight,
          +            items = [],
          +            markerWidth = marker.width,
          +            markerHeight = marker.height,
          +            totalWidth = 0 - hSpacing,
          +            totalHeight = 0 - vSpacing,
          +            maxWidth = 0,
          +            maxHeight = 0,
          +            itemWidth,
          +            itemHeight;
          +        if(marker &amp;&amp; marker.shape)
          +        {
          +            shape = marker.shape;
          +        }
          +        this._destroyLegendItems();
          +        if(chart instanceof Y.PieChart)
          +        {
          +            series = seriesCollection[0];
          +            displayName = series.get(&quot;categoryAxis&quot;).getDataByKey(series.get(&quot;categoryKey&quot;)); 
          +            seriesStyles = series.get(&quot;styles&quot;).marker;
          +            fillColors = seriesStyles.fill.colors;
          +            borderColors = seriesStyles.border.colors;
          +            borderWeight = seriesStyles.border.weight;
          +            i = 0;
          +            len = displayName.length;
          +            shape = shape || Y.Circle;
          +            isArray = Y.Lang.isArray(shape);
          +            for(; i &lt; len; ++i)
          +            {
          +                shape = isArray ? shape[i] : shape;
          +                fill = {
          +                    color: fillColors[i]
          +                };
          +                border = {
          +                    colors: borderColors[i],
          +                    weight: borderWeight
          +                };
          +                displayName = chart.getSeriesItems(series, i).category.value;
          +                item = this._getLegendItem(node, this._getShapeClass(shape), fill, border, labelStyles, markerWidth, markerHeight, displayName);
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                maxWidth = Math.max(maxWidth, itemWidth);
          +                maxHeight = Math.max(maxHeight, itemHeight);
          +                totalWidth += itemWidth + hSpacing;
          +                totalHeight += itemHeight + vSpacing;
          +                items.push(item);
          +            }
          +        }
          +        else
          +        {
          +            i = 0;
          +            len = seriesCollection.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                series = seriesCollection[i];
          +                seriesStyles = this._getStylesBySeriesType(series, shape);
          +                if(!shape)
          +                {
          +                    shape = seriesStyles.shape;
          +                    if(!shape)
          +                    {
          +                        shape = Y.Circle;
          +                    }
          +                }
          +                shapeClass = Y.Lang.isArray(shape) ? shape[i] : shape;
          +                item = this._getLegendItem(node, this._getShapeClass(shape), seriesStyles.fill, seriesStyles.border, labelStyles, markerWidth, markerHeight, series.get(&quot;valueDisplayName&quot;));
          +                itemWidth = item.width;
          +                itemHeight = item.height;
          +                maxWidth = Math.max(maxWidth, itemWidth);
          +                maxHeight = Math.max(maxHeight, itemHeight);
          +                totalWidth += itemWidth + hSpacing;
          +                totalHeight += itemHeight + vSpacing;
          +                items.push(item);
          +            }
          +        }
          +        this.set(&quot;items&quot;, items);
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawLegend();
          +        }
          +        else
          +        {
          +            layout._positionLegendItems.apply(this, [items, maxWidth, maxHeight, totalWidth, totalHeight, padding, hSpacing, vSpacing, hAlign, vAlign]);
          +            this._updateBackground(styles);
          +            this.fire(&quot;legendRendered&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Updates the background for the legend.
          +     *
          +     * @method _updateBackground
          +     * @param {Object} styles Reference to the legend&#x27;s styles attribute
          +     * @private
          +     *&#x2F;
          +    _updateBackground: function(styles)
          +    {
          +        var backgroundStyles = styles.background,
          +            contentRect = this._contentRect,
          +            padding = styles.padding,
          +            x = contentRect.left - padding.left,
          +            y = contentRect.top - padding.top,
          +            w = contentRect.right - x + padding.right,
          +            h = contentRect.bottom - y + padding.bottom;
          +        this.get(&quot;background&quot;).set({
          +            fill: backgroundStyles.fill,
          +            stroke: backgroundStyles.border,
          +            width: w,
          +            height: h,
          +            x: x,
          +            y: y
          +        });
          +    },
          +
          +    &#x2F;**
          +     * Retrieves the marker styles based on the type of series. For series that contain a marker, the marker styles are returned.
          +     * 
          +     * @method _getStylesBySeriesType
          +     * @param {CartesianSeries | PieSeries} The series in which the style properties will be received.
          +     * @return Object An object containing fill, border and shape information.
          +     * @private
          +     *&#x2F;
          +    _getStylesBySeriesType: function(series)
          +    {
          +        var styles = series.get(&quot;styles&quot;);
          +        if(series instanceof Y.LineSeries || series instanceof Y.StackedLineSeries)
          +        {
          +            styles = series.get(&quot;styles&quot;).line;
          +            return {
          +                border: {
          +                    weight: 1,
          +                    color: styles.color
          +                },
          +                fill: {
          +                    color: styles.color
          +                }
          +            };
          +        }
          +        else if(series instanceof Y.AreaSeries || series instanceof Y.StackedAreaSeries)
          +        {
          +            series = series.get(&quot;styles&quot;).fill;
          +            return {
          +                border: {
          +                    weight: 1,
          +                    color: styles.color
          +                },
          +                fill: {
          +                    color: styles.color
          +                }
          +            };
          +        }
          +        else 
          +        {
          +            styles = series.get(&quot;styles&quot;).marker;
          +            return {
          +                fill: styles.fill,
          +
          +                border: {
          +                    weight: styles.border.weight,
          +
          +                    color: styles.border.color,
          +
          +                    shape: styles.shape
          +                },
          +                shape: styles.shape
          +            };
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Returns a legend item consisting of the following properties:
          +     *  &lt;dl&gt;
          +     *    &lt;dt&gt;node&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;Node&#x60; containing the legend item elements.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;shape&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;Shape&#x60; element for the legend item.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;textNode&lt;&#x2F;dt&gt;&lt;dd&gt;The &#x60;Node&#x60; containing the text&gt;&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;text&lt;&#x2F;dt&gt;&lt;dd&gt;&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     *
          +     * @method _getLegendItem
          +     * @param {Node} shapeProps Reference to the &#x60;node&#x60; attribute.
          +     * @param {String | Class} shapeClass The type of shape
          +     * @param {Object} fill Properties for the shape&#x27;s fill
          +     * @param {Object} border Properties for the shape&#x27;s border
          +     * @param {String} text String to be rendered as the legend&#x27;s text
          +     * @param {Number} width Total width of the legend item
          +     * @param {Number} height Total height of the legend item
          +     * @param {HTML | String} text Text for the legendItem
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getLegendItem: function(node, shapeClass, fill, border, labelStyles, w, h, text) 
          +    {
          +        var containerNode = Y.one(DOCUMENT.createElement(&quot;div&quot;)),
          +            textField = Y.one(DOCUMENT.createElement(&quot;span&quot;)),
          +            shape,
          +            dimension,
          +            padding,
          +            left,
          +            item;
          +        containerNode.setStyle(POSITION, &quot;absolute&quot;);
          +        textField.setStyle(POSITION, &quot;absolute&quot;);
          +        textField.setStyles(labelStyles);
          +        textField.appendChild(DOCUMENT.createTextNode(text));
          +        containerNode.appendChild(textField);
          +        node.appendChild(containerNode);
          +        dimension = textField.get(&quot;offsetHeight&quot;);
          +        padding = dimension - h;
          +        left = w + padding + 2;
          +        textField.setStyle(&quot;left&quot;, left + PX);
          +        containerNode.setStyle(&quot;height&quot;, dimension + PX);
          +        containerNode.setStyle(&quot;width&quot;, (left + textField.get(&quot;offsetWidth&quot;)) + PX);
          +        shape = new shapeClass({
          +            fill: fill,
          +            stroke: border,
          +            width: w,
          +            height: h,
          +            x: padding * 0.5,
          +            y: padding * 0.5,
          +            w: w,
          +            h: h,
          +            graphic: containerNode
          +        });
          +        textField.setStyle(&quot;left&quot;, dimension + PX);
          +        item = {
          +            node: containerNode,
          +            width: containerNode.get(&quot;offsetWidth&quot;),
          +            height: containerNode.get(&quot;offsetHeight&quot;),
          +            shape: shape,
          +            textNode: textField,
          +            text: text
          +        };
          +        this._items.push(item);
          +        return item;
          +    },
          +
          +    &#x2F;**
          +     * Evaluates and returns correct class for drawing a shape.
          +     *
          +     * @method _getShapeClass
          +     * @return Shape
          +     * @private
          +     *&#x2F;
          +    _getShapeClass: function()
          +    {   
          +        var graphic = this.get(&quot;background&quot;).get(&quot;graphic&quot;);
          +        return graphic._getShapeClass.apply(graphic, arguments);
          +    },
          +    
          +    &#x2F;**
          +     * Returns the default hash for the &#x60;styles&#x60; attribute.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var styles = { 
          +            padding: {
          +                top: 8,
          +                right: 8,
          +                bottom: 8,
          +                left: 9
          +            },
          +            gap: 10,
          +            hAlign: &quot;center&quot;,
          +            vAlign: &quot;top&quot;,
          +            marker: this._getPlotDefaults(),
          +            item: {
          +                hSpacing: 10,
          +                vSpacing: 5,
          +                label: {
          +                    color:&quot;#808080&quot;,
          +                    fontSize:&quot;85%&quot;
          +                }
          +            },
          +            background: {
          +                shape: &quot;rect&quot;,
          +                fill:{
          +                    color:&quot;#faf9f2&quot;
          +                },
          +                border: {
          +                    color:&quot;#dad8c9&quot;,
          +                    weight: 1
          +                }
          +            }
          +        };
          +        return styles;
          +    },
          +
          +    &#x2F;**
          +     * Gets the default values for series that use the utility. This method is used by
          +     * the class&#x27; &#x60;styles&#x60; attribute&#x27;s getter to get build default values.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            width: 10,
          +            height: 10
          +        };
          +        return defs;
          +    },
          +
          +    &#x2F;**
          +     * Destroys legend items.
          +     *
          +     * @method _destroyLegendItems
          +     * @private
          +     *&#x2F;
          +    _destroyLegendItems: function()
          +    {
          +        var item;
          +        if(this._items)
          +        {
          +            while(this._items.length &gt; 0)
          +            {
          +                item = this._items.shift();
          +                item.shape.get(&quot;graphic&quot;).destroy();
          +                item.node.empty();
          +                item.node.remove(true);
          +                item = null;
          +            }
          +        }
          +        this._items = [];
          +    },
          +
          +    &#x2F;**
          +     * Maps layout classes.
          +     *
          +     * @property _layout
          +     * @private
          +     *&#x2F;
          +    _layout: {
          +        vertical: VerticalLegendLayout,
          +        horizontal: HorizontalLegendLayout
          +    },
          +
          +    &#x2F;**
          +     * Destructor implementation ChartLegend class. Removes all items and the Graphic instance from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        var graphic = this.get(&quot;graphic&quot;);
          +        this._destroyLegendItems();
          +        if(graphic)
          +        {
          +            graphic.destroy();
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Indicates whether the chart&#x27;s contentBox is the parentNode for the legend.
          +         *
          +         * @attribute includeInChartLayout
          +         * @type Boolean
          +         * @private
          +         *&#x2F;
          +        includeInChartLayout: {
          +            value: false
          +        },
          +
          +        &#x2F;**
          +         * Reference to the &#x60;Chart&#x60; instance.
          +         *
          +         * @attribute chart
          +         * @type Chart
          +         *&#x2F;
          +        chart: {
          +            setter: function(val)
          +            {
          +                this.after(&quot;legendRendered&quot;, Y.bind(val._itemRendered, val));
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates the direction in relation of the legend&#x27;s layout. The &#x60;direction&#x60; of the legend is determined by its
          +         * &#x60;position&#x60; value.
          +         *
          +         * @attribute direction
          +         * @type String
          +         *&#x2F;
          +        direction: {
          +            value: &quot;vertical&quot;
          +        },
          +       
          +        &#x2F;**
          +         * Indicates the position and direction of the legend. Possible values are &#x60;left&#x60;, &#x60;top&#x60;, &#x60;right&#x60; and &#x60;bottom&#x60;. Values of &#x60;left&#x60; and
          +         * &#x60;right&#x60; values have a &#x60;direction&#x60; of &#x60;vertical&#x60;. Values of &#x60;top&#x60; and &#x60;bottom&#x60; values have a &#x60;direction&#x60; of &#x60;horizontal&#x60;.
          +         *
          +         * @attribute position
          +         * @type String
          +         *&#x2F;
          +        position: {
          +            lazyAdd: false,
          +
          +            value: &quot;right&quot;,
          +
          +            setter: function(val)
          +            {
          +                if(val == TOP || val == BOTTOM)
          +                {
          +                    this.set(&quot;direction&quot;, HORIZONTAL);
          +                }
          +                else if(val == LEFT || val == RIGHT)
          +                {
          +                    this.set(&quot;direction&quot;, VERTICAL);
          +                }
          +                return val;
          +            }
          +        },
          + 
          +        &#x2F;**
          +         * The width of the legend. Depending on the implementation of the ChartLegend, this value is &#x60;readOnly&#x60;. By default, the legend is included in the layout of the &#x60;Chart&#x60; that 
          +         * it references. Under this circumstance, &#x60;width&#x60; is always &#x60;readOnly&#x60;. When the legend is rendered in its own dom element, the &#x60;readOnly&#x60; status is determined by the 
          +         * direction of the legend. If the &#x60;position&#x60; is &#x60;left&#x60; or &#x60;right&#x60; or the &#x60;direction&#x60; is &#x60;vertical&#x60;, width is &#x60;readOnly&#x60;. If the position is &#x60;top&#x60; or &#x60;bottom&#x60; or the &#x60;direction&#x60;
          +         * is &#x60;horizontal&#x60;, width can be explicitly set. If width is not explicitly set, the width will be determined by the width of the legend&#x27;s parent element.
          +         *
          +         * @attribute width
          +         * @type Number
          +         *&#x2F;
          +        width: {
          +            getter: function()
          +            {
          +                var chart = this.get(&quot;chart&quot;),
          +                    parentNode = this._parentNode;
          +                if(parentNode)
          +                {
          +                    if((chart &amp;&amp; this.get(&quot;includeInChartLayout&quot;)) || this._width)
          +                    {
          +                        if(!this._width)
          +                        {
          +                            this._width = 0;
          +                        }
          +                        return this._width;
          +                    }
          +                    else
          +                    {
          +                        return parentNode.get(&quot;offsetWidth&quot;);
          +                    }
          +                }
          +                return &quot;&quot;;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._width = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The height of the legend. Depending on the implementation of the ChartLegend, this value is &#x60;readOnly&#x60;. By default, the legend is included in the layout of the &#x60;Chart&#x60; that 
          +         * it references. Under this circumstance, &#x60;height&#x60; is always &#x60;readOnly&#x60;. When the legend is rendered in its own dom element, the &#x60;readOnly&#x60; status is determined by the 
          +         * direction of the legend. If the &#x60;position&#x60; is &#x60;top&#x60; or &#x60;bottom&#x60; or the &#x60;direction&#x60; is &#x60;horizontal&#x60;, height is &#x60;readOnly&#x60;. If the position is &#x60;left&#x60; or &#x60;right&#x60; or the &#x60;direction&#x60;
          +         * is &#x60;vertical&#x60;, height can be explicitly set. If height is not explicitly set, the height will be determined by the width of the legend&#x27;s parent element.
          +         *
          +         * @attribute height 
          +         * @type Number
          +         *&#x2F;
          +        height: {
          +            valueFn: &quot;_heightGetter&quot;,
          +
          +            getter: function()
          +            {
          +                var chart = this.get(&quot;chart&quot;),
          +                    parentNode = this._parentNode;
          +                if(parentNode) 
          +                {
          +                    if((chart &amp;&amp; this.get(&quot;includeInChartLayout&quot;)) || this._height)
          +                    {
          +                        if(!this._height)
          +                        {
          +                            this._height = 0;
          +                        }
          +                        return this._height;
          +                    }
          +                    else
          +                    {
          +                        return parentNode.get(&quot;offsetHeight&quot;);
          +                    }
          +                }
          +                return &quot;&quot;;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._height = val;
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates the x position of legend.
          +         *
          +         * @attribute x
          +         * @type Number
          +         * @readOnly
          +         *&#x2F;
          +        x: {
          +            lazyAdd: false,
          +
          +            value: 0,
          +            
          +            setter: function(val)
          +            {
          +                var node = this.get(&quot;boundingBox&quot;);
          +                if(node)
          +                {
          +                    node.setStyle(LEFT, val + PX);
          +                }
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates the y position of legend.
          +         *
          +         * @attribute y
          +         * @type Number
          +         * @readOnly
          +         *&#x2F;
          +        y: {
          +            lazyAdd: false,
          +
          +            value: 0,
          +            
          +            setter: function(val)
          +            {
          +                var node = this.get(&quot;boundingBox&quot;);
          +                if(node)
          +                {
          +                    node.setStyle(TOP, val + PX);
          +                }
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Background for the legend.
          +         *
          +         * @attribute background
          +         * @type Rect
          +         *&#x2F;
          +        background: {}
          +
          +        &#x2F;**
          +         * Properties used to display and style the ChartLegend.  This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;gap&lt;&#x2F;dt&gt;&lt;dd&gt;Distance, in pixels, between the &#x60;ChartLegend&#x60; instance and the chart&#x27;s content. When &#x60;ChartLegend&#x60; is rendered within a &#x60;Chart&#x60; instance this value is applied.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;hAlign&lt;&#x2F;dt&gt;&lt;dd&gt;Defines the horizontal alignment of the &#x60;items&#x60; in a &#x60;ChartLegend&#x60; rendered in a horizontal direction. This value is applied when the instance&#x27;s &#x60;position&#x60; is set to top or bottom. This attribute can be set to left, center or right. The default value is center.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;vAlign&lt;&#x2F;dt&gt;&lt;dd&gt;Defines the vertical alignment of the &#x60;items&#x60; in a &#x60;ChartLegend&#x60; rendered in vertical direction. This value is applied when the instance&#x27;s &#x60;position&#x60; is set to left or right. The attribute can be set to top, middle or bottom. The default value is middle.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;item&lt;&#x2F;dt&gt;&lt;dd&gt;Set of style properties applied to the &#x60;items&#x60; of the &#x60;ChartLegend&#x60;.
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;hSpacing&lt;&#x2F;dt&gt;&lt;dd&gt;Horizontal distance, in pixels, between legend &#x60;items&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;vSpacing&lt;&#x2F;dt&gt;&lt;dd&gt;Vertical distance, in pixels, between legend &#x60;items&#x60;.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;label&lt;&#x2F;dt&gt;&lt;dd&gt;Properties for the text of an &#x60;item&#x60;.
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the text. The default values is &quot;#808080&quot;.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;fontSize&lt;&#x2F;dt&gt;&lt;dd&gt;Font size for the text. The default value is &quot;85%&quot;.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;marker&lt;&#x2F;dt&gt;&lt;dd&gt;Properties for the &#x60;item&#x60; markers.
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;width&lt;&#x2F;dt&gt;&lt;dd&gt;Specifies the width of the markers.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;height&lt;&#x2F;dt&gt;&lt;dd&gt;Specifies the height of the markers.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;background&lt;&#x2F;dt&gt;&lt;dd&gt;Properties for the &#x60;ChartLegend&#x60; background.
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;Properties for the background fill.
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color for the fill. The default value is &quot;#faf9f2&quot;.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;Properties for the background border.
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color for the border. The default value is &quot;#dad8c9&quot;.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Weight of the border. The default values is 1.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         * &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CircleGroup.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CircleGroup.js.html
          new file mode 100644
          index 000000000..dfd31bdee
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CircleGroup.js.html
          @@ -0,0 +1,335 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CircleGroup.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CircleGroup.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Abstract class for creating groups of circles with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupCircle
          + * @constructor
          + *&#x2F;
          + CircleGroup = function(cfg)
          + {
          +    CircleGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + CircleGroup.NAME = &quot;circleGroup&quot;;
          +
          + Y.extend(CircleGroup, Y.ShapeGroup, {    
          +    &#x2F;**
          +     * Algorithm for drawing shape.
          +     *
          +     * @method drawShape
          +     * @param {Object} cfg Parameters used to draw the shape.
          +     *&#x2F;
          +    drawShape: function(cfg)
          +    {
          +        this.drawCircle(cfg.x, cfg.y, cfg.radius);
          +    }
          + });
          +
          +CircleGroup.ATTRS = Y.merge(Y.ShapeGroup.ATTRS, {
          +    dimensions: {
          +        getter: function()
          +        {
          +            var dimensions = this._dimensions,
          +                radius,
          +                yRadius,
          +                width,
          +                height;
          +            if(dimensions.hasOwnProperty(&quot;radius&quot;))
          +            {
          +                return dimensions;
          +            }
          +            else
          +            {
          +                width = dimensions.width;
          +                height = dimensions.height;
          +                radius = Y_Lang.isArray(width) ? this._getRadiusCollection(width) : (width * 0.5);
          +                yRadius = radius;
          +                return {
          +                    width: width,
          +                    height: height,
          +                    radius: radius,
          +                    yRadius: yRadius
          +                };
          +            }
          +        }
          +    }
          +});
          +    
          +CircleGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.CircleGroup = CircleGroup;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ColumnSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ColumnSeries.js.html
          new file mode 100644
          index 000000000..ee3af8893
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ColumnSeries.js.html
          @@ -0,0 +1,425 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ColumnSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ColumnSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The ColumnSeries class renders columns positioned horizontally along a category or time axis. The columns&#x27;
          + * lengths are proportional to the values they represent along a vertical axis.
          + * and the relevant data points.
          + *
          + * @module charts
          + * @class ColumnSeries
          + * @extends MarkerSeries
          + * @uses Histogram
          + * @constructor
          + *&#x2F;
          +Y.ColumnSeries = Y.Base.create(&quot;columnSeries&quot;, Y.MarkerSeries, [Y.Histogram], {
          +    &#x2F;**
          +     * Helper method for calculating the size of markers. 
          +     *
          +     * @method _getMarkerDimensions
          +     * @param {Number} xcoord The x-coordinate representing the data point for the marker.
          +     * @param {Number} ycoord The y-coordinate representing the data point for the marker.
          +     * @param {Number} calculatedSize The calculated size for the marker. For a &#x60;BarSeries&#x60; is it the width. For a &#x60;ColumnSeries&#x60; it is the height.
          +     * @param {Number} offset Distance of position offset dictated by other marker series in the same graph.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getMarkerDimensions: function(xcoord, ycoord, calculatedSize, offset)
          +    {
          +        var config = {
          +            left: xcoord + offset
          +        };
          +        if(this._bottomOrigin &gt;= ycoord)
          +        {
          +            config.top = ycoord;
          +            config.calculatedSize = this._bottomOrigin - config.top;
          +        }
          +        else
          +        {
          +            config.top = this._bottomOrigin;
          +            config.calculatedSize = ycoord - this._bottomOrigin;
          +        }
          +        return config;
          +    },
          +
          +    &#x2F;**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers &amp;&amp; this._markers[i])
          +        {
          +            var styles = Y.clone(this.get(&quot;styles&quot;).marker),
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get(&quot;xcoords&quot;),
          +                ycoords = this.get(&quot;ycoords&quot;),
          +                marker = this._markers[i],
          +                markers,
          +                graph = this.get(&quot;graph&quot;),
          +                seriesStyles,
          +                seriesCollection = graph.seriesTypes[this.get(&quot;type&quot;)],
          +                seriesLen = seriesCollection.length,
          +                seriesSize = 0,
          +                offset = 0,
          +                renderer,
          +                n = 0,
          +                xs = [],
          +                order = this.get(&quot;order&quot;),
          +                config;
          +            markerStyles = state == &quot;off&quot; || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]); 
          +            markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], styles.width, offset);
          +            markerStyles.height = config.calculatedSize;
          +            markerStyles.width = Math.min(this._maxSize, markerStyles.width);
          +            marker.set(markerStyles);
          +            for(; n &lt; seriesLen; ++n)
          +            {
          +                xs[n] = xcoords[i] + seriesSize;
          +                seriesStyles = seriesCollection[n].get(&quot;styles&quot;).marker;
          +                seriesSize += Math.min(this._maxSize, seriesStyles.width);
          +                if(order &gt; n)
          +                {
          +                    offset = seriesSize;
          +                }
          +                offset -= seriesSize&#x2F;2;
          +            }
          +            for(n = 0; n &lt; seriesLen; ++n)
          +            {
          +                markers = seriesCollection[n].get(&quot;markers&quot;);
          +                if(markers)
          +                {
          +                    renderer = markers[i];
          +                    if(renderer &amp;&amp; renderer !== undefined)
          +                    {
          +                        renderer.set(&quot;x&quot;, (xs[n] - seriesSize&#x2F;2));
          +                    }
          +                }
          +            }
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @readOnly
          +         * @default column
          +         *&#x2F;
          +        type: {
          +            value: &quot;column&quot;
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;MarkerSeries&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;width&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 12.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSeries.js.html
          new file mode 100644
          index 000000000..91f23d313
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSeries.js.html
          @@ -0,0 +1,543 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ComboSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ComboSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The ComboSeries class renders a combination of lines, plots and area fills in a single series. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, lines and plots 
          + * are rendered and area is not. 
          + *
          + * @module charts
          + * @class ComboSeries
          + * @extends CartesianSeries 
          + * @uses Fills
          + * @uses Lines
          + * @uses Plots
          + * @constructor
          + *&#x2F;
          +Y.ComboSeries = Y.Base.create(&quot;comboSeries&quot;, Y.CartesianSeries, [Y.Fills, Y.Lines, Y.Plots], {
          +	&#x2F;**
          +     * @protected
          +     * 
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        if(this.get(&quot;showAreaFill&quot;))
          +        {
          +            this.drawFill.apply(this, this._getClosingPoints());
          +        }
          +        if(this.get(&quot;showLines&quot;)) 
          +        {
          +            this.drawLines();
          +        }
          +        if(this.get(&quot;showMarkers&quot;))
          +        {
          +            this.drawPlots();
          +        }   
          +    },
          +    
          +    &#x2F;**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     *&#x2F;
          +    _toggleVisible: function(visible)
          +    {
          +        var markers,
          +            marker,
          +            len,
          +            i;
          +        if(this.get(&quot;showAreaFill&quot;) &amp;&amp; this._path)
          +        {
          +            this._path.set(&quot;visible&quot;, visible);
          +        }
          +        if(this.get(&quot;showLines&quot;) &amp;&amp; this._lineGraphic)
          +        {
          +            this._lineGraphic.set(&quot;visible&quot;, visible);
          +        }
          +        if(this.get(&quot;showMarkers&quot;))
          +        {
          +            markers = this.get(&quot;markers&quot;);
          +            if(markers)
          +            {
          +                i = 0;
          +                len = markers.length;
          +                for(; i &lt; len; ++i)
          +                {
          +                    marker = markers[i];
          +                    if(marker)
          +                    {
          +                        marker.set(&quot;visible&quot;, visible);
          +                    }
          +                }
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Returns the default hash for the &#x60;styles&#x60; attribute.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var styles = Y.ComboSeries.superclass._getDefaultStyles();
          +        styles.line = this._getLineDefaults();
          +        styles.marker = this._getPlotDefaults();
          +        styles.area = this._getAreaDefaults();
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default combo
          +         *&#x2F;
          +        type: {
          +            value:&quot;combo&quot;
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default false
          +         *&#x2F;
          +        showAreaFill: {
          +            value: false
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether lines are displayed.
          +         *
          +         * @attribute showLines
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        showLines: {
          +            value: true
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether markers are displayed.
          +         *
          +         * @attribute showMarkers
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        showMarkers: {
          +            value: true
          +        },
          +
          +        &#x2F;**
          +         * Reference to the styles of the markers. These styles can also
          +         * be accessed through the &#x60;styles&#x60; attribute. Below are default
          +         * values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#6084d0&quot;, &quot;#eeb647&quot;, &quot;#6c6b5f&quot;, &quot;#d6484f&quot;, &quot;#ce9ed1&quot;, &quot;#ff9f3b&quot;, &quot;#93b7ff&quot;, &quot;#e0ddd0&quot;, &quot;#94ecba&quot;, &quot;#309687&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;width&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;height&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the height of the marker The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute marker
          +         * @type Object
          +         *&#x2F;
          +        marker: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get(&quot;styles&quot;).marker;
          +            },
          +            setter: function(val)
          +            {
          +                this.set(&quot;styles&quot;, {marker:val});
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the styles of the lines. These styles can also be accessed through the &#x60;styles&#x60; attribute.
          +         * Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      &#x60;[&quot;#426ab3&quot;, &quot;#d09b2c&quot;, &quot;#000000&quot;, &quot;#b82837&quot;, &quot;#b384b5&quot;, &quot;#ff7200&quot;, &quot;#779de3&quot;, &quot;#cbc8ba&quot;, &quot;#7ed7a6&quot;, &quot;#007a6c&quot;]&#x60;
          +         *      &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number that indicates the width of the line. The default value is 6.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the line. The default value is 1.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;lineType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;dashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;gapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;connectDiscontinuousPoints&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;discontinuousType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousDashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousGapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute line
          +         * @type Object
          +         *&#x2F;
          +        line: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get(&quot;styles&quot;).line;
          +            },
          +            setter: function(val)
          +            {
          +                this.set(&quot;styles&quot;, {line:val});
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the styles of the area fills. These styles can also be accessed through the &#x60;styles&#x60; attribute.
          +         * Below are the default values:
          +         *
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the fill. The default value is determined by the order of the series on the graph. The color will be 
          +         *      retrieved from the following array:
          +         *      &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the fill. The default value is 1&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute area
          +         * @type Object
          +         *&#x2F;
          +        area: {
          +            lazyAdd: false,
          +            getter: function()
          +            {
          +                return this.get(&quot;styles&quot;).area;
          +            },
          +            setter: function(val)
          +            {
          +                this.set(&quot;styles&quot;, {area:val});
          +            }
          +        }
          +
          +        &#x2F;**
          +         * Style properties for the series. Contains a key indexed hash of the following:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;marker&lt;&#x2F;dt&gt;&lt;dd&gt;Style properties for the markers in the series. Specific style attributes are listed
          +         *      &lt;a href=&quot;#attr_marker&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;line&lt;&#x2F;dt&gt;&lt;dd&gt;Style properties for the lines in the series. Specific
          +         *      style attributes are listed &lt;a href=&quot;#attr_line&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;area&lt;&#x2F;dt&gt;&lt;dd&gt;Style properties for the area fills in the series. Specific style attributes are listed
          +         *      &lt;a href=&quot;#attr_area&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSplineSeries.js.html
          new file mode 100644
          index 000000000..96d445faf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ComboSplineSeries.js.html
          @@ -0,0 +1,324 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ComboSplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ComboSplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The ComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, splines and plots 
          + * are rendered and areaspline is not. 
          + *
          + * @module charts
          + * @class ComboSplineSeries
          + * @extends ComboSeries
          + * @extends CurveUtil
          + * @constructor
          + *&#x2F;
          +Y.ComboSplineSeries = Y.Base.create(&quot;comboSplineSeries&quot;, Y.ComboSeries, [Y.CurveUtil], {
          +    &#x2F;**
          +     * @protected
          +     * 
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        if(this.get(&quot;showAreaFill&quot;))
          +        {
          +            this.drawAreaSpline();
          +        }
          +        if(this.get(&quot;showLines&quot;)) 
          +        {
          +            this.drawSpline();
          +        }
          +        if(this.get(&quot;showMarkers&quot;))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default comboSpline
          +         *&#x2F;
          +        type: {
          +            value : &quot;comboSpline&quot;
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CurveUtil.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CurveUtil.js.html
          new file mode 100644
          index 000000000..8112b9cfa
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_CurveUtil.js.html
          @@ -0,0 +1,395 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;CurveUtil.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;CurveUtil.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Utility class used for calculating curve points.
          + *
          + * @module charts
          + * @class CurveUtil
          + * @constructor
          + *&#x2F;
          +function CurveUtil()
          +{
          +}
          +
          +CurveUtil.prototype = {
          +    &#x2F;**
          +     * Creates an array of start, end and control points for splines.
          +     *
          +     * @method getCurveControlPoints
          +     * @param {Array} xcoords Collection of x-coordinates used for calculate the curves
          +     * @param {Array} ycoords Collection of y-coordinates used for calculate the curves
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    getCurveControlPoints: function(xcoords, ycoords) 
          +    {
          +		var outpoints = [],
          +            i = 1,
          +            l = xcoords.length - 1,
          +		    xvals = [],
          +		    yvals = [];
          +		
          +		
          +		&#x2F;&#x2F; Too few points, need at least two
          +		if (l &lt; 1) 
          +        {
          +			return null;
          +		} 
          +        
          +        outpoints[0] = {
          +            startx: xcoords[0], 
          +            starty: ycoords[0],
          +            endx: xcoords[1],
          +            endy: ycoords[1]
          +        };
          +        
          +		&#x2F;&#x2F; Special case, the Bezier should be a straight line
          +        if (l === 1) 
          +        {
          +			outpoints[0].ctrlx1 = (2.0*xcoords[0] + xcoords[1])&#x2F;3.0;  
          +			outpoints[0].ctrly2 = (2.0*ycoords[0] + ycoords[1])&#x2F;3.0;
          +			outpoints[0].ctrlx2 = 2.0*outpoints[0].ctrlx1 - xcoords[0];
          +            outpoints[0].ctrly2 = 2.0*outpoints[0].ctrly1 - ycoords[0];
          +            return outpoints;
          +		}
          +
          +		for (; i &lt; l; ++i) 
          +        {
          +			outpoints.push({startx: Math.round(xcoords[i]), starty: Math.round(ycoords[i]), endx: Math.round(xcoords[i+1]), endy: Math.round(ycoords[i+1])});
          +			xvals[i] = 4.0 * xcoords[i] + 2*xcoords[i+1];
          +			yvals[i] = 4.0*ycoords[i] + 2*ycoords[i+1];
          +		}
          +		
          +		xvals[0] = xcoords[0] + (2.0 * xcoords[1]);
          +		xvals[l-1] = (8.0 * xcoords[l-1] + xcoords[l]) &#x2F; 2.0;
          +		xvals = this.getControlPoints(xvals.concat());
          +        yvals[0] = ycoords[0] + (2.0 * ycoords[1]);
          +		yvals[l-1] = (8.0 * ycoords[l-1] + ycoords[l]) &#x2F; 2.0;	
          +		yvals = this.getControlPoints(yvals.concat());
          +		
          +        for (i = 0; i &lt; l; ++i) 
          +        {
          +			outpoints[i].ctrlx1 = Math.round(xvals[i]);
          +            outpoints[i].ctrly1 = Math.round(yvals[i]);
          +			
          +			if (i &lt; l-1) 
          +            {
          +				outpoints[i].ctrlx2 = Math.round(2*xcoords[i+1] - xvals[i+1]);
          +                outpoints[i].ctrly2 = Math.round(2*ycoords[i+1] - yvals[i+1]);
          +			}
          +			else 
          +            {
          +				outpoints[i].ctrlx2 = Math.round((xcoords[l] + xvals[l-1])&#x2F;2);
          +                outpoints[i].ctrly2 = Math.round((ycoords[l] + yvals[l-1])&#x2F;2);
          +			}
          +		}
          +		
          +		return outpoints;	
          +	},
          +
          +    &#x2F;**
          +     * Gets the control points for the curve.
          +     *
          +     * @method getControlPoints
          +     * @param {Array} vals Collection of values coords used to generate control points.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +	getControlPoints: function(vals) 
          +    {
          +		var l = vals.length,
          +            x = [],
          +            tmp = [],
          +            b = 2.0,
          +            i = 1;
          +		x[0] = vals[0] &#x2F; b;
          +		for (; i &lt; l; ++i) 
          +        {
          +			tmp[i] = 1&#x2F;b;
          +			b = (i &lt; l-1 ? 4.0 : 3.5) - tmp[i];
          +			x[i] = (vals[i] - x[i-1]) &#x2F; b;
          +		}
          +		
          +		for (i = 1; i &lt; l; ++i) 
          +        {
          +			x[l-i-1] -= tmp[l-i] * x[l-i];
          +		}
          +		
          +		return x;
          +	}
          +};
          +Y.CurveUtil = CurveUtil;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_DiamondGroup.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_DiamondGroup.js.html
          new file mode 100644
          index 000000000..9ea270fae
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_DiamondGroup.js.html
          @@ -0,0 +1,305 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;DiamondGroup.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;DiamondGroup.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Abstract class for creating groups of diamonds with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupDiamond
          + * @constructor
          + *&#x2F;
          + DiamondGroup = function(cfg)
          + {
          +    DiamondGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + DiamondGroup.NAME = &quot;diamondGroup&quot;;
          +
          + Y.extend(DiamondGroup, Y.ShapeGroup, {    
          +    &#x2F;**
          +     * Updates the diamond.
          +     *
          +     * @method _draw
          +     * @private
          +     *&#x2F;
          +    drawShape: function(cfg)
          +    {
          +        this.drawDiamond(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +DiamondGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.DiamondGroup = DiamondGroup;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_EllipseGroup.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_EllipseGroup.js.html
          new file mode 100644
          index 000000000..59ef4956d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_EllipseGroup.js.html
          @@ -0,0 +1,305 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;EllipseGroup.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;EllipseGroup.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Abstract class for creating groups of diamonds with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class EllipseGroup
          + * @constructor
          + *&#x2F;
          + EllipseGroup = function(cfg)
          + {
          +    EllipseGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + EllipseGroup.NAME = &quot;diamondGroup&quot;;
          +
          + Y.extend(EllipseGroup, Y.ShapeGroup, {    
          +    &#x2F;**
          +     * Updates the diamond.
          +     *
          +     * @method _draw
          +     * @private
          +     *&#x2F;
          +    drawShape: function(cfg)
          +    {
          +        this.drawEllipse(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +EllipseGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.EllipseGroup = EllipseGroup;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Fills.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Fills.js.html
          new file mode 100644
          index 000000000..af859792f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Fills.js.html
          @@ -0,0 +1,639 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Fills.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Fills.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Utility class used for drawing area fills.
          + *
          + * @module charts
          + * @class Fills
          + * @constructor
          + *&#x2F;
          +function Fills(cfg)
          +{
          +    var attrs = {
          +        area: {
          +            getter: function()
          +            {
          +                return this._defaults || this._getAreaDefaults();
          +            },
          +
          +            setter: function(val)
          +            {
          +                var defaults = this._defaults || this._getAreaDefaults();
          +                this._defaults = Y.merge(defaults, val);
          +            }
          +        }
          +    };
          +    this.addAttrs(attrs, cfg);
          +    this.get(&quot;styles&quot;);
          +}
          +
          +Fills.prototype = {
          +    &#x2F;**
          +     * Returns a path shape used for drawing fills.
          +     *
          +     * @method _getPath
          +     * @return Path
          +     * @private
          +     *&#x2F;
          +    _getPath: function()
          +    {
          +        var path = this._path;
          +        if(!path)
          +        {
          +            path = this.get(&quot;graph&quot;).get(&quot;graphic&quot;).addShape({type:&quot;path&quot;});
          +            this._path = path;
          +        }
          +        return path;
          +    },
          +    
          +    &#x2F;**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     *&#x2F;
          +    _toggleVisible: function(visible)
          +    {   
          +        if(this._path)
          +        {
          +            this._path.set(&quot;visible&quot;, visible);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws fill
          +     *
          +     * @method drawFill
          +     * @param {Array} xcoords The x-coordinates for the series.
          +     * @param {Array} ycoords The y-coordinates for the series.
          +     * @protected
          +     *&#x2F;
          +    drawFill: function(xcoords, ycoords)
          +    {
          +        if(xcoords.length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var len = xcoords.length,
          +            firstX = xcoords[0],
          +            firstY = ycoords[0],
          +            lastValidX = firstX,
          +            lastValidY = firstY,
          +            nextX,
          +            nextY,
          +            i = 1,
          +            styles = this.get(&quot;styles&quot;).area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;slice&quot;);
          +        path.clear();
          +        path.set(&quot;fill&quot;, {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set(&quot;stroke&quot;, {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i &lt; len; i = ++i)
          +        {
          +            nextX = xcoords[i];
          +            nextY = ycoords[i];
          +            if(isNaN(nextY))
          +            {
          +                lastValidX = nextX;
          +                lastValidY = nextY;
          +                continue;
          +            }
          +            path.lineTo(nextX, nextY);
          +            lastValidX = nextX;
          +            lastValidY = nextY;
          +        }
          +        path.end();
          +    },
          +	
          +    &#x2F;**
          +     * Draws a fill for a spline
          +     *
          +     * @method drawAreaSpline
          +     * @protected
          +     *&#x2F;
          +    drawAreaSpline: function()
          +    {
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            curvecoords = this.getCurveControlPoints(xcoords, ycoords),
          +            len = curvecoords.length,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            firstX = xcoords[0],
          +            firstY = ycoords[0],
          +            styles = this.get(&quot;styles&quot;).area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;slice&quot;);
          +        path.set(&quot;fill&quot;, {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set(&quot;stroke&quot;, {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i &lt; len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        if(this.get(&quot;direction&quot;) === &quot;vertical&quot;)
          +        {
          +            path.lineTo(this._leftOrigin, y);
          +            path.lineTo(this._leftOrigin, firstY);
          +        }
          +        else
          +        {
          +            path.lineTo(x, this._bottomOrigin);
          +            path.lineTo(firstX, this._bottomOrigin);
          +        }
          +        path.lineTo(firstX, firstY);
          +        path.end();
          +    },
          +    
          +    &#x2F;**
          +     * Draws a a stacked area spline
          +     *
          +     * @method drawStackedAreaSpline
          +     * @protected
          +     *&#x2F;
          +    drawStackedAreaSpline: function()
          +    {
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            curvecoords,
          +            order = this.get(&quot;order&quot;),
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            seriesCollection = graph.seriesTypes[type],
          +            prevXCoords,
          +            prevYCoords,
          +            len,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            firstX,
          +            firstY,
          +            styles = this.get(&quot;styles&quot;).area,
          +            path = this._getPath(),
          +            color = styles.color || this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;slice&quot;);
          +        firstX = xcoords[0];
          +        firstY = ycoords[0];
          +        curvecoords = this.getCurveControlPoints(xcoords, ycoords);
          +        len = curvecoords.length;
          +        path.set(&quot;fill&quot;, {
          +            color: color, 
          +            opacity: styles.alpha
          +        });
          +        path.set(&quot;stroke&quot;, {weight: 0});
          +        path.moveTo(firstX, firstY);
          +        for(; i &lt; len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        if(order &gt; 0)
          +        {
          +            prevXCoords = seriesCollection[order - 1].get(&quot;xcoords&quot;).concat().reverse();
          +            prevYCoords = seriesCollection[order - 1].get(&quot;ycoords&quot;).concat().reverse();
          +            curvecoords = this.getCurveControlPoints(prevXCoords, prevYCoords);
          +            i = 0;
          +            len = curvecoords.length;
          +            path.lineTo(prevXCoords[0], prevYCoords[0]);
          +            for(; i &lt; len; i = ++i)
          +            {
          +                x = curvecoords[i].endx;
          +                y = curvecoords[i].endy;
          +                cx1 = curvecoords[i].ctrlx1;
          +                cx2 = curvecoords[i].ctrlx2;
          +                cy1 = curvecoords[i].ctrly1;
          +                cy2 = curvecoords[i].ctrly2;
          +                path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +            }
          +        }
          +        else
          +        {
          +            if(this.get(&quot;direction&quot;) === &quot;vertical&quot;)
          +            {
          +                path.lineTo(this._leftOrigin, ycoords[ycoords.length-1]);
          +                path.lineTo(this._leftOrigin, firstY);
          +            }
          +            else
          +            {
          +                path.lineTo(xcoords[xcoords.length-1], this._bottomOrigin);
          +                path.lineTo(firstX, this._bottomOrigin);
          +            }
          +
          +        }
          +        path.lineTo(firstX, firstY);
          +        path.end();
          +    },
          +    
          +    &#x2F;**
          +     * Storage for default area styles.
          +     *
          +     * @property _defaults
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _defaults: null,
          +
          +    &#x2F;**
          +     * Concatenates coordinate array with correct coordinates for closing an area fill.
          +     *
          +     * @method _getClosingPoints
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getClosingPoints: function()
          +    {
          +        var xcoords = this.get(&quot;xcoords&quot;).concat(),
          +            ycoords = this.get(&quot;ycoords&quot;).concat();
          +        if(this.get(&quot;direction&quot;) === &quot;vertical&quot;)
          +        {
          +            xcoords.push(this._leftOrigin);
          +            xcoords.push(this._leftOrigin);
          +            ycoords.push(ycoords[ycoords.length - 1]);
          +            ycoords.push(ycoords[0]);
          +        }
          +        else
          +        {
          +            xcoords.push(xcoords[xcoords.length - 1]);
          +            xcoords.push(xcoords[0]);
          +            ycoords.push(this._bottomOrigin);
          +            ycoords.push(this._bottomOrigin);
          +        }
          +        xcoords.push(xcoords[0]);
          +        ycoords.push(ycoords[0]);
          +        return [xcoords, ycoords];
          +    },
          +
          +    &#x2F;**
          +     * Concatenates coordinate array with the correct coordinates for closing an area stack.
          +     *
          +     * @method _getStackedClosingPoints
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getStackedClosingPoints: function()
          +    {
          +        var order = this.get(&quot;order&quot;),
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            direction = this.get(&quot;direction&quot;),
          +            seriesCollection = graph.seriesTypes[type],
          +            prevXCoords,
          +            prevYCoords,
          +            allXCoords = this.get(&quot;xcoords&quot;).concat(),
          +            allYCoords = this.get(&quot;ycoords&quot;).concat(),
          +            firstX = allXCoords[0],
          +            firstY = allYCoords[0];
          +        
          +        if(order &gt; 0)
          +        {
          +            prevXCoords = seriesCollection[order - 1].get(&quot;xcoords&quot;).concat();
          +            prevYCoords = seriesCollection[order - 1].get(&quot;ycoords&quot;).concat();
          +            allXCoords = allXCoords.concat(prevXCoords.concat().reverse());
          +            allYCoords = allYCoords.concat(prevYCoords.concat().reverse());
          +            allXCoords.push(allXCoords[0]);
          +            allYCoords.push(allYCoords[0]);
          +        }
          +        else
          +        {
          +            if(direction === &quot;vertical&quot;)
          +            {
          +                allXCoords.push(this._leftOrigin);
          +                allXCoords.push(this._leftOrigin);
          +                allYCoords.push(allYCoords[allYCoords.length-1]);
          +                allYCoords.push(firstY);
          +            }
          +            else
          +            {
          +                allXCoords.push(allXCoords[allXCoords.length-1]);
          +                allXCoords.push(firstX);
          +                allYCoords.push(this._bottomOrigin);
          +                allYCoords.push(this._bottomOrigin);
          +            }
          +        }
          +        return [allXCoords, allYCoords];
          +    },
          +
          +    &#x2F;**
          +     * Returns default values for area styles.
          +     *
          +     * @method _getAreaDefaults
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getAreaDefaults: function()
          +    {
          +        return {
          +        };
          +    }
          +};
          +Y.augment(Fills, Y.Attribute);
          +Y.Fills = Fills;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Graph.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Graph.js.html
          new file mode 100644
          index 000000000..f89ce6007
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Graph.js.html
          @@ -0,0 +1,1068 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Graph.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Graph.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Graph manages and contains series instances for a &#x60;CartesianChart&#x60;
          + * instance.
          + *
          + * @module charts
          + * @class Graph
          + * @constructor
          + * @extends Widget
          + * @uses Renderer
          + *&#x2F;
          +Y.Graph = Y.Base.create(&quot;graph&quot;, Y.Widget, [Y.Renderer], {
          +    &#x2F;**
          +     * @method bindUI
          +     * @private
          +     *&#x2F;
          +    bindUI: function()
          +    {
          +        var bb = this.get(&quot;boundingBox&quot;);
          +        bb.setStyle(&quot;position&quot;, &quot;absolute&quot;);
          +        this.after(&quot;widthChange&quot;, this._sizeChangeHandler);
          +        this.after(&quot;heightChange&quot;, this._sizeChangeHandler);
          +        this.after(&quot;stylesChange&quot;, this._updateStyles);
          +    },
          +
          +    &#x2F;**
          +     * @method syncUI
          +     * @private
          +     *&#x2F;
          +    syncUI: function()
          +    {
          +        var background,
          +            cb,
          +            bg,
          +            sc = this.get(&quot;seriesCollection&quot;),
          +            series,
          +            i = 0,
          +            len = sc.length,
          +            hgl = this.get(&quot;horizontalGridlines&quot;),
          +            vgl = this.get(&quot;verticalGridlines&quot;);
          +        if(this.get(&quot;showBackground&quot;))
          +        {
          +            background = this.get(&quot;background&quot;);
          +            cb = this.get(&quot;contentBox&quot;);
          +            bg = this.get(&quot;styles&quot;).background;
          +            bg.stroke = bg.border;
          +            bg.stroke.opacity = bg.stroke.alpha;
          +            bg.fill.opacity = bg.fill.alpha;
          +            bg.width = this.get(&quot;width&quot;);
          +            bg.height = this.get(&quot;height&quot;);
          +            bg.type = bg.shape;
          +            background.set(bg);
          +        }
          +        for(; i &lt; len; ++i)
          +        {
          +            series = sc[i];
          +            if(series instanceof Y.CartesianSeries)
          +            {
          +                series.render();
          +            }
          +        }
          +        if(hgl &amp;&amp; hgl instanceof Y.Gridlines)
          +        {
          +            hgl.draw();
          +        }
          +        if(vgl &amp;&amp; vgl instanceof Y.Gridlines)
          +        {
          +            vgl.draw();
          +        }
          +    },
          +   
          +    &#x2F;**
          +     * Object of arrays containing series mapped to a series type.
          +     *
          +     * @property seriesTypes
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    seriesTypes: null,
          +
          +    &#x2F;**
          +     * Returns a series instance based on an index.
          +     * 
          +     * @method getSeriesByIndex
          +     * @param {Number} val index of the series
          +     * @return CartesianSeries
          +     *&#x2F;
          +    getSeriesByIndex: function(val)
          +    {
          +        var col = this.get(&quot;seriesCollection&quot;),
          +            series;
          +        if(col &amp;&amp; col.length &gt; val)
          +        {
          +            series = col[val];
          +        }
          +        return series;
          +    },
          +
          +    &#x2F;**
          +     * Returns a series instance based on a key value.
          +     * 
          +     * @method getSeriesByKey
          +     * @param {String} val key value of the series
          +     * @return CartesianSeries
          +     *&#x2F;
          +    getSeriesByKey: function(val)
          +    {
          +        var obj = this._seriesDictionary,
          +            series;
          +        if(obj &amp;&amp; obj.hasOwnProperty(val))
          +        {
          +            series = obj[val];
          +        }
          +        return series;
          +    },
          +
          +    &#x2F;**
          +     * Adds dispatcher to a &#x60;_dispatcher&#x60; used to
          +     * to ensure all series have redrawn before for firing event.
          +     *
          +     * @method addDispatcher
          +     * @param {CartesianSeries} val series instance to add
          +     * @protected
          +     *&#x2F;
          +    addDispatcher: function(val)
          +    {
          +        if(!this._dispatchers)
          +        {
          +            this._dispatchers = [];
          +        }
          +        this._dispatchers.push(val);
          +    },
          +
          +    &#x2F;**
          +     * Collection of series to be displayed in the graph.
          +     *
          +     * @property _seriesCollection
          +     * @type Array
          +     * @private 
          +     *&#x2F;
          +    _seriesCollection: null,
          +    
          +    &#x2F;**
          +     * Object containing key value pairs of &#x60;CartesianSeries&#x60; instances.
          +     *
          +     * @property _seriesDictionary
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _seriesDictionary: null,
          +
          +    &#x2F;**
          +     * Parses series instances to be displayed in the graph.
          +     *
          +     * @method _parseSeriesCollection
          +     * @param {Array} Collection of &#x60;CartesianSeries&#x60; instances or objects container &#x60;CartesianSeries&#x60; attributes values.
          +     * @private
          +     *&#x2F;
          +    _parseSeriesCollection: function(val)
          +    {
          +        if(!val)
          +        {
          +            return;
          +        }	
          +        var len = val.length,
          +            i = 0,
          +            series,
          +            seriesKey;
          +        if(!this.get(&quot;seriesCollection&quot;))
          +        {
          +            this._seriesCollection = [];
          +        }
          +        if(!this._seriesDictionary)
          +        {
          +            this._seriesDictionary = {};
          +        }
          +        if(!this.seriesTypes)
          +        {
          +            this.seriesTypes = [];
          +        }
          +        for(; i &lt; len; ++i)
          +        {	
          +            series = val[i];
          +            if(!(series instanceof Y.CartesianSeries) &amp;&amp; !(series instanceof Y.PieSeries))
          +            {
          +                this._createSeries(series);
          +                continue;
          +            }
          +            this._addSeries(series);
          +        }
          +        len = this.get(&quot;seriesCollection&quot;).length;
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            series = this.get(&quot;seriesCollection&quot;)[i];
          +            seriesKey = series.get(&quot;direction&quot;) == &quot;horizontal&quot; ? &quot;yKey&quot; : &quot;xKey&quot;;
          +            this._seriesDictionary[series.get(seriesKey)] = series;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Adds a series to the graph.
          +     *
          +     * @method _addSeries
          +     * @param {CartesianSeries} series Series to add to the graph.
          +     * @private
          +     *&#x2F;
          +    _addSeries: function(series)
          +    {
          +        var type = series.get(&quot;type&quot;),
          +            seriesCollection = this.get(&quot;seriesCollection&quot;),
          +            graphSeriesLength = seriesCollection.length,
          +            seriesTypes = this.seriesTypes,
          +            typeSeriesCollection;	
          +        if(!series.get(&quot;graph&quot;)) 
          +        {
          +            series.set(&quot;graph&quot;, this);
          +        }
          +        seriesCollection.push(series);
          +        if(!seriesTypes.hasOwnProperty(type))
          +        {
          +            this.seriesTypes[type] = [];
          +        }
          +        typeSeriesCollection = this.seriesTypes[type];
          +        series.set(&quot;graphOrder&quot;, graphSeriesLength);
          +        series.set(&quot;order&quot;, typeSeriesCollection.length);
          +        typeSeriesCollection.push(series);
          +        this.addDispatcher(series);
          +        series.after(&quot;drawingComplete&quot;, Y.bind(this._drawingCompleteHandler, this));
          +        this.fire(&quot;seriesAdded&quot;, series);
          +    },
          +
          +    &#x2F;**
          +     * Creates a &#x60;CartesianSeries&#x60; instance from an object containing attribute key value pairs. The key value pairs include attributes for the specific series and a type value which defines the type of
          +     * series to be used. 
          +     *
          +     * @method createSeries
          +     * @param {Object} seriesData Series attribute key value pairs.
          +     * @private
          +     *&#x2F;
          +    _createSeries: function(seriesData)
          +    {
          +        var type = seriesData.type,
          +            seriesCollection = this.get(&quot;seriesCollection&quot;),
          +            seriesTypes = this.seriesTypes,
          +            typeSeriesCollection,
          +            seriesType,
          +            series;
          +            seriesData.graph = this;
          +        if(!seriesTypes.hasOwnProperty(type))
          +        {
          +            seriesTypes[type] = [];
          +        }
          +        typeSeriesCollection = seriesTypes[type];
          +        seriesData.graph = this;
          +        seriesData.order = typeSeriesCollection.length;
          +        seriesData.graphOrder = seriesCollection.length;
          +        seriesType = this._getSeries(seriesData.type);
          +        series = new seriesType(seriesData);
          +        this.addDispatcher(series);
          +        series.after(&quot;drawingComplete&quot;, Y.bind(this._drawingCompleteHandler, this));
          +        typeSeriesCollection.push(series);
          +        seriesCollection.push(series);
          +    },
          +    
          +    &#x2F;**
          +     * String reference for pre-defined &#x60;Series&#x60; classes.
          +     *
          +     * @property _seriesMap
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _seriesMap: {
          +        line : Y.LineSeries,
          +        column : Y.ColumnSeries,
          +        bar : Y.BarSeries,
          +        area :  Y.AreaSeries,
          +        candlestick : Y.CandlestickSeries,
          +        ohlc : Y.OHLCSeries,
          +        stackedarea : Y.StackedAreaSeries,
          +        stackedline : Y.StackedLineSeries,
          +        stackedcolumn : Y.StackedColumnSeries,
          +        stackedbar : Y.StackedBarSeries,
          +        markerseries : Y.MarkerSeries,
          +        spline : Y.SplineSeries,
          +        areaspline : Y.AreaSplineSeries,
          +        stackedspline : Y.StackedSplineSeries,
          +        stackedareaspline : Y.StackedAreaSplineSeries,
          +        stackedmarkerseries : Y.StackedMarkerSeries,
          +        pie : Y.PieSeries,
          +        combo : Y.ComboSeries,
          +        stackedcombo : Y.StackedComboSeries,
          +        combospline : Y.ComboSplineSeries,
          +        stackedcombospline : Y.StackedComboSplineSeries
          +    },
          +
          +    &#x2F;**
          +     * Returns a specific &#x60;CartesianSeries&#x60; class based on key value from a look up table of a direct reference to a class. When specifying a key value, the following options
          +     * are available:
          +     *
          +     *  &lt;table&gt;
          +     *      &lt;tr&gt;&lt;th&gt;Key Value&lt;&#x2F;th&gt;&lt;th&gt;Class&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;line&lt;&#x2F;td&gt;&lt;td&gt;Y.LineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;column&lt;&#x2F;td&gt;&lt;td&gt;Y.ColumnSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;bar&lt;&#x2F;td&gt;&lt;td&gt;Y.BarSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;area&lt;&#x2F;td&gt;&lt;td&gt;Y.AreaSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;stackedarea&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedAreaSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;stackedline&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedLineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;stackedcolumn&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedColumnSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;stackedbar&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedBarSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;markerseries&lt;&#x2F;td&gt;&lt;td&gt;Y.MarkerSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;spline&lt;&#x2F;td&gt;&lt;td&gt;Y.SplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;areaspline&lt;&#x2F;td&gt;&lt;td&gt;Y.AreaSplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;    
          +     *      &lt;tr&gt;&lt;td&gt;stackedspline&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedSplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;stackedareaspline&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedAreaSplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;stackedmarkerseries&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedMarkerSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;pie&lt;&#x2F;td&gt;&lt;td&gt;Y.PieSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;combo&lt;&#x2F;td&gt;&lt;td&gt;Y.ComboSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;stackedcombo&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedComboSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;combospline&lt;&#x2F;td&gt;&lt;td&gt;Y.ComboSplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *      &lt;tr&gt;&lt;td&gt;stackedcombospline&lt;&#x2F;td&gt;&lt;td&gt;Y.StackedComboSplineSeries&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
          +     *  &lt;&#x2F;table&gt;
          +     * 
          +     * When referencing a class directly, you can specify any of the above classes or any custom class that extends &#x60;CartesianSeries&#x60; or &#x60;PieSeries&#x60;.
          +     *
          +     * @method _getSeries
          +     * @param {String | Object} type Series type.
          +     * @return CartesianSeries
          +     * @private
          +     *&#x2F;
          +    _getSeries: function(type)
          +    {
          +        var seriesClass;
          +        if(Y_Lang.isString(type))
          +        {
          +            seriesClass = this._seriesMap[type];
          +        }
          +        else 
          +        {
          +            seriesClass = type;
          +        }
          +        return seriesClass;
          +    },
          +
          +    &#x2F;**
          +     * Event handler for marker events.
          +     *
          +     * @method _markerEventHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _markerEventHandler: function(e)
          +    {
          +        var type = e.type,
          +            markerNode = e.currentTarget,
          +            strArr = markerNode.getAttribute(&quot;id&quot;).split(&quot;_&quot;),
          +            series = this.getSeriesByIndex(strArr[1]),
          +            index = strArr[2];
          +        series.updateMarkerState(type, index);
          +    },
          +
          +    &#x2F;**
          +     * Collection of &#x60;CartesianSeries&#x60; instances to be redrawn.
          +     *
          +     * @property _dispatchers
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _dispatchers: null,
          +
          +    &#x2F;**
          +     * Updates the &#x60;Graph&#x60; styles.
          +     *
          +     * @method _updateStyles
          +     * @private
          +     *&#x2F;
          +    _updateStyles: function()
          +    {
          +        var styles = this.get(&quot;styles&quot;).background,
          +            border = styles.border;
          +            border.opacity = border.alpha;
          +            styles.stroke = border;
          +            styles.fill.opacity = styles.fill.alpha;
          +        this.get(&quot;background&quot;).set(styles);
          +        this._sizeChangeHandler();
          +    },
          +
          +    &#x2F;**
          +     * Event handler for size changes.
          +     *
          +     * @method _sizeChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _sizeChangeHandler: function(e)
          +    {
          +        var hgl = this.get(&quot;horizontalGridlines&quot;),
          +            vgl = this.get(&quot;verticalGridlines&quot;),
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            bg = this.get(&quot;styles&quot;).background,
          +            weight,
          +            background;
          +        if(bg &amp;&amp; bg.border)
          +        {
          +            weight = bg.border.weight || 0;
          +        }
          +        if(this.get(&quot;showBackground&quot;))
          +        {
          +            background = this.get(&quot;background&quot;);
          +            if(w &amp;&amp; h)
          +            {
          +                background.set(&quot;width&quot;, w);
          +                background.set(&quot;height&quot;, h);
          +            }
          +        }
          +        if(this._gridlines)
          +        {
          +            this._gridlines.clear();
          +        }
          +        if(hgl &amp;&amp; hgl instanceof Y.Gridlines)
          +        {
          +            hgl.draw();
          +        }
          +        if(vgl &amp;&amp; vgl instanceof Y.Gridlines)
          +        {
          +            vgl.draw();
          +        }
          +        this._drawSeries();
          +    },
          +
          +    &#x2F;**
          +     * Draws each series.
          +     *
          +     * @method _drawSeries
          +     * @private
          +     *&#x2F;
          +    _drawSeries: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        var sc,
          +            i,
          +            len,
          +            graphic = this.get(&quot;graphic&quot;);
          +        graphic.set(&quot;autoDraw&quot;, false);
          +        this._callLater = false;
          +        this._drawing = true;
          +        sc = this.get(&quot;seriesCollection&quot;);
          +        i = 0;
          +        len = sc.length;
          +        for(; i &lt; len; ++i)
          +        {
          +            sc[i].draw();
          +            if((!sc[i].get(&quot;xcoords&quot;) || !sc[i].get(&quot;ycoords&quot;)) &amp;&amp; !sc[i] instanceof Y.PieSeries)
          +            {
          +                this._callLater = true;
          +                break;
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._drawSeries();
          +        }
          +    },  
          +
          +    &#x2F;**
          +     * Event handler for series drawingComplete event.
          +     *
          +     * @method _drawingCompleteHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _drawingCompleteHandler: function(e)
          +    {
          +        var series = e.currentTarget,
          +            graphic,
          +            index = Y.Array.indexOf(this._dispatchers, series);
          +        if(index &gt; -1)
          +        {
          +            this._dispatchers.splice(index, 1);
          +        }
          +        if(this._dispatchers.length &lt; 1)
          +        {
          +            graphic = this.get(&quot;graphic&quot;);
          +            if(!graphic.get(&quot;autoDraw&quot;))
          +            {
          +                graphic._redraw();
          +            }
          +            this.fire(&quot;chartRendered&quot;);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var defs = {
          +            background: {
          +                shape: &quot;rect&quot;,
          +                fill:{
          +                    color:&quot;#faf9f2&quot;
          +                },
          +                border: {
          +                    color:&quot;#dad8c9&quot;,
          +                    weight: 1
          +                }
          +            }
          +        };
          +        return defs;
          +    },
          +
          +    &#x2F;**
          +     * Destructor implementation Graph class. Removes all Graphic instances from the widget.
          +     *
          +     * @method destructor
          +     * @protected
          +     *&#x2F;
          +    destructor: function()
          +    {
          +        if(this._graphic)
          +        {
          +            this._graphic.destroy();
          +        }
          +        if(this._background)
          +        {
          +            this._background.get(&quot;graphic&quot;).destroy();
          +        }
          +        if(this._gridlines)
          +        {
          +            this._gridlines.get(&quot;graphic&quot;).destroy();
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * The x-coordinate for the graph.
          +         *
          +         * @attribute x
          +         * @type Number
          +         * @protected
          +         *&#x2F;
          +        x: {
          +            setter: function(val)
          +            {
          +                this.get(&quot;boundingBox&quot;).setStyle(&quot;left&quot;, val + &quot;px&quot;);
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * The y-coordinate for the graph.
          +         *
          +         * @attribute y
          +         * @type Number
          +         * @protected
          +         *&#x2F;
          +        y: {
          +            setter: function(val)
          +            {
          +                this.get(&quot;boundingBox&quot;).setStyle(&quot;top&quot;, val + &quot;px&quot;);
          +                return val;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to the chart instance using the graph.
          +         *
          +         * @attribute chart
          +         * @type ChartBase
          +         * @readOnly
          +         *&#x2F;
          +        chart: {},
          +
          +        &#x2F;**
          +         * Collection of series. When setting the &#x60;seriesCollection&#x60; the array can contain a combination of either
          +         * &#x60;CartesianSeries&#x60; instances or object literals with properties that will define a series.
          +         *
          +         * @attribute seriesCollection
          +         * @type CartesianSeries
          +         *&#x2F;
          +        seriesCollection: {
          +            getter: function()
          +            {
          +                return this._seriesCollection;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._parseSeriesCollection(val);
          +                return this._seriesCollection;
          +            }
          +        },
          +       
          +        &#x2F;**
          +         * Indicates whether the &#x60;Graph&#x60; has a background.
          +         *
          +         * @attribute showBackground
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        showBackground: {
          +            value: true
          +        },
          +
          +        &#x2F;**
          +         * Read-only hash lookup for all series on in the &#x60;Graph&#x60;.
          +         *
          +         * @attribute seriesDictionary
          +         * @type Object
          +         * @readOnly
          +         *&#x2F;
          +        seriesDictionary: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                return this._seriesDictionary;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to the horizontal &#x60;Gridlines&#x60; instance.
          +         *
          +         * @attribute horizontalGridlines
          +         * @type Gridlines
          +         * @default null
          +         *&#x2F;
          +        horizontalGridlines: {
          +            value: null,
          +
          +            setter: function(val)
          +            {
          +                var gl = this.get(&quot;horizontalGridlines&quot;);
          +                if(gl &amp;&amp; gl instanceof Y.Gridlines)
          +                {
          +                    gl.remove();
          +                }
          +                if(val instanceof Y.Gridlines)
          +                {
          +                    gl = val;
          +                    val.set(&quot;graph&quot;, this);
          +                    return val;
          +                }
          +                else if(val &amp;&amp; val.axis)
          +                {
          +                    gl = new Y.Gridlines({direction:&quot;horizontal&quot;, axis:val.axis, graph:this, styles:val.styles});
          +                    return gl;
          +                }
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the vertical &#x60;Gridlines&#x60; instance.
          +         *
          +         * @attribute verticalGridlines
          +         * @type Gridlines
          +         * @default null
          +         *&#x2F;
          +        verticalGridlines: {
          +            value: null,
          +
          +            setter: function(val)
          +            {
          +                var gl = this.get(&quot;verticalGridlines&quot;);
          +                if(gl &amp;&amp; gl instanceof Y.Gridlines)
          +                {
          +                    gl.remove();
          +                }
          +                if(val instanceof Y.Gridlines)
          +                {
          +                    gl = val;
          +                    val.set(&quot;graph&quot;, this);
          +                    return val;
          +                }
          +                else if(val &amp;&amp; val.axis)
          +                {
          +                    gl = new Y.Gridlines({direction:&quot;vertical&quot;, axis:val.axis, graph:this, styles:val.styles});
          +                    return gl;
          +                }
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to graphic instance used for the background.
          +         *
          +         * @attribute background
          +         * @type Graphic
          +         * @readOnly
          +         *&#x2F;
          +        background: {
          +            getter: function()
          +            {
          +                if(!this._background)
          +                {
          +                    this._backgroundGraphic = new Y.Graphic({render:this.get(&quot;contentBox&quot;)});
          +                    this._backgroundGraphic.get(&quot;node&quot;).style.zIndex = 0; 
          +                    this._background = this._backgroundGraphic.addShape({type: &quot;rect&quot;});
          +                }
          +                return this._background;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Reference to graphic instance used for gridlines.
          +         *
          +         * @attribute gridlines
          +         * @type Graphic
          +         * @readOnly
          +         *&#x2F;
          +        gridlines: {
          +            readOnly: true,
          +
          +            getter: function()
          +            {
          +                if(!this._gridlines)
          +                {
          +                    this._gridlinesGraphic = new Y.Graphic({render:this.get(&quot;contentBox&quot;)});
          +                    this._gridlinesGraphic.get(&quot;node&quot;).style.zIndex = 1; 
          +                    this._gridlines = this._gridlinesGraphic.addShape({type: &quot;path&quot;});
          +                }
          +                return this._gridlines;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to graphic instance used for series.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         * @readOnly
          +         *&#x2F;
          +        graphic: {
          +            readOnly: true,
          +
          +            getter: function() 
          +            {
          +                if(!this._graphic)
          +                {
          +                    this._graphic = new Y.Graphic({render:this.get(&quot;contentBox&quot;)});
          +                    this._graphic.get(&quot;node&quot;).style.zIndex = 2; 
          +                    this._graphic.set(&quot;autoDraw&quot;, false);
          +                }
          +                return this._graphic;
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
          +         *
          +         * @attribute groupMarkers
          +         * @type Boolean
          +         *&#x2F;
          +        groupMarkers: {
          +            value: false
          +        }
          +
          +        &#x2F;**
          +         * Style properties used for drawing a background. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;background&lt;&#x2F;dt&gt;&lt;dd&gt;An object containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;Defines the style properties for the fill. Contains the following values:
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is #faf9f2.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the background fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;Defines the style properties for the border. Contains the following values:
          +         *                  &lt;dl&gt;
          +         *                      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is #dad8c9.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the background border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *                      &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *                  &lt;&#x2F;dl&gt;
          +         *              &lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Gridlines.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Gridlines.js.html
          new file mode 100644
          index 000000000..3b0c0ff20
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Gridlines.js.html
          @@ -0,0 +1,465 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Gridlines.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Gridlines.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Gridlines draws gridlines on a Graph.
          + *
          + * @module charts
          + * @class Gridlines
          + * @constructor
          + * @extends Base
          + * @uses Renderer
          + *&#x2F;
          +Y.Gridlines = Y.Base.create(&quot;gridlines&quot;, Y.Base, [Y.Renderer], {
          +    &#x2F;**
          +     * Reference to the &#x60;Path&#x60; element used for drawing Gridlines.
          +     *
          +     * @property _path
          +     * @type Path
          +     * @private
          +     *&#x2F;
          +    _path: null,
          +
          +    &#x2F;**
          +     * Removes the Gridlines.
          +     *
          +     * @method remove
          +     * @private
          +     *&#x2F;
          +    remove: function()
          +    {
          +        var path = this._path;
          +        if(path)
          +        {
          +            path.destroy();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws the gridlines
          +     *
          +     * @method draw
          +     * @protected
          +     *&#x2F;
          +    draw: function()
          +    {
          +        if(this.get(&quot;axis&quot;) &amp;&amp; this.get(&quot;graph&quot;))
          +        {
          +            this._drawGridlines();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Algorithm for drawing gridlines
          +     *
          +     * @method _drawGridlines
          +     * @private
          +     *&#x2F;
          +    _drawGridlines: function()
          +    {
          +        var path,
          +            axis = this.get(&quot;axis&quot;),
          +            axisPosition = axis.get(&quot;position&quot;),
          +            points,
          +            i = 0,
          +            l,
          +            direction = this.get(&quot;direction&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            w = graph.get(&quot;width&quot;),
          +            h = graph.get(&quot;height&quot;),
          +            line = this.get(&quot;styles&quot;).line,
          +            color = line.color,
          +            weight = line.weight,
          +            alpha = line.alpha,
          +            lineFunction = direction == &quot;vertical&quot; ? this._verticalLine : this._horizontalLine;
          +        if(isFinite(w) &amp;&amp; isFinite(h) &amp;&amp; w &gt; 0 &amp;&amp; h &gt; 0)
          +        {
          +            if(axisPosition != &quot;none&quot; &amp;&amp; axis &amp;&amp; axis.get(&quot;tickPoints&quot;))
          +            {
          +                points = axis.get(&quot;tickPoints&quot;);
          +                l = points.length;
          +            }
          +            else
          +            {
          +                points = [];
          +                l = axis.get(&quot;styles&quot;).majorUnit.count;
          +                for(; i &lt; l; ++i)
          +                {
          +                    points[i] = {
          +                        x: w * (i&#x2F;(l-1)),
          +                        y: h * (i&#x2F;(l-1))
          +                    };
          +                }
          +                i = 0;
          +            }
          +            path = graph.get(&quot;gridlines&quot;);
          +            path.set(&quot;width&quot;, w);
          +            path.set(&quot;height&quot;, h);
          +            path.set(&quot;stroke&quot;, {
          +                weight: weight,
          +                color: color,
          +                opacity: alpha
          +            });
          +            for(; i &lt; l; ++i)
          +            {
          +                lineFunction(path, points[i], w, h);
          +            }
          +            path.end();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Algorithm for horizontal lines.
          +     *
          +     * @method _horizontalLine
          +     * @param {Path} path Reference to path element
          +     * @param {Object} pt Coordinates corresponding to a major unit of an axis.
          +     * @param {Number} w Width of the Graph
          +     * @param {Number} h Height of the Graph
          +     * @private
          +     *&#x2F;
          +    _horizontalLine: function(path, pt, w, h)
          +    {
          +        path.moveTo(0, pt.y);
          +        path.lineTo(w, pt.y);
          +    },
          +
          +    &#x2F;**
          +     * Algorithm for vertical lines.
          +     *
          +     * @method _verticalLine
          +     * @param {Path} path Reference to path element
          +     * @param {Object} pt Coordinates corresponding to a major unit of an axis.
          +     * @param {Number} w Width of the Graph
          +     * @param {Number} h Height of the Graph
          +     * @private
          +     *&#x2F;
          +    _verticalLine: function(path, pt, w, h)
          +    {
          +        path.moveTo(pt.x, 0);
          +        path.lineTo(pt.x, h);
          +    },
          +    
          +    &#x2F;**
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var defs = {
          +            line: {
          +                color:&quot;#f0efe9&quot;,
          +                weight: 1,
          +                alpha: 1
          +            }
          +        };
          +        return defs;
          +    }
          +
          +},
          +{
          +    ATTRS: {
          +        &#x2F;**
          +         * Indicates the direction of the gridline.
          +         *
          +         * @attribute direction
          +         * @type String
          +         *&#x2F;
          +        direction: {},
          +        
          +        &#x2F;**
          +         * Indicate the &#x60;Axis&#x60; in which to bind
          +         * the gridlines.
          +         *
          +         * @attribute axis
          +         * @type Axis
          +         *&#x2F;
          +        axis: {},
          +        
          +        &#x2F;**
          +         * Indicates the &#x60;Graph&#x60; in which the gridlines 
          +         * are drawn.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         *&#x2F;
          +        graph: {}
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Histogram.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Histogram.js.html
          new file mode 100644
          index 000000000..fc26f2503
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Histogram.js.html
          @@ -0,0 +1,495 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Histogram.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Histogram.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Histogram is the base class for Column and Bar series.
          + *
          + * @module charts
          + * @class Histogram
          + * @constructor
          + *&#x2F;
          +function Histogram(){}
          +
          +Histogram.prototype = {
          +    &#x2F;**
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     * @protected
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var style = Y.clone(this.get(&quot;styles&quot;).marker),
          +            setSize,
          +            calculatedSize,
          +            xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            seriesCollection = graph.seriesTypes[type],
          +            seriesLen = seriesCollection.length,
          +            seriesSize = 0,
          +            totalSize = 0,
          +            offset = 0,
          +            ratio,
          +            renderer,
          +            order = this.get(&quot;order&quot;),
          +            graphOrder = this.get(&quot;graphOrder&quot;),
          +            left,
          +            marker,
          +            setSizeKey,
          +            calculatedSizeKey,
          +            config,
          +            fillColors = null,
          +            borderColors = null,
          +            xMarkerPlane = [],
          +            yMarkerPlane = [],
          +            xMarkerPlaneLeft,
          +            xMarkerPlaneRight,
          +            yMarkerPlaneTop,
          +            yMarkerPlaneBottom,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get(&quot;groupMarkers&quot;);
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        if(this.get(&quot;direction&quot;) == &quot;vertical&quot;)
          +        {
          +            setSizeKey = &quot;height&quot;;
          +            calculatedSizeKey = &quot;width&quot;;
          +        }
          +        else
          +        {
          +            setSizeKey = &quot;width&quot;;
          +            calculatedSizeKey = &quot;height&quot;;
          +        }
          +        setSize = style[setSizeKey];
          +        calculatedSize = style[calculatedSizeKey];
          +        this._createMarkerCache();
          +        for(; i &lt; seriesLen; ++i)
          +        {
          +            renderer = seriesCollection[i];
          +            seriesSize += renderer.get(&quot;styles&quot;).marker[setSizeKey];
          +            if(order &gt; i) 
          +            {
          +                offset = seriesSize;
          +            }
          +        }
          +        totalSize = len * seriesSize;
          +        this._maxSize = graph.get(setSizeKey);
          +        if(totalSize &gt; this._maxSize)
          +        {
          +            ratio = graph.get(setSizeKey)&#x2F;totalSize;
          +            seriesSize *= ratio;
          +            offset *= ratio;
          +            setSize *= ratio;
          +            setSize = Math.max(setSize, 1);
          +            this._maxSize = setSize;
          +        }
          +        offset -= seriesSize&#x2F;2;
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            xMarkerPlaneLeft = xcoords[i] - seriesSize&#x2F;2;
          +            xMarkerPlaneRight = xMarkerPlaneLeft + seriesSize;
          +            yMarkerPlaneTop = ycoords[i] - seriesSize&#x2F;2;
          +            yMarkerPlaneBottom = yMarkerPlaneTop + seriesSize;
          +            xMarkerPlane.push({start: xMarkerPlaneLeft, end: xMarkerPlaneRight});
          +            yMarkerPlane.push({start: yMarkerPlaneTop, end: yMarkerPlaneBottom});
          +            if(isNaN(xcoords[i]) || isNaN(ycoords[i]))
          +            {
          +                this._markers.push(null);
          +                continue;
          +            }
          +            config = this._getMarkerDimensions(xcoords[i], ycoords[i], calculatedSize, offset);
          +            if(!isNaN(config.calculatedSize) &amp;&amp; config.calculatedSize &gt; 0)
          +            {
          +                top = config.top;
          +                left = config.left;
          +
          +                if(groupMarkers)
          +                {
          +                    dimensions[setSizeKey][i] = setSize;
          +                    dimensions[calculatedSizeKey][i] = config.calculatedSize;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style[setSizeKey] = setSize;
          +                    style[calculatedSizeKey] = config.calculatedSize;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +
          +            }
          +            else if(!groupMarkers)
          +            {
          +                this._markers.push(null);
          +            }
          +        }
          +        this.set(&quot;xMarkerPlane&quot;, xMarkerPlane);
          +        this.set(&quot;yMarkerPlane&quot;, yMarkerPlane);
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultFillColors: [&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;],
          +    
          +    &#x2F;**
          +     * Gets the default style values for the markers.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: &quot;solid&quot;,
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 12,
          +            height: 12,
          +            shape: &quot;rect&quot;,
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;fill&quot;);
          +        defs.border.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;border&quot;);
          +        return defs;
          +    }
          +};
          +
          +Y.Histogram = Histogram;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LeftAxisLayout.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LeftAxisLayout.js.html
          new file mode 100644
          index 000000000..ee8242e83
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LeftAxisLayout.js.html
          @@ -0,0 +1,637 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;LeftAxisLayout.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;LeftAxisLayout.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Algorithmic strategy for rendering a left axis.
          + *
          + * @module charts
          + * @class LeftAxisLayout
          + * @constructor
          + *&#x2F;
          +LeftAxisLayout = function() {};
          +
          +LeftAxisLayout.prototype = {
          +    &#x2F;**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     *&#x2F;
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 0,
          +            right: 4,
          +            bottom: 0
          +        };
          +    },
          +
          +    &#x2F;**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffset
          +     * @protected
          +     *&#x2F;
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get(&quot;styles&quot;).majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set(&quot;topTickOffset&quot;,  0);
          +        host.set(&quot;bottomTickOffset&quot;,  0);
          +        
          +        switch(display)
          +        {
          +            case &quot;inside&quot; :
          +                host.set(&quot;rightTickOffset&quot;,  tickLength);
          +                host.set(&quot;leftTickOffset&quot;, 0);
          +            break;
          +            case &quot;outside&quot; : 
          +                host.set(&quot;rightTickOffset&quot;, 0);
          +                host.set(&quot;leftTickOffset&quot;,  tickLength);
          +            break;
          +            case &quot;cross&quot;:
          +                host.set(&quot;rightTickOffset&quot;, halfTick); 
          +                host.set(&quot;leftTickOffset&quot;,  halfTick);
          +            break;
          +            default:
          +                host.set(&quot;rightTickOffset&quot;, 0);
          +                host.set(&quot;leftTickOffset&quot;, 0);
          +            break;
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path &#x60;Path&#x60; element in which to draw the tick.
          +     * @param {Object} pt Point on the axis in which the tick will intersect.
          +     * @param {Object} tickStyle Hash of properties to apply to the tick.
          +     * @protected
          +     *&#x2F;
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:padding.left, y:pt.y},
          +            end = {x:tickLength + padding.left, y:pt.y};
          +        host.drawLine(path, start, end);
          +    },
          +
          +    &#x2F;**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @return {Object}
          +     * @protected
          +     *&#x2F;
          +    getLineStart: function()
          +    {
          +        var style = this.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:padding.left, y:0};
          +        if(display === &quot;outside&quot;)
          +        {
          +            pt.x += tickLength;
          +        }
          +        else if(display === &quot;cross&quot;)
          +        {
          +            pt.x += tickLength&#x2F;2;
          +        }
          +        return pt; 
          +    },
          +    
          +    &#x2F;**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} point Point on the axis in which the tick will intersect.
          +     * @return {Object} 
          +     * @protected
          +     *&#x2F;
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x - this.get(&quot;leftTickOffset&quot;), y:point.y};
          +    },
          +    
          +    &#x2F;**
          +     * Updates the value for the &#x60;maxLabelSize&#x60; for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     *&#x2F;
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelWidth;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelHeight;
          +        }
          +        else
          +        {
          +            max = (cosRadians * labelWidth) + (sinRadians * labelHeight);
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    &#x2F;**
          +     * Determines the available label width when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     *&#x2F;
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitWidth)
          +        {
          +            var host = this,
          +                w = host._explicitWidth,
          +                totalTitleSize = host._totalTitleSize,
          +                leftTickOffset = host.get(&quot;leftTickOffset&quot;),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  w - (leftTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     *&#x2F;
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get(&quot;styles&quot;).title.margin,
          +            props = host._titleRotationProps,
          +            w = bounds.right - bounds.left,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            x = (labelWidth * -0.5) + (w * 0.5),
          +            y = (host.get(&quot;height&quot;) * 0.5) - (labelHeight * 0.5);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin &amp;&amp; margin.left)
          +        {
          +            x += margin.left;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     *&#x2F;
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get(&quot;leftTickOffset&quot;),
          +            totalTitleSize = this._totalTitleSize,
          +            leftOffset = pt.x + totalTitleSize - tickOffset,
          +            topOffset = pt.y,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            maxLabelSize = host._maxLabelSize,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(rot === 0)
          +        {
          +            leftOffset -= labelWidth;
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else
          +        {
          +            leftOffset -= labelWidth + (labelHeight * absRot&#x2F;360);
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = Math.round(maxLabelSize + leftOffset);
          +        props.y = Math.round(topOffset);
          +        this._rotate(label, props);
          +    },
          +
          +    &#x2F;**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     *&#x2F;
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset,
          +            topOffset,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight;
          +        if(rot === 0)
          +        {
          +            leftOffset = labelWidth;
          +            topOffset = labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            topOffset = 0;
          +            leftOffset = labelWidth * 0.5;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else
          +        {
          +            leftOffset = labelWidth + (labelHeight * absRot&#x2F;360);
          +            topOffset = labelHeight * 0.5;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    &#x2F;**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else if(rot === 90)
          +        {
          +            transformOrigin = [0.5, 0];
          +        }
          +        else if(rot === -90)
          +        {
          +            transformOrigin = [0.5, 1];
          +        }
          +        else
          +        {
          +            transformOrigin = [1, 0.5];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    &#x2F;**
          +     * Adjust the position of the Axis widget&#x27;s content box for internal axes.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb Content box of the Axis.
          +     * @protected
          +     *&#x2F;
          +    offsetNodeForTick: function(cb)
          +    {
          +    },
          +
          +    &#x2F;**
          +     * Sets the width of the axis based on its contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     *&#x2F;
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            graphic = this.get(&quot;graphic&quot;),
          +            style = host.get(&quot;styles&quot;),
          +            label = style.label,
          +            tickOffset = host.get(&quot;leftTickOffset&quot;),
          +            max = host._maxLabelSize,
          +            totalTitleSize = this._totalTitleSize,
          +            ttl = Math.round(totalTitleSize + tickOffset + max + label.margin.right);
          +        if(this._explicitWidth)
          +        {
          +            ttl = this._explicitWidth;
          +        }
          +        this.set(&quot;calculatedWidth&quot;, ttl);
          +        graphic.set(&quot;x&quot;, ttl - tickOffset);
          +    }
          +};
          +
          +Y.LeftAxisLayout = LeftAxisLayout;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LineSeries.js.html
          new file mode 100644
          index 000000000..4217b26cc
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_LineSeries.js.html
          @@ -0,0 +1,370 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;LineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;LineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The LineSeries class renders quantitative data on a graph by connecting relevant data points.
          + *
          + * @module charts
          + * @class LineSeries
          + * @extends CartesianSeries
          + * @uses Lines
          + * @constructor
          + *&#x2F;
          +Y.LineSeries = Y.Base.create(&quot;lineSeries&quot;, Y.CartesianSeries, [Y.Lines], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this.drawLines();
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Method used by &#x60;styles&#x60; setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     *&#x2F;
          +    _setStyles: function(val)
          +    {
          +        if(!val.line)
          +        {
          +            val = {line:val};
          +        }
          +        return Y.LineSeries.superclass._setStyles.apply(this, [val]);
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({line:this._getLineDefaults()}, Y.LineSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},
          +{
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default line
          +         *&#x2F;
          +        type: {
          +            value:&quot;line&quot;
          +        }
          +
          +        &#x2F;**
          +         * Style properties used for drawing lines. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      &#x60;[&quot;#426ab3&quot;, &quot;#d09b2c&quot;, &quot;#000000&quot;, &quot;#b82837&quot;, &quot;#b384b5&quot;, &quot;#ff7200&quot;, &quot;#779de3&quot;, &quot;#cbc8ba&quot;, &quot;#7ed7a6&quot;, &quot;#007a6c&quot;]&#x60;
          +         *      &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number that indicates the width of the line. The default value is 6.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the line. The default value is 1.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;lineType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;dashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;gapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;connectDiscontinuousPoints&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;discontinuousType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousDashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousGapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Lines.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Lines.js.html
          new file mode 100644
          index 000000000..401daaad3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Lines.js.html
          @@ -0,0 +1,540 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Lines.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Lines.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Utility class used for drawing lines.
          + *
          + * @module charts
          + * @class Lines
          + * @constructor
          + *&#x2F;
          +function Lines(){}
          +
          +Lines.prototype = {
          +    &#x2F;**
          +     * @property _lineDefaults
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _lineDefaults: null,
          +    
          +    &#x2F;**
          +     * Creates a graphic in which to draw a series.
          +     *
          +     * @method _getGraphic
          +     * @return Graphic
          +     * @private
          +     *&#x2F;
          +    _getGraphic: function()
          +    {
          +        var graphic = this.get(&quot;graphic&quot;) || this.get(&quot;graph&quot;).get(&quot;graphic&quot;);
          +        if(!this._lineGraphic)
          +        {
          +            this._lineGraphic = graphic.addShape({type: &quot;path&quot;});
          +        }
          +        this._lineGraphic.clear();
          +        return this._lineGraphic;
          +    },
          +    
          +    &#x2F;**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     *&#x2F;
          +    _toggleVisible: function(visible)
          +    {
          +        if(this._lineGraphic)
          +        {
          +            this._lineGraphic.set(&quot;visible&quot;, visible);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws lines for the series.
          +     *
          +     * @method drawLines
          +     * @protected
          +     *&#x2F;
          +    drawLines: function()
          +    {
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var isNumber = Y_Lang.isNumber,
          +            xcoords = this.get(&quot;xcoords&quot;).concat(),
          +            ycoords = this.get(&quot;ycoords&quot;).concat(),
          +            direction = this.get(&quot;direction&quot;),
          +            len = direction === &quot;vertical&quot; ? ycoords.length : xcoords.length,
          +            lastPointValid,
          +            pointValid,
          +            noPointsRendered = true,
          +            lastValidX,
          +            lastValidY,
          +            nextX,
          +            nextY,
          +            i,
          +            styles = this.get(&quot;styles&quot;).line,
          +            lineType = styles.lineType,
          +            lc = styles.color || this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;line&quot;),
          +            lineAlpha = styles.alpha,
          +            dashLength = styles.dashLength,
          +            gapSpace = styles.gapSpace,
          +            connectDiscontinuousPoints = styles.connectDiscontinuousPoints,
          +            discontinuousType = styles.discontinuousType,
          +            discontinuousDashLength = styles.discontinuousDashLength,
          +            discontinuousGapSpace = styles.discontinuousGapSpace,
          +            path = this._getGraphic();
          +        path.set(&quot;stroke&quot;, {
          +            weight: styles.weight, 
          +            color: lc, 
          +            opacity: lineAlpha
          +        });
          +        for(i = 0; i &lt; len; i = ++i)
          +        {
          +            nextX = xcoords[i];
          +            nextY = ycoords[i];
          +            pointValid = isNumber(nextX) &amp;&amp; isNumber(nextY); 
          +            if(!pointValid)
          +            {
          +                lastPointValid = pointValid;
          +                continue;
          +            }
          +            if(noPointsRendered)
          +            {
          +                noPointsRendered = false;
          +                path.moveTo(nextX, nextY);
          +            }
          +            else if(lastPointValid)
          +            {
          +                if(lineType != &quot;dashed&quot;)
          +                {
          +                    path.lineTo(nextX, nextY);
          +                }
          +                else
          +                {
          +                    this.drawDashedLine(path, lastValidX, lastValidY, nextX, nextY, 
          +                                                dashLength, 
          +                                                gapSpace);
          +                }
          +            }
          +            else if(!connectDiscontinuousPoints)
          +            {
          +                path.moveTo(nextX, nextY);
          +            }
          +            else
          +            {
          +                if(discontinuousType != &quot;solid&quot;)
          +                {
          +                    this.drawDashedLine(path, lastValidX, lastValidY, nextX, nextY, 
          +                                                discontinuousDashLength, 
          +                                                discontinuousGapSpace);
          +                }
          +                else
          +                {
          +                    path.lineTo(nextX, nextY);
          +                }
          +            }
          +            lastValidX = nextX;
          +            lastValidY = nextY;
          +            lastPointValid = true;
          +        }
          +        path.end();
          +    },
          +    
          +    &#x2F;**
          +     * Connects data points with a consistent curve for a series.
          +     * 
          +     * @method drawSpline
          +     * @protected
          +     *&#x2F;
          +    drawSpline: function()
          +    {
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            curvecoords = this.getCurveControlPoints(xcoords, ycoords),
          +            len = curvecoords.length,
          +            cx1,
          +            cx2,
          +            cy1,
          +            cy2,
          +            x,
          +            y,
          +            i = 0,
          +            styles = this.get(&quot;styles&quot;).line,
          +            path = this._getGraphic(),
          +            lineAlpha = styles.alpha,
          +            color = styles.color || this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;line&quot;);
          +        path.set(&quot;stroke&quot;, { 
          +            weight: styles.weight, 
          +            color: color, 
          +            opacity: lineAlpha
          +        });
          +        path.moveTo(xcoords[0], ycoords[0]);
          +        for(; i &lt; len; i = ++i)
          +        {
          +            x = curvecoords[i].endx;
          +            y = curvecoords[i].endy;
          +            cx1 = curvecoords[i].ctrlx1;
          +            cx2 = curvecoords[i].ctrlx2;
          +            cy1 = curvecoords[i].ctrly1;
          +            cy2 = curvecoords[i].ctrly2;
          +            path.curveTo(cx1, cy1, cx2, cy2, x, y);
          +        }
          +        path.end();
          +    },
          +
          +    &#x2F;**
          +     * Draws a dashed line between two points.
          +     * 
          +     * @method drawDashedLine
          +     * @param {Number} xStart	The x position of the start of the line
          +     * @param {Number} yStart	The y position of the start of the line
          +     * @param {Number} xEnd		The x position of the end of the line
          +     * @param {Number} yEnd		The y position of the end of the line
          +     * @param {Number} dashSize	the size of dashes, in pixels
          +     * @param {Number} gapSize	the size of gaps between dashes, in pixels
          +     * @private
          +     *&#x2F;
          +    drawDashedLine: function(path, xStart, yStart, xEnd, yEnd, dashSize, gapSize)
          +    {
          +        dashSize = dashSize || 10;
          +        gapSize = gapSize || 10;
          +        var segmentLength = dashSize + gapSize,
          +            xDelta = xEnd - xStart,
          +            yDelta = yEnd - yStart,
          +            delta = Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2)),
          +            segmentCount = Math.floor(Math.abs(delta &#x2F; segmentLength)),
          +            radians = Math.atan2(yDelta, xDelta),
          +            xCurrent = xStart,
          +            yCurrent = yStart,
          +            i;
          +        xDelta = Math.cos(radians) * segmentLength;
          +        yDelta = Math.sin(radians) * segmentLength;
          +        
          +        for(i = 0; i &lt; segmentCount; ++i)
          +        {
          +            path.moveTo(xCurrent, yCurrent);
          +            path.lineTo(xCurrent + Math.cos(radians) * dashSize, yCurrent + Math.sin(radians) * dashSize);
          +            xCurrent += xDelta;
          +            yCurrent += yDelta;
          +        }
          +        
          +        path.moveTo(xCurrent, yCurrent);
          +        delta = Math.sqrt((xEnd - xCurrent) * (xEnd - xCurrent) + (yEnd - yCurrent) * (yEnd - yCurrent));
          +        
          +        if(delta &gt; dashSize)
          +        {
          +            path.lineTo(xCurrent + Math.cos(radians) * dashSize, yCurrent + Math.sin(radians) * dashSize);
          +        }
          +        else if(delta &gt; 0)
          +        {
          +            path.lineTo(xCurrent + Math.cos(radians) * delta, yCurrent + Math.sin(radians) * delta);
          +        }
          +        
          +        path.moveTo(xEnd, yEnd);
          +    },
          +
          +    &#x2F;**
          +     * Default values for &#x60;styles&#x60; attribute.
          +     *
          +     * @method _getLineDefaults
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getLineDefaults: function()
          +    {
          +        return {
          +            alpha: 1,
          +            weight: 6,
          +            lineType:&quot;solid&quot;, 
          +            dashLength:10, 
          +            gapSpace:10, 
          +            connectDiscontinuousPoints:true, 
          +            discontinuousType:&quot;solid&quot;, 
          +            discontinuousDashLength:10, 
          +            discontinuousGapSpace:10
          +        };
          +    }
          +};
          +Y.augment(Lines, Y.Attribute);
          +Y.Lines = Lines;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_MarkerSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_MarkerSeries.js.html
          new file mode 100644
          index 000000000..6d48a283c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_MarkerSeries.js.html
          @@ -0,0 +1,379 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;MarkerSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;MarkerSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The MarkerSeries class renders quantitative data by plotting relevant data points 
          + * on a graph.
          + *
          + * @module charts
          + * @class MarkerSeries
          + * @extends CartesianSeries
          + * @uses Plots
          + * @constructor
          + *&#x2F;
          +Y.MarkerSeries = Y.Base.create(&quot;markerSeries&quot;, Y.CartesianSeries, [Y.Plots], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this.drawPlots();
          +    },
          +    
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Method used by &#x60;styles&#x60; setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     *&#x2F;
          +    _setStyles: function(val)
          +    {
          +        if(!val.marker)
          +        {
          +            val = {marker:val};
          +        }
          +        val = this._parseMarkerStyles(val);
          +        return Y.MarkerSeries.superclass._mergeStyles.apply(this, [val, this._getDefaultStyles()]);
          +    },
          +    
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Gets the default value for the &#x60;styles&#x60; attribute. Overrides
          +     * base implementation.
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        var styles = this._mergeStyles({marker:this._getPlotDefaults()}, Y.MarkerSeries.superclass._getDefaultStyles());
          +        return styles;
          +    }
          +},{
          +    ATTRS : {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default marker
          +         *&#x2F;
          +        type: {
          +            value:&quot;marker&quot;
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#6084d0&quot;, &quot;#eeb647&quot;, &quot;#6c6b5f&quot;, &quot;#d6484f&quot;, &quot;#ce9ed1&quot;, &quot;#ff9f3b&quot;, &quot;#93b7ff&quot;, &quot;#e0ddd0&quot;, &quot;#94ecba&quot;, &quot;#309687&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;width&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;height&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the height of the marker The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_NumericAxis.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_NumericAxis.js.html
          new file mode 100644
          index 000000000..058aadb50
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_NumericAxis.js.html
          @@ -0,0 +1,957 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;NumericAxis.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;NumericAxis.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * NumericAxis manages numeric data on an axis.
          + *
          + * @module charts
          + * @class NumericAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + *&#x2F;
          +function NumericAxis(config)
          +{
          +	NumericAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +NumericAxis.NAME = &quot;numericAxis&quot;;
          +
          +NumericAxis.ATTRS = {
          +    &#x2F;**
          +     * Indicates whether 0 should always be displayed.
          +     *
          +     * @attribute alwaysShowZero
          +     * @type Boolean
          +     *&#x2F;
          +	alwaysShowZero: {
          +	    value: true	
          +	},
          +    
          +    &#x2F;**
          +     * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +     * to implement the arguments below and return a &#x60;String&#x60; or an &#x60;HTMLElement&#x60;. The default implementation of the method returns a &#x60;String&#x60;. The output of this method
          +     * will be rendered to the DOM using &#x60;appendChild&#x60;. If you override the &#x60;labelFunction&#x60; method and return an html string, you will also need to override the Axis&#x27; 
          +     * &#x60;appendLabelFunction&#x60; to accept html as a &#x60;String&#x60;.
          +     * &lt;dl&gt;
          +     *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;Label to be formatted. (&#x60;String&#x60;)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;format&lt;&#x2F;dt&gt;&lt;dd&gt;Object containing properties used to format the label. (optional)&lt;&#x2F;dd&gt;
          +     * &lt;&#x2F;dl&gt;
          +     *
          +     * @attribute labelFunction
          +     * @type Function
          +     *&#x2F;
          +    labelFunction: { 
          +        value: function(val, format)
          +        {
          +            if(format)
          +            {
          +                return Y.DataType.Number.format(val, format);
          +            }
          +            return val;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Object containing properties used by the &#x60;labelFunction&#x60; to format a
          +     * label.
          +     *
          +     * @attribute labelFormat
          +     * @type Object
          +     *&#x2F;
          +    labelFormat: {
          +        value: {
          +            prefix: &quot;&quot;,
          +            thousandsSeparator: &quot;&quot;,
          +            decimalSeparator: &quot;&quot;,
          +            decimalPlaces: &quot;0&quot;,
          +            suffix: &quot;&quot;
          +        }
          +    }
          +};
          +
          +Y.extend(NumericAxis, Y.AxisType,
          +{
          +    &#x2F;**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     *&#x2F;
          +    formatLabel: function(val, format)
          +    {
          +        if(format)
          +        {
          +            return Y.DataType.Number.format(val, format);
          +        }
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Returns the sum of all values per key.
          +     *
          +     * @method getTotalByKey
          +     * @param {String} key The identifier for the array whose values will be calculated.
          +     * @return Number
          +     *&#x2F;
          +    getTotalByKey: function(key)
          +    {
          +        var total = 0,
          +            values = this.getDataByKey(key),
          +            i = 0,
          +            val,
          +            len = values ? values.length : 0;
          +        for(; i &lt; len; ++i)
          +        {
          +           val = parseFloat(values[i]);
          +           if(!isNaN(val))
          +           {
          +                total += val;
          +           }
          +        }
          +        return total;
          +    },
          +
          +    &#x2F;**
          +     * Type of data used in &#x60;Axis&#x60;.
          +     *
          +     * @property _type
          +     * @readOnly
          +     * @private
          +     *&#x2F;
          +    _type: &quot;numeric&quot;,
          +
          +    &#x2F;**
          +     * Helper method for getting a &#x60;roundingUnit&#x60; when calculating the minimum and maximum values.
          +     *
          +     * @method _getMinimumUnit
          +     * @param {Number} max Maximum number
          +     * @param {Number} min Minimum number
          +     * @param {Number} units Number of units on the axis
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getMinimumUnit:function(max, min, units)
          +    {
          +        return this._getNiceNumber(Math.ceil((max - min)&#x2F;units));
          +    },
          +
          +    &#x2F;**
          +     * Calculates a nice rounding unit based on the range.
          +     *
          +     * @method _getNiceNumber
          +     * @param {Number} roundingUnit The calculated rounding unit.
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getNiceNumber: function(roundingUnit)
          +    {
          +        var tempMajorUnit = roundingUnit,
          +            order = Math.ceil(Math.log(tempMajorUnit) * 0.4342944819032518),
          +            roundedMajorUnit = Math.pow(10, order),
          +            roundedDiff;
          +
          +        if (roundedMajorUnit &#x2F; 2 &gt;= tempMajorUnit) 
          +        {
          +            roundedDiff = Math.floor((roundedMajorUnit &#x2F; 2 - tempMajorUnit) &#x2F; (Math.pow(10,order-1)&#x2F;2));
          +            tempMajorUnit = roundedMajorUnit&#x2F;2 - roundedDiff*Math.pow(10,order-1)&#x2F;2;
          +        }
          +        else 
          +        {
          +            tempMajorUnit = roundedMajorUnit;
          +        }
          +        if(!isNaN(tempMajorUnit))
          +        {
          +            return tempMajorUnit;
          +        }
          +        return roundingUnit;
          +
          +    },
          +
          +    &#x2F;**
          +     * Calculates the maximum and minimum values for the &#x60;Axis&#x60;.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     *&#x2F;
          +    _updateMinAndMax: function()
          +    {
          +        var data = this.get(&quot;data&quot;),
          +            max, 
          +            min,
          +            len,
          +            num,
          +            i = 0,
          +            key,
          +            setMax = this.get(&quot;setMax&quot;),
          +            setMin = this.get(&quot;setMin&quot;);
          +        if(!setMax || !setMin)
          +        {
          +            if(data &amp;&amp; data.length &amp;&amp; data.length &gt; 0)
          +            {
          +                len = data.length;
          +                for(; i &lt; len; i++)
          +                {	
          +                    num = data[i];
          +                    if(isNaN(num))
          +                    {
          +                        if(Y_Lang.isObject(num))
          +                        {
          +                            min = max = 0;
          +                            &#x2F;&#x2F;hloc values
          +                            for(key in num)
          +                            {
          +                               if(num.hasOwnProperty(key))
          +                               {
          +                                    max = Math.max(num[key], max);
          +                                    min = Math.min(num[key], min);
          +                               }
          +                            }
          +                        }
          +                        max = setMax ? this._setMaximum : max;
          +                        min = setMin ? this._setMinimum : min;
          +                        continue;
          +                    }
          +                    
          +                    if(setMin)
          +                    {
          +                        min = this._setMinimum;
          +                    }
          +                    else if(min === undefined)
          +                    {
          +                        min = num;
          +                    }
          +                    else
          +                    {
          +                        min = Math.min(num, min); 
          +                    }
          +                    if(setMax)
          +                    {
          +                        max = this._setMaximum;
          +                    }
          +                    else if(max === undefined)
          +                    {
          +                        max = num;
          +                    }
          +                    else
          +                    {
          +                        max = Math.max(num, max);
          +                    }
          +                    
          +                    this._actualMaximum = max;
          +                    this._actualMinimum = min;
          +                }
          +            }
          +            this._roundMinAndMax(min, max, setMin, setMax);
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Rounds the mimimum and maximum values based on the &#x60;roundingUnit&#x60; attribute.
          +     *
          +     * @method _roundMinAndMax
          +     * @param {Number} min Minimum value
          +     * @param {Number} max Maximum value
          +     * @private
          +     *&#x2F;
          +    _roundMinAndMax: function(min, max, setMin, setMax)
          +    {
          +        var roundingUnit,
          +            minimumRange,
          +            minGreaterThanZero = min &gt;= 0,
          +            maxGreaterThanZero = max &gt; 0,
          +            dataRangeGreater,
          +            maxRound,
          +            minRound,
          +            topTicks,
          +            botTicks,
          +            tempMax,
          +            tempMin,
          +            units = this.getTotalMajorUnits() - 1,
          +            alwaysShowZero = this.get(&quot;alwaysShowZero&quot;),
          +            roundingMethod = this.get(&quot;roundingMethod&quot;),
          +            useIntegers = (max - min)&#x2F;units &gt;= 1;
          +        if(roundingMethod)
          +        {
          +            if(roundingMethod == &quot;niceNumber&quot;)
          +            {
          +                roundingUnit = this._getMinimumUnit(max, min, units);
          +                if(minGreaterThanZero &amp;&amp; maxGreaterThanZero)
          +                {
          +                    if((alwaysShowZero || min &lt; roundingUnit) &amp;&amp; !setMin)
          +                    {
          +                        min = 0;
          +                        roundingUnit = this._getMinimumUnit(max, min, units);
          +                    }
          +                    else
          +                    {
          +                       min = this._roundDownToNearest(min, roundingUnit);
          +                    }
          +                    if(setMax)
          +                    {
          +                        if(!alwaysShowZero)
          +                        {
          +                            min = max - (roundingUnit * units);
          +                        }
          +                    }
          +                    else if(setMin)
          +                    {
          +                        max = min + (roundingUnit * units);
          +                    }
          +                    else
          +                    {
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                }
          +                else if(maxGreaterThanZero &amp;&amp; !minGreaterThanZero)
          +                {
          +                    if(alwaysShowZero)
          +                    {
          +                        topTicks = Math.round(units&#x2F;((-1 * min)&#x2F;max + 1));
          +                        topTicks = Math.max(Math.min(topTicks, units - 1), 1);
          +                        botTicks = units - topTicks;
          +                        tempMax = Math.ceil( max&#x2F;topTicks );
          +                        tempMin = Math.floor( min&#x2F;botTicks ) * -1;
          +                        
          +                        if(setMin)
          +                        {
          +                            while(tempMin &lt; tempMax &amp;&amp; botTicks &gt;= 0)
          +                            {
          +                                botTicks--;
          +                                topTicks++;
          +                                tempMax = Math.ceil( max&#x2F;topTicks );
          +                                tempMin = Math.floor( min&#x2F;botTicks ) * -1;
          +                            }
          +                            &#x2F;&#x2F;if there are any bottom ticks left calcualate the maximum by multiplying by the tempMin value
          +                            &#x2F;&#x2F;if not, it&#x27;s impossible to ensure that a zero is shown. skip it
          +                            if(botTicks &gt; 0)
          +                            {
          +                                max = tempMin * topTicks;
          +                            }
          +                            else
          +                            {
          +                                max = min + (roundingUnit * units);
          +                            }
          +                        }
          +                        else if(setMax)
          +                        {
          +                            while(tempMax &lt; tempMin &amp;&amp; topTicks &gt;= 0)
          +                            {
          +                                botTicks++;
          +                                topTicks--;
          +                                tempMin = Math.floor( min&#x2F;botTicks ) * -1;
          +                                tempMax = Math.ceil( max&#x2F;topTicks );
          +                            }
          +                            &#x2F;&#x2F;if there are any top ticks left calcualate the minimum by multiplying by the tempMax value
          +                            &#x2F;&#x2F;if not, it&#x27;s impossible to ensure that a zero is shown. skip it
          +                            if(topTicks &gt; 0)
          +                            {
          +                                min = tempMax * botTicks * -1;
          +                            }
          +                            else
          +                            {
          +                                min = max - (roundingUnit * units);
          +                            }
          +                        }
          +                        else
          +                        {
          +                            roundingUnit = Math.max(tempMax, tempMin);
          +                            roundingUnit = this._getNiceNumber(roundingUnit);  
          +                            max = roundingUnit * topTicks;
          +                            min = roundingUnit * botTicks * -1;
          +                        }
          +                    }
          +                    else 
          +                    {
          +                        if(setMax)
          +                        {
          +                            min = max - (roundingUnit * units);
          +                        }
          +                        else if(setMin)
          +                        {
          +                            max = min + (roundingUnit * units);
          +                        }
          +                        else
          +                        {
          +                            min = this._roundDownToNearest(min, roundingUnit);
          +                            max = this._roundUpToNearest(max, roundingUnit);
          +                        }
          +                    }
          +                }
          +                else
          +                {
          +                    if(setMin)
          +                    {
          +                        if(alwaysShowZero)
          +                        {
          +                            max = 0;
          +                        }
          +                        else
          +                        {
          +                            max = min + (roundingUnit * units);
          +                        }
          +                    }
          +                    else if(!setMax)
          +                    {
          +                        if(alwaysShowZero || max === 0 || max + roundingUnit &gt; 0)
          +                        {
          +                            max = 0;
          +                            roundingUnit = this._getMinimumUnit(max, min, units);
          +                        }
          +                        else
          +                        {
          +                            max = this._roundUpToNearest(max, roundingUnit);
          +                        }
          +                        min = max - (roundingUnit * units);
          +                    }
          +                    else
          +                    {
          +                        min = max - (roundingUnit * units);
          +                    }
          +                }
          +            }
          +            else if(roundingMethod == &quot;auto&quot;) 
          +            {
          +                if(minGreaterThanZero &amp;&amp; maxGreaterThanZero)
          +                {
          +                    if((alwaysShowZero || min &lt; (max-min)&#x2F;units) &amp;&amp; !setMin)
          +                    {
          +                        min = 0;
          +                    }
          +                
          +                    roundingUnit = (max - min)&#x2F;units;
          +                    if(useIntegers)
          +                    {
          +                        roundingUnit = Math.ceil(roundingUnit);
          +                    }
          +                    max = min + (roundingUnit * units);
          +                }
          +                else if(maxGreaterThanZero &amp;&amp; !minGreaterThanZero)
          +                {
          +                    if(alwaysShowZero)
          +                    {
          +                        topTicks = Math.round( units &#x2F; ( (-1 * min) &#x2F;max + 1) );
          +                        topTicks = Math.max(Math.min(topTicks, units - 1), 1);
          +                        botTicks = units - topTicks;
          +
          +                        if(useIntegers)
          +                        {
          +                            tempMax = Math.ceil( max&#x2F;topTicks );
          +                            tempMin = Math.floor( min&#x2F;botTicks ) * -1;
          +                        }
          +                        else
          +                        {
          +                            tempMax = max&#x2F;topTicks;
          +                            tempMin = min&#x2F;botTicks * -1;
          +                        }
          +                        roundingUnit = Math.max(tempMax, tempMin);
          +                        max = roundingUnit * topTicks;
          +                        min = roundingUnit * botTicks * -1;
          +                    }
          +                    else
          +                    {
          +                        roundingUnit = (max - min)&#x2F;units;
          +                        if(useIntegers)
          +                        {
          +                            roundingUnit = Math.ceil(roundingUnit);
          +                        }
          +                        min = this._roundDownToNearest(min, roundingUnit);
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                }
          +                else
          +                {
          +                    roundingUnit = (max - min)&#x2F;units;
          +                    if(useIntegers)
          +                    {   
          +                        roundingUnit = Math.ceil(roundingUnit);
          +                    }
          +                    if(alwaysShowZero || max === 0 || max + roundingUnit &gt; 0)
          +                    {
          +                        max = 0;
          +                        roundingUnit = (max - min)&#x2F;units;
          +                        if(useIntegers)
          +                        {
          +                            Math.ceil(roundingUnit);
          +                        }
          +                    }
          +                    else
          +                    {
          +                        max = this._roundUpToNearest(max, roundingUnit);
          +                    }
          +                    min = max - (roundingUnit * units);
          +
          +                }
          +            }
          +            else if(!isNaN(roundingMethod) &amp;&amp; isFinite(roundingMethod))
          +            {
          +                roundingUnit = roundingMethod;
          +                minimumRange = roundingUnit * units;
          +                dataRangeGreater = (max - min) &gt; minimumRange;
          +                minRound = this._roundDownToNearest(min, roundingUnit);
          +                maxRound = this._roundUpToNearest(max, roundingUnit);
          +                if(setMax)
          +                {
          +                    min = max - minimumRange;
          +                }
          +                else if(setMin)
          +                {
          +                    max = min + minimumRange;
          +                }
          +                else if(minGreaterThanZero &amp;&amp; maxGreaterThanZero)
          +                {
          +                    if(alwaysShowZero || minRound &lt;= 0)
          +                    {
          +                        min = 0;
          +                    }
          +                    else
          +                    {
          +                        min = minRound;
          +                    }
          +                    max = min + minimumRange;
          +                }
          +                else if(maxGreaterThanZero &amp;&amp; !minGreaterThanZero)
          +                {
          +                    min = minRound;
          +                    max = min + minimumRange;
          +                }
          +                else
          +                {
          +                    if(alwaysShowZero || maxRound &gt;= 0)
          +                    {
          +                        max = 0;
          +                    }
          +                    else
          +                    {
          +                        max = maxRound;
          +                    }
          +                    min = max - minimumRange;
          +                }
          +            }
          +        }
          +        this._dataMaximum = max;
          +        this._dataMinimum = min;
          +    },
          +
          +    &#x2F;**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     *&#x2F;
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get(&quot;minimum&quot;),
          +            max = this.get(&quot;maximum&quot;),
          +            increm = (max - min)&#x2F;(l-1),
          +            label,
          +            roundingMethod = this.get(&quot;roundingMethod&quot;);
          +            l -= 1;
          +        &#x2F;&#x2F;respect the min and max. calculate all other labels.
          +        if(i === 0)
          +        {
          +            label = min;
          +        }
          +        else if(i === l)
          +        {
          +            label = max;
          +        }
          +        else
          +        {
          +            label = (i * increm);
          +            if(roundingMethod == &quot;niceNumber&quot;)
          +            {
          +                label = this._roundToNearest(label, increm);
          +            }
          +            label += min;
          +        }
          +        return parseFloat(label);
          +    },
          +
          +    &#x2F;**
          +     * Rounds a Number to the nearest multiple of an input. For example, by rounding
          +     * 16 to the nearest 10, you will receive 20. Similar to the built-in function Math.round().
          +     *
          +     * @method _roundToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _roundToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        var roundedNumber = Math.round(this._roundToPrecision(number &#x2F; nearest, 10)) * nearest;
          +        return this._roundToPrecision(roundedNumber, 10);
          +    },
          +	
          +    &#x2F;**
          +     * Rounds a Number up to the nearest multiple of an input. For example, by rounding
          +     * 16 up to the nearest 10, you will receive 20. Similar to the built-in function Math.ceil().
          +     *
          +     * @method _roundUpToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _roundUpToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        return Math.ceil(this._roundToPrecision(number &#x2F; nearest, 10)) * nearest;
          +    },
          +	
          +    &#x2F;**
          +     * Rounds a Number down to the nearest multiple of an input. For example, by rounding
          +     * 16 down to the nearest 10, you will receive 10. Similar to the built-in function Math.floor().
          +     *
          +     * @method _roundDownToNearest
          +     * @param {Number} number Number to round
          +     * @param {Number} nearest Multiple to round towards.
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _roundDownToNearest: function(number, nearest)
          +    {
          +        nearest = nearest || 1;
          +        if(nearest === 0)
          +        {
          +            return number;
          +        }
          +        return Math.floor(this._roundToPrecision(number &#x2F; nearest, 10)) * nearest;
          +    },
          +
          +    &#x2F;**
          +     * Rounds a number to a certain level of precision. Useful for limiting the number of
          +     * decimal places on a fractional number.
          +     *
          +     * @method _roundToPrecision
          +     * @param {Number} number Number to round
          +     * @param {Number} precision Multiple to round towards.
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _roundToPrecision: function(number, precision)
          +    {
          +        precision = precision || 0;
          +        var decimalPlaces = Math.pow(10, precision);
          +        return Math.round(decimalPlaces * number) &#x2F; decimalPlaces;
          +    },
          +    
          +    &#x2F;**
          +     * Checks to see if data extends beyond the range of the axis. If so,
          +     * that data will need to be hidden. This method is internal, temporary and subject
          +     * to removal in the future.
          +     *
          +     * @method _hasDataOverflow
          +     * @protected
          +     * @return Boolean
          +     *&#x2F;
          +    _hasDataOverflow: function()
          +    {
          +        var roundingMethod,
          +            min,
          +            max;
          +        if(this.get(&quot;setMin&quot;) || this.get(&quot;setMax&quot;))
          +        {
          +            return true;
          +        }
          +        roundingMethod = this.get(&quot;roundingMethod&quot;);
          +        min = this._actualMinimum;
          +        max = this._actualMaximum;
          +        if(Y_Lang.isNumber(roundingMethod) &amp;&amp; ((Y_Lang.isNumber(max) &amp;&amp; max &gt; this._dataMaximum) || (Y_Lang.isNumber(min) &amp;&amp; min &lt; this._dataMinimum)))
          +        {
          +            return true;
          +        }
          +        return false;
          +    }
          +});
          +
          +Y.NumericAxis = NumericAxis;
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChart.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChart.js.html
          new file mode 100644
          index 000000000..544febc27
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChart.js.html
          @@ -0,0 +1,741 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;PieChart.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;PieChart.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The PieChart class creates a pie chart
          + *
          + * @module charts
          + * @class PieChart
          + * @extends ChartBase
          + * @constructor
          + *&#x2F;
          +Y.PieChart = Y.Base.create(&quot;pieChart&quot;, Y.Widget, [Y.ChartBase], {
          +    &#x2F;**
          +     * Calculates and returns a &#x60;seriesCollection&#x60;.
          +     *
          +     * @method _getSeriesCollection
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getSeriesCollection: function()
          +    {
          +        if(this._seriesCollection)
          +        {
          +            return this._seriesCollection;
          +        }
          +        var axes = this.get(&quot;axes&quot;),
          +            sc = [], 
          +            seriesKeys,
          +            i = 0,
          +            l,
          +            type = this.get(&quot;type&quot;),
          +            key,
          +            catAxis = &quot;categoryAxis&quot;,
          +            catKey = &quot;categoryKey&quot;,
          +            valAxis = &quot;valueAxis&quot;,
          +            seriesKey = &quot;valueKey&quot;;
          +        if(axes)
          +        {
          +            seriesKeys = axes.values.get(&quot;keyCollection&quot;);
          +            key = axes.category.get(&quot;keyCollection&quot;)[0];
          +            l = seriesKeys.length;
          +            for(; i &lt; l; ++i)
          +            {
          +                sc[i] = {type:type};
          +                sc[i][catAxis] = &quot;category&quot;;
          +                sc[i][valAxis] = &quot;values&quot;;
          +                sc[i][catKey] = key;
          +                sc[i][seriesKey] = seriesKeys[i];
          +            }
          +        }
          +        this._seriesCollection = sc;
          +        return sc;
          +    },
          +
          +    &#x2F;**
          +     * Creates &#x60;Axis&#x60; instances.
          +     *
          +     * @method _parseAxes
          +     * @param {Object} val Object containing &#x60;Axis&#x60; instances or objects in which to construct &#x60;Axis&#x60; instances.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _parseAxes: function(hash)
          +    {
          +        if(!this._axes)
          +        {
          +            this._axes = {};
          +        }
          +        var i, pos, axis, dh, config, axisClass,
          +            type = this.get(&quot;type&quot;),
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            node = Y.Node.one(this._parentNode);
          +        if(!w)
          +        {
          +            this.set(&quot;width&quot;, node.get(&quot;offsetWidth&quot;));
          +            w = this.get(&quot;width&quot;);
          +        }
          +        if(!h)
          +        {
          +            this.set(&quot;height&quot;, node.get(&quot;offsetHeight&quot;));
          +            h = this.get(&quot;height&quot;);
          +        }
          +        for(i in hash)
          +        {
          +            if(hash.hasOwnProperty(i))
          +            {
          +                dh = hash[i];
          +                pos = type == &quot;pie&quot; ? &quot;none&quot; : dh.position;
          +                axisClass = this._getAxisClass(dh.type);
          +                config = {dataProvider:this.get(&quot;dataProvider&quot;)};
          +                if(dh.hasOwnProperty(&quot;roundingUnit&quot;))
          +                {
          +                    config.roundingUnit = dh.roundingUnit;
          +                }
          +                config.keys = dh.keys;
          +                config.width = w;
          +                config.height = h;
          +                config.position = pos;
          +                config.styles = dh.styles;
          +                axis = new axisClass(config);
          +                axis.on(&quot;axisRendered&quot;, Y.bind(this._itemRendered, this));
          +                this._axes[i] = axis;
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Adds axes to the chart.
          +     *
          +     * @method _addAxes
          +     * @private
          +     *&#x2F;
          +    _addAxes: function()
          +    {
          +        var axes = this.get(&quot;axes&quot;),
          +            i, 
          +            axis, 
          +            p;
          +        if(!axes)
          +        {
          +            this.set(&quot;axes&quot;, this._getDefaultAxes());
          +            axes = this.get(&quot;axes&quot;);
          +        }
          +        if(!this._axesCollection)
          +        {   
          +            this._axesCollection = [];
          +        }
          +        for(i in axes)
          +        {
          +            if(axes.hasOwnProperty(i))
          +            {
          +                axis = axes[i];
          +                p = axis.get(&quot;position&quot;);
          +                if(!this.get(p + &quot;AxesCollection&quot;))
          +                {
          +                    this.set(p + &quot;AxesCollection&quot;, [axis]);
          +                }
          +                else
          +                {
          +                    this.get(p + &quot;AxesCollection&quot;).push(axis);
          +                }
          +                this._axesCollection.push(axis);
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Renders the Graph.
          +     *
          +     * @method _addSeries
          +     * @private
          +     *&#x2F;
          +    _addSeries: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            seriesCollection = this.get(&quot;seriesCollection&quot;);
          +        this._parseSeriesAxes(seriesCollection);
          +        graph.set(&quot;showBackground&quot;, false);
          +        graph.set(&quot;width&quot;, this.get(&quot;width&quot;));
          +        graph.set(&quot;height&quot;, this.get(&quot;height&quot;));
          +        graph.set(&quot;seriesCollection&quot;, seriesCollection);
          +        this._seriesCollection = graph.get(&quot;seriesCollection&quot;);
          +        graph.render(this.get(&quot;contentBox&quot;));
          +    },
          +
          +    &#x2F;**
          +     * Parse and sets the axes for the chart.
          +     *
          +     * @method _parseSeriesAxes
          +     * @param {Array} c A collection &#x60;PieSeries&#x60; instance.
          +     * @private
          +     *&#x2F;
          +    _parseSeriesAxes: function(c)
          +    {
          +        var i = 0, 
          +            len = c.length, 
          +            s,
          +            axes = this.get(&quot;axes&quot;),
          +            axis;
          +        for(; i &lt; len; ++i)
          +        {
          +            s = c[i];
          +            if(s)
          +            {
          +                &#x2F;&#x2F;If series is an actual series instance, 
          +                &#x2F;&#x2F;replace axes attribute string ids with axes
          +                if(s instanceof Y.PieSeries)
          +                {
          +                    axis = s.get(&quot;categoryAxis&quot;);
          +                    if(axis &amp;&amp; !(axis instanceof Y.Axis))
          +                    {
          +                        s.set(&quot;categoryAxis&quot;, axes[axis]);
          +                    }
          +                    axis = s.get(&quot;valueAxis&quot;);
          +                    if(axis &amp;&amp; !(axis instanceof Y.Axis))
          +                    {
          +                        s.set(&quot;valueAxis&quot;, axes[axis]);
          +                    }
          +                    continue;
          +                }
          +                s.categoryAxis = axes.category;
          +                s.valueAxis = axes.values;
          +                if(!s.type)
          +                {
          +                    s.type = this.get(&quot;type&quot;);
          +                }
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Generates and returns a key-indexed object containing &#x60;Axis&#x60; instances or objects used to create &#x60;Axis&#x60; instances.
          +     *
          +     * @method _getDefaultAxes
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getDefaultAxes: function()
          +    {
          +        var catKey = this.get(&quot;categoryKey&quot;),
          +            seriesKeys = this.get(&quot;seriesKeys&quot;) || [], 
          +            seriesAxis = &quot;numeric&quot;,
          +            i, 
          +            dv = this.get(&quot;dataProvider&quot;)[0];
          +        if(seriesKeys.length &lt; 1)
          +        {
          +            for(i in dv)
          +            {
          +                if(i != catKey)
          +                {
          +                    seriesKeys.push(i);
          +                }
          +            }
          +            if(seriesKeys.length &gt; 0)
          +            {
          +                this.set(&quot;seriesKeys&quot;, seriesKeys);
          +            }
          +        }
          +        return {
          +            values:{
          +                keys:seriesKeys,
          +                type:seriesAxis
          +            },
          +            category:{
          +                keys:[catKey],
          +                type:this.get(&quot;categoryType&quot;)
          +            }
          +        };
          +    },
          +        
          +    &#x2F;**
          +     * Returns an object literal containing a categoryItem and a valueItem for a given series index.
          +     *
          +     * @method getSeriesItem
          +     * @param series Reference to a series.
          +     * @param index Index of the specified item within a series.
          +     * @return Object
          +     *&#x2F;
          +    getSeriesItems: function(series, index)
          +    {
          +        var categoryItem = {
          +                axis: series.get(&quot;categoryAxis&quot;),
          +                key: series.get(&quot;categoryKey&quot;),
          +                displayName: series.get(&quot;categoryDisplayName&quot;)
          +            },
          +            valueItem = {
          +                axis: series.get(&quot;valueAxis&quot;),
          +                key: series.get(&quot;valueKey&quot;),
          +                displayName: series.get(&quot;valueDisplayName&quot;)
          +            };
          +        categoryItem.value = categoryItem.axis.getKeyValueAt(categoryItem.key, index);
          +        valueItem.value = valueItem.axis.getKeyValueAt(valueItem.key, index);
          +        return {category:categoryItem, value:valueItem};
          +    },
          +
          +    &#x2F;**
          +     * Handler for sizeChanged event.
          +     *
          +     * @method _sizeChanged
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _sizeChanged: function(e)
          +    {
          +        this._redraw();
          +    },
          +
          +    &#x2F;**
          +     * Redraws the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     *&#x2F;
          +    _redraw: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            dimension;
          +        if(graph)
          +        {
          +            dimension = Math.min(w, h);
          +            graph.set(&quot;width&quot;, dimension);
          +            graph.set(&quot;height&quot;, dimension);
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Formats tooltip text for a pie chart.
          +     *
          +     * @method _tooltipLabelFunction
          +     * @param {Object} categoryItem An object containing the following:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the category is bound.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name set to the category (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key of the category.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value of the category&lt;&#x2F;dd&gt;
          +     *  &lt;&#x2F;dl&gt;
          +     * @param {Object} valueItem An object containing the following:
          +     *  &lt;dl&gt;
          +     *      &lt;dt&gt;axis&lt;&#x2F;dt&gt;&lt;dd&gt;The axis to which the item&#x27;s series is bound.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;displayName&lt;&#x2F;dt&gt;&lt;dd&gt;The display name of the series. (defaults to key if not provided)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;key&lt;&#x2F;dt&gt;&lt;dd&gt;The key for the series.&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;value&lt;&#x2F;dt&gt;&lt;dd&gt;The value for the series item.&lt;&#x2F;dd&gt; 
          +     *  &lt;&#x2F;dl&gt;
          +     * @param {Number} itemIndex The index of the item within the series.
          +     * @param {CartesianSeries} series The &#x60;PieSeries&#x60; instance of the item.
          +     * @param {Number} seriesIndex The index of the series in the &#x60;seriesCollection&#x60;.
          +     * @return {HTML}
          +     * @private
          +     *&#x2F;
          +    _tooltipLabelFunction: function(categoryItem, valueItem, itemIndex, series, seriesIndex)
          +    {
          +        var msg = DOCUMENT.createElement(&quot;div&quot;),
          +            total = series.getTotalValues(),
          +            pct = Math.round((valueItem.value &#x2F; total) * 10000)&#x2F;100;
          +        msg.appendChild(DOCUMENT.createTextNode(categoryItem.displayName +
          +        &quot;: &quot; + categoryItem.axis.get(&quot;labelFunction&quot;).apply(this, [categoryItem.value, categoryItem.axis.get(&quot;labelFormat&quot;)]))); 
          +        msg.appendChild(DOCUMENT.createElement(&quot;br&quot;));
          +        msg.appendChild(DOCUMENT.createTextNode(valueItem.displayName + 
          +        &quot;: &quot; + valueItem.axis.get(&quot;labelFunction&quot;).apply(this, [valueItem.value, valueItem.axis.get(&quot;labelFormat&quot;)])));
          +        msg.appendChild(DOCUMENT.createElement(&quot;br&quot;));
          +        msg.appendChild(DOCUMENT.createTextNode(pct + &quot;%&quot;)); 
          +        return msg; 
          +    },
          +
          +    &#x2F;**
          +     * Returns the appropriate message based on the key press.
          +     *
          +     * @method _getAriaMessage
          +     * @param {Number} key The keycode that was pressed.
          +     * @return String
          +     *&#x2F;
          +    _getAriaMessage: function(key)
          +    {
          +        var msg = &quot;&quot;,
          +            categoryItem,
          +            items,
          +            series,
          +            valueItem,
          +            seriesIndex = 0,
          +            itemIndex = this._itemIndex,
          +            seriesCollection = this.get(&quot;seriesCollection&quot;),
          +            len,
          +            total,
          +            pct,
          +            markers;
          +        series = this.getSeries(parseInt(seriesIndex, 10));
          +        markers = series.get(&quot;markers&quot;);
          +        len = markers &amp;&amp; markers.length ? markers.length : 0;
          +        if(key === 37)
          +        {
          +            itemIndex = itemIndex &gt; 0 ? itemIndex - 1 : len - 1;
          +        }
          +        else if(key === 39)
          +        {
          +            itemIndex = itemIndex &gt;= len - 1 ? 0 : itemIndex + 1;
          +        }
          +        this._itemIndex = itemIndex;
          +        items = this.getSeriesItems(series, itemIndex);
          +        categoryItem = items.category;
          +        valueItem = items.value;
          +        total = series.getTotalValues();
          +        pct = Math.round((valueItem.value &#x2F; total) * 10000)&#x2F;100;
          +        if(categoryItem &amp;&amp; valueItem)
          +        {
          +            msg += categoryItem.displayName + &quot;: &quot; + categoryItem.axis.formatLabel.apply(this, [categoryItem.value, categoryItem.axis.get(&quot;labelFormat&quot;)]) + &quot;, &quot;;
          +            msg += valueItem.displayName + &quot;: &quot; + valueItem.axis.formatLabel.apply(this, [valueItem.value, valueItem.axis.get(&quot;labelFormat&quot;)]) + &quot;, &quot;; 
          +            msg += &quot;Percent of total &quot; + valueItem.displayName + &quot;: &quot; + pct + &quot;%,&quot;; 
          +        }
          +        else
          +        {
          +            msg += &quot;No data available,&quot;;
          +        }
          +        msg += (itemIndex + 1) + &quot; of &quot; + len + &quot;. &quot;;
          +        return msg;
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Sets the aria description for the chart.
          +         *
          +         * @attribute ariaDescription
          +         * @type String
          +         *&#x2F;
          +        ariaDescription: {
          +            value: &quot;Use the left and right keys to navigate through items.&quot;,
          +
          +            setter: function(val)
          +            {
          +                if(this._description)
          +                {
          +                    this._description.setContent(&quot;&quot;);
          +                    this._description.appendChild(DOCUMENT.createTextNode(val));
          +                }
          +                return val;
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Axes to appear in the chart. 
          +         *
          +         * @attribute axes
          +         * @type Object
          +         *&#x2F;
          +        axes: {
          +            getter: function()
          +            {
          +                return this._axes;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._parseAxes(val);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Collection of series to appear on the chart. This can be an array of Series instances or object literals
          +         * used to describe a Series instance.
          +         *
          +         * @attribute seriesCollection
          +         * @type Array
          +         *&#x2F;
          +        seriesCollection: {
          +            getter: function()
          +            {
          +                return this._getSeriesCollection();
          +            },
          +            
          +            setter: function(val)
          +            {
          +                return this._setSeriesCollection(val);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Type of chart when there is no series collection specified.
          +         *
          +         * @attribute type
          +         * @type String 
          +         *&#x2F;
          +        type: {
          +            value: &quot;pie&quot;
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChartLegend.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChartLegend.js.html
          new file mode 100644
          index 000000000..37ab3a825
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieChartLegend.js.html
          @@ -0,0 +1,408 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;PieChartLegend.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;PieChartLegend.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +var PieChartLegend = Y.Base.create(&quot;pieChartLegend&quot;, Y.PieChart, [], {
          +    &#x2F;**
          +     * Redraws the chart instance.
          +     *
          +     * @method _redraw
          +     * @private
          +     *&#x2F;
          +    _redraw: function()
          +    {
          +        if(this._drawing)
          +        {
          +            this._callLater = true;
          +            return;
          +        }
          +        this._drawing = true;
          +        this._callLater = false;
          +        var graph = this.get(&quot;graph&quot;),
          +            w = this.get(&quot;width&quot;),
          +            h = this.get(&quot;height&quot;),
          +            graphWidth,
          +            graphHeight,
          +            legend = this.get(&quot;legend&quot;),
          +            x = 0,
          +            y = 0,
          +            legendX = 0,
          +            legendY = 0,
          +            legendWidth,
          +            legendHeight,
          +            dimension,
          +            gap,
          +            position,
          +            direction;
          +        if(graph)
          +        {
          +            if(legend)
          +            {
          +                position = legend.get(&quot;position&quot;);
          +                direction = legend.get(&quot;direction&quot;);
          +                graphWidth = graph.get(&quot;width&quot;);
          +                graphHeight = graph.get(&quot;height&quot;);
          +                legendWidth = legend.get(&quot;width&quot;);
          +                legendHeight = legend.get(&quot;height&quot;);
          +                gap = legend.get(&quot;styles&quot;).gap;
          +                
          +                if((direction == &quot;vertical&quot; &amp;&amp; (graphWidth + legendWidth + gap !== w)) || (direction == &quot;horizontal&quot; &amp;&amp;  (graphHeight + legendHeight + gap !== h)))
          +                {
          +                    switch(legend.get(&quot;position&quot;))
          +                    {
          +                        case LEFT :
          +                            dimension = Math.min(w - (legendWidth + gap), h);
          +                            legendHeight = h;
          +                            x = legendWidth + gap;
          +                            legend.set(HEIGHT, legendHeight);
          +                        break;
          +                        case TOP :
          +                            dimension = Math.min(h - (legendHeight + gap), w); 
          +                            legendWidth = w;
          +                            y = legendHeight + gap;
          +                            legend.set(WIDTH, legendWidth);
          +                        break;
          +                        case RIGHT :
          +                            dimension = Math.min(w - (legendWidth + gap), h);
          +                            legendHeight = h;
          +                            legendX = dimension + gap;
          +                            legend.set(HEIGHT, legendHeight);
          +                        break;
          +                        case BOTTOM :
          +                            dimension = Math.min(h - (legendHeight + gap), w); 
          +                            legendWidth = w;
          +                            legendY = dimension + gap; 
          +                            legend.set(WIDTH, legendWidth);
          +                        break;
          +                    }
          +                    graph.set(WIDTH, dimension);
          +                    graph.set(HEIGHT, dimension);
          +                }
          +                else
          +                {
          +                    switch(legend.get(&quot;position&quot;))
          +                    {   
          +                        case LEFT :
          +                            x = legendWidth + gap;
          +                        break;
          +                        case TOP :
          +                            y = legendHeight + gap;
          +                        break;
          +                        case RIGHT :
          +                            legendX = graphWidth + gap;
          +                        break;
          +                        case BOTTOM :
          +                            legendY = graphHeight + gap; 
          +                        break;
          +                    }
          +                }
          +            }
          +            else
          +            {
          +                graph.set(_X, 0);
          +                graph.set(_Y, 0);
          +                graph.set(WIDTH, w);
          +                graph.set(HEIGHT, h);
          +            }
          +        }
          +        this._drawing = false;
          +        if(this._callLater)
          +        {
          +            this._redraw();
          +            return;
          +        }
          +        if(graph)
          +        {
          +            graph.set(_X, x);
          +            graph.set(_Y, y);
          +        }
          +        if(legend)
          +        {
          +            legend.set(_X, legendX);
          +            legend.set(_Y, legendY);
          +        }
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * The legend for the chart.
          +         *
          +         * @attribute
          +         * @type Legend
          +         *&#x2F;
          +        legend: LEGEND
          +    }
          +});
          +Y.PieChart = PieChartLegend;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieSeries.js.html
          new file mode 100644
          index 000000000..6dd0c249c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_PieSeries.js.html
          @@ -0,0 +1,1005 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;PieSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;PieSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * PieSeries visualizes data as a circular chart divided into wedges which represent data as a 
          + * percentage of a whole.
          + *
          + * @module charts
          + * @class PieSeries
          + * @constructor
          + * @extends MarkerSeries
          + *&#x2F;
          +Y.PieSeries = Y.Base.create(&quot;pieSeries&quot;, Y.MarkerSeries, [], { 
          +    &#x2F;**
          +     * Image map used for interactivity when rendered with canvas.
          +     *
          +     * @property _map
          +     * @type HTMLElement
          +     * @private
          +     *&#x2F;
          +    _map: null,
          +
          +    &#x2F;**
          +     * Image used for image map when rendered with canvas.
          +     *
          +     * @property _image
          +     * @type HTMLElement
          +     * @private
          +     *&#x2F;
          +    _image: null,
          +
          +    &#x2F;**
          +     * Creates or updates the image map when rendered with canvas.
          +     *
          +     * @method _setMap
          +     * @private
          +     *&#x2F;
          +    _setMap: function()
          +    {
          +        var id = &quot;pieHotSpotMapi_&quot; + Math.round(100000 * Math.random()),
          +            cb = this.get(&quot;graph&quot;).get(&quot;contentBox&quot;),
          +            areaNode;
          +        if(this._image)
          +        {
          +            cb.removeChild(this._image);
          +            while(this._areaNodes &amp;&amp; this._areaNodes.length &gt; 0)
          +            {
          +                areaNode = this._areaNodes.shift();
          +                this._map.removeChild(areaNode);
          +            }
          +            cb.removeChild(this._map);
          +        }
          +        this._image = DOCUMENT.createElement(&quot;img&quot;); 
          +        this._image.src = &quot;data:image&#x2F;png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd&#x2F;wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==&quot;;
          +        cb.appendChild(this._image);
          +        this._image.setAttribute(&quot;usemap&quot;, &quot;#&quot; + id);
          +        this._image.style.zIndex = 3;
          +        this._image.style.opacity = 0;
          +        this._image.setAttribute(&quot;alt&quot;, &quot;imagemap&quot;);
          +        this._map = DOCUMENT.createElement(&quot;map&quot;);
          +        this._map.style.zIndex = 5;
          +        cb.appendChild(this._map);
          +        this._map.setAttribute(&quot;name&quot;, id);
          +        this._map.setAttribute(&quot;id&quot;, id);
          +        this._areaNodes = [];
          +    },
          +
          +    &#x2F;**
          +     * Storage for &#x60;categoryDisplayName&#x60; attribute.
          +     *
          +     * @property _categoryDisplayName
          +     * @private
          +     *&#x2F;
          +    _categoryDisplayName: null,
          +    
          +    &#x2F;**
          +     * Storage for &#x60;valueDisplayName&#x60; attribute.
          +     *
          +     * @property _valueDisplayName
          +     * @private
          +     *&#x2F;
          +    _valueDisplayName: null,
          +
          +    &#x2F;**
          +     * Adds event listeners.
          +     *
          +     * @method addListeners
          +     * @private
          +     *&#x2F;
          +    addListeners: function()
          +    {
          +        var categoryAxis = this.get(&quot;categoryAxis&quot;),
          +            valueAxis = this.get(&quot;valueAxis&quot;);
          +        if(categoryAxis)
          +        {
          +            categoryAxis.after(&quot;dataReady&quot;, Y.bind(this._categoryDataChangeHandler, this));
          +            categoryAxis.after(&quot;dataUpdate&quot;, Y.bind(this._categoryDataChangeHandler, this));
          +        }
          +        if(valueAxis)
          +        {
          +            valueAxis.after(&quot;dataReady&quot;, Y.bind(this._valueDataChangeHandler, this));
          +            valueAxis.after(&quot;dataUpdate&quot;, Y.bind(this._valueDataChangeHandler, this));
          +        }
          +        this.after(&quot;categoryAxisChange&quot;, this.categoryAxisChangeHandler);
          +        this.after(&quot;valueAxisChange&quot;, this.valueAxisChangeHandler);
          +        this.after(&quot;stylesChange&quot;, this._updateHandler);
          +    },
          +    
          +    &#x2F;**
          +     * Draws the series.
          +     *
          +     * @method validate
          +     * @private
          +     *&#x2F;
          +    validate: function()
          +    {
          +        this.draw();
          +        this._renderered = true;
          +    },
          +
          +    &#x2F;**
          +     * Event handler for the categoryAxisChange event.
          +     *
          +     * @method _categoryAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _categoryAxisChangeHandler: function(e)
          +    {
          +        var categoryAxis = this.get(&quot;categoryAxis&quot;);
          +        categoryAxis.after(&quot;dataReady&quot;, Y.bind(this._categoryDataChangeHandler, this));
          +        categoryAxis.after(&quot;dataUpdate&quot;, Y.bind(this._categoryDataChangeHandler, this));
          +    },
          +    
          +    &#x2F;**
          +     * Event handler for the valueAxisChange event.
          +     *
          +     * @method _valueAxisChangeHandler
          +     * @param {Object} e Event object.
          +     * @private
          +     *&#x2F;
          +    _valueAxisChangeHandler: function(e)
          +    {
          +        var valueAxis = this.get(&quot;valueAxis&quot;);
          +        valueAxis.after(&quot;dataReady&quot;, Y.bind(this._valueDataChangeHandler, this));
          +        valueAxis.after(&quot;dataUpdate&quot;, Y.bind(this._valueDataChangeHandler, this));
          +    },
          +	
          +    &#x2F;**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    GUID: &quot;pieseries&quot;,
          +	
          +    &#x2F;**
          +     * Event handler for categoryDataChange event.
          +     *
          +     * @method _categoryDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     *&#x2F;
          +    _categoryDataChangeHandler: function(event)
          +    {
          +       if(this._rendered &amp;&amp; this.get(&quot;categoryKey&quot;) &amp;&amp; this.get(&quot;valueKey&quot;))
          +        {
          +            this.draw();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Event handler for valueDataChange event.
          +     *
          +     * @method _valueDataChangeHandler
          +     * @param {Object} event Event object.
          +     * @private 
          +     *&#x2F;
          +    _valueDataChangeHandler: function(event)
          +    {
          +        if(this._rendered &amp;&amp; this.get(&quot;categoryKey&quot;) &amp;&amp; this.get(&quot;valueKey&quot;))
          +        {
          +            this.draw();
          +        }
          +    },
          +   
          +    &#x2F;**
          +     * Draws the series. Overrides the base implementation.
          +     *
          +     * @method draw
          +     * @protected
          +     *&#x2F;
          +    draw: function()
          +    {
          +        var graph = this.get(&quot;graph&quot;),
          +            w = graph.get(&quot;width&quot;),
          +            h = graph.get(&quot;height&quot;);
          +        if(isFinite(w) &amp;&amp; isFinite(h) &amp;&amp; w &gt; 0 &amp;&amp; h &gt; 0)
          +        {   
          +            this._rendered = true;
          +            if(this._drawing)
          +            {
          +                this._callLater = true;
          +                return;
          +            }
          +            this._drawing = true;
          +            this._callLater = false;
          +            this.drawSeries();
          +            this._drawing = false;
          +            if(this._callLater)
          +            {
          +                this.draw();
          +            }
          +            else
          +            {
          +                this.fire(&quot;drawingComplete&quot;);
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws the markers
          +     *
          +     * @method drawPlots
          +     * @protected
          +     *&#x2F;
          +    drawPlots: function()
          +    {
          +        var values = this.get(&quot;valueAxis&quot;).getDataByKey(this.get(&quot;valueKey&quot;)).concat(),
          +            catValues = this.get(&quot;categoryAxis&quot;).getDataByKey(this.get(&quot;categoryKey&quot;)).concat(),
          +            totalValue = 0,
          +            itemCount = values.length,
          +            styles = this.get(&quot;styles&quot;).marker,
          +            fillColors = styles.fill.colors,
          +            fillAlphas = styles.fill.alphas || [&quot;1&quot;],
          +            borderColors = styles.border.colors,
          +            borderWeights = [styles.border.weight],
          +            borderAlphas = [styles.border.alpha],
          +            tbw = borderWeights.concat(),
          +            tbc = borderColors.concat(),
          +            tba = borderAlphas.concat(),
          +            tfc,
          +            tfa,
          +            padding = styles.padding,
          +            graph = this.get(&quot;graph&quot;),
          +            minDimension = Math.min(graph.get(&quot;width&quot;), graph.get(&quot;height&quot;)),
          +            w = minDimension - (padding.left + padding.right),
          +            h = minDimension - (padding.top + padding.bottom),
          +            startAngle = -90,
          +            halfWidth = w &#x2F; 2,
          +            halfHeight = h &#x2F; 2,
          +            radius = Math.min(halfWidth, halfHeight),
          +            i = 0,
          +            value,
          +            angle = 0,
          +            lc,
          +            la,
          +            lw,
          +            wedgeStyle,
          +            marker,
          +            graphOrder = this.get(&quot;graphOrder&quot;),
          +            isCanvas = Y.Graphic.NAME == &quot;canvasGraphic&quot;;
          +        for(; i &lt; itemCount; ++i)
          +        {
          +            value = parseFloat(values[i]);
          +            
          +            values.push(value);
          +            if(!isNaN(value))
          +            {
          +                totalValue += value;
          +            }
          +        }
          +        
          +        tfc = fillColors ? fillColors.concat() : null;
          +        tfa = fillAlphas ? fillAlphas.concat() : null;
          +        this._createMarkerCache();
          +        if(isCanvas)
          +        {
          +            this._setMap();
          +            this._image.width = w;
          +            this._image.height = h;
          +        }
          +        for(i = 0; i &lt; itemCount; i++)
          +        {
          +            value = values[i];
          +            if(totalValue === 0)
          +            {
          +                angle = 360 &#x2F; values.length;
          +            }
          +            else
          +            {
          +                angle = 360 * (value &#x2F; totalValue);
          +            }
          +            angle = Math.round(angle);
          +            if(tfc &amp;&amp; tfc.length &lt; 1)
          +            {
          +                tfc = fillColors.concat();
          +            }
          +            if(tfa &amp;&amp; tfa.length &lt; 1)
          +            {
          +                tfa = fillAlphas.concat();
          +            }
          +            if(tbw &amp;&amp; tbw.length &lt; 1)
          +            {
          +                tbw = borderWeights.concat();
          +            }
          +            if(tbw &amp;&amp; tbc.length &lt; 1)
          +            {
          +                tbc = borderColors.concat();
          +            }
          +            if(tba &amp;&amp; tba.length &lt; 1)
          +            {
          +                tba = borderAlphas.concat();
          +            }
          +            lw = tbw ? tbw.shift() : null;
          +            lc = tbc ? tbc.shift() : null;
          +            la = tba ? tba.shift() : null;
          +            startAngle += angle;
          +            wedgeStyle = {
          +                border: {
          +                    color:lc,
          +                    weight:lw,
          +                    alpha:la
          +                },
          +                fill: {
          +                    color:tfc ? tfc.shift() : this._getDefaultColor(i, &quot;slice&quot;),
          +                    alpha:tfa ? tfa.shift() : null
          +                },
          +                type: &quot;pieslice&quot;,
          +                arc: angle,
          +                radius: radius,
          +                startAngle: startAngle,
          +                cx: halfWidth,
          +                cy: halfHeight,
          +                width: w,
          +                height: h
          +            };
          +            marker = this.getMarker(wedgeStyle, graphOrder, i);
          +            if(isCanvas)
          +            {
          +                this._addHotspot(wedgeStyle, graphOrder, i);
          +            }
          +        }
          +        this._clearMarkerCache();
          +    },
          +
          +    &#x2F;**
          +     *  Adds an interactive map when rendering in canvas.
          +     *
          +     *  @method _addHotspot
          +     *  @param {Object} cfg Object containing data used to draw the hotspot
          +     *  @param {Number} seriesIndex Index of series in the &#x60;seriesCollection&#x60;.
          +     *  @param {Number} index Index of the marker using the hotspot.
          +     *  @private
          +     *&#x2F;
          +    _addHotspot: function(cfg, seriesIndex, index)
          +    {
          +        var areaNode = DOCUMENT.createElement(&quot;area&quot;),
          +            i = 1,
          +            x = cfg.cx,
          +            y = cfg.cy, 
          +            arc = cfg.arc,
          +            startAngle = cfg.startAngle - arc, 
          +            endAngle = cfg.startAngle,
          +            radius = cfg.radius, 
          +            ax = x + Math.cos(startAngle &#x2F; 180 * Math.PI) * radius,
          +            ay = y + Math.sin(startAngle &#x2F; 180 * Math.PI) * radius,
          +            bx = x + Math.cos(endAngle &#x2F; 180 * Math.PI) * radius,
          +            by = y + Math.sin(endAngle &#x2F; 180 * Math.PI) * radius,
          +            numPoints = Math.floor(arc&#x2F;10) - 1,
          +            divAngle = (arc&#x2F;(Math.floor(arc&#x2F;10)) &#x2F; 180) * Math.PI,
          +            angleCoord = Math.atan((ay - y)&#x2F;(ax - x)),
          +            pts = x + &quot;, &quot; + y + &quot;, &quot; + ax + &quot;, &quot; + ay,
          +            cosAng,
          +            sinAng,
          +            multDivAng;
          +        for(i = 1; i &lt;= numPoints; ++i)
          +        {
          +            multDivAng = divAngle * i;
          +            cosAng = Math.cos(angleCoord + multDivAng);
          +            sinAng = Math.sin(angleCoord + multDivAng);
          +            if(startAngle &lt;= 90)
          +            {
          +                pts += &quot;, &quot; + (x + (radius * Math.cos(angleCoord + (divAngle * i))));
          +                pts += &quot;, &quot; + (y + (radius * Math.sin(angleCoord + (divAngle * i))));
          +            }
          +            else
          +            {
          +                pts += &quot;, &quot; + (x - (radius * Math.cos(angleCoord + (divAngle * i))));
          +                pts += &quot;, &quot; + (y - (radius * Math.sin(angleCoord + (divAngle * i))));
          +            }
          +        }
          +        pts += &quot;, &quot; + bx + &quot;, &quot; + by;
          +        pts += &quot;, &quot; + x + &quot;, &quot; + y;
          +        this._map.appendChild(areaNode);
          +        areaNode.setAttribute(&quot;class&quot;, SERIES_MARKER);
          +        areaNode.setAttribute(&quot;id&quot;, &quot;hotSpot_&quot; + seriesIndex + &quot;_&quot; + index);
          +        areaNode.setAttribute(&quot;shape&quot;, &quot;polygon&quot;);
          +        areaNode.setAttribute(&quot;coords&quot;, pts);
          +        this._areaNodes.push(areaNode);
          +
          +    },
          +
          +    &#x2F;**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers[i])
          +        {
          +            var state = this._getState(type),
          +                markerStyles,
          +                indexStyles,
          +                marker = this._markers[i],
          +                styles = this.get(&quot;styles&quot;).marker; 
          +            markerStyles = state == &quot;off&quot; || !styles[state] ? styles : styles[state]; 
          +            indexStyles = this._mergeStyles(markerStyles, {});
          +            indexStyles.fill.color = indexStyles.fill.colors[i % indexStyles.fill.colors.length];
          +            indexStyles.fill.alpha = indexStyles.fill.alphas[i % indexStyles.fill.alphas.length];
          +            marker.set(indexStyles);
          +        }
          +    },
          +    
          +    &#x2F;**
          +     * Creates a shape to be used as a marker.
          +     *
          +     * @method _createMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @private
          +     *&#x2F;
          +    _createMarker: function(styles, order, index)
          +    {
          +        var graphic = this.get(&quot;graphic&quot;),
          +            marker,
          +            cfg = Y.clone(styles);
          +        graphic.set(&quot;autoDraw&quot;, false);
          +        marker = graphic.addShape(cfg); 
          +        marker.addClass(SERIES_MARKER);
          +        return marker;
          +    },
          +    
          +    &#x2F;**
          +     * Creates a cache of markers for reuse.
          +     *
          +     * @method _createMarkerCache
          +     * @private
          +     *&#x2F;
          +    _clearMarkerCache: function()
          +    {
          +        var len = this._markerCache.length,
          +            i = 0,
          +            marker;
          +        for(; i &lt; len; ++i)
          +        {
          +            marker = this._markerCache[i];
          +            if(marker)
          +            {
          +                marker.destroy();
          +            }
          +        }
          +        this._markerCache = [];
          +    },
          +
          +    &#x2F;**
          +     * Gets the default style values for the markers.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +         var defs = {
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            },
          +            fill:{
          +                alphas:[&quot;1&quot;]
          +            },
          +            border: {
          +                weight: 0,
          +                alpha: 1
          +            }
          +        };
          +        defs.fill.colors = this._defaultSliceColors;
          +        defs.border.colors = this._defaultBorderColors;
          +        return defs;
          +    },
          +
          +    &#x2F;**
          +     * Collection of default colors used for lines in a series when not specified by user.
          +     *
          +     * @property _defaultLineColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultLineColors:[&quot;#426ab3&quot;, &quot;#d09b2c&quot;, &quot;#000000&quot;, &quot;#b82837&quot;, &quot;#b384b5&quot;, &quot;#ff7200&quot;, &quot;#779de3&quot;, &quot;#cbc8ba&quot;, &quot;#7ed7a6&quot;, &quot;#007a6c&quot;],
          +
          +    &#x2F;**
          +     * Collection of default colors used for marker fills in a series when not specified by user.
          +     *
          +     * @property _defaultFillColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultFillColors:[&quot;#6084d0&quot;, &quot;#eeb647&quot;, &quot;#6c6b5f&quot;, &quot;#d6484f&quot;, &quot;#ce9ed1&quot;, &quot;#ff9f3b&quot;, &quot;#93b7ff&quot;, &quot;#e0ddd0&quot;, &quot;#94ecba&quot;, &quot;#309687&quot;],
          +    
          +    &#x2F;**
          +     * Collection of default colors used for marker borders in a series when not specified by user.
          +     *
          +     * @property _defaultBorderColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultBorderColors:[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;],
          +    
          +    &#x2F;**
          +     * Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.
          +     *
          +     * @property _defaultSliceColors
          +     * @type Array
          +     * @protected
          +     *&#x2F;
          +    _defaultSliceColors: [&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;],
          +
          +    &#x2F;**
          +     * Colors used if style colors are not specified
          +     *
          +     * @method _getDefaultColor
          +     * @param {Number} index Index indicating the series order.
          +     * @param {String} type Indicates which type of object needs the color.
          +     * @return String
          +     * @protected
          +     *&#x2F;
          +    _getDefaultColor: function(index, type)
          +    {
          +        var colors = {
          +                line: this._defaultLineColors,
          +                fill: this._defaultFillColors,
          +                border: this._defaultBorderColors,
          +                slice: this._defaultSliceColors
          +            },
          +            col = colors[type],
          +            l = col.length;
          +        index = index || 0;
          +        if(index &gt;= l)
          +        {
          +            index = index % l;
          +        }
          +        type = type || &quot;fill&quot;;
          +        return colors[type][index];
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default pie
          +         *&#x2F;
          +        type: {		
          +            value: &quot;pie&quot;
          +        },
          +        
          +        &#x2F;**
          +         * Order of this instance of this &#x60;type&#x60;.
          +         *
          +         * @attribute order
          +         * @type Number
          +         *&#x2F;
          +        order: {},
          +
          +        &#x2F;**
          +         * Reference to the &#x60;Graph&#x60; in which the series is drawn into.
          +         *
          +         * @attribute graph
          +         * @type Graph
          +         *&#x2F;
          +        graph: {},
          +        
          +        &#x2F;**
          +         * Reference to the &#x60;Axis&#x60; instance used for assigning 
          +         * category values to the graph.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         *&#x2F;
          +        categoryAxis: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get(&quot;categoryAxis&quot;);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * Reference to the &#x60;Axis&#x60; instance used for assigning 
          +         * series values to the graph.
          +         *
          +         * @attribute categoryAxis
          +         * @type Axis
          +         *&#x2F;
          +        valueAxis: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get(&quot;valueAxis&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the category &#x60;Axis&#x60; instance.
          +         *
          +         * @attribute categoryKey
          +         * @type String
          +         *&#x2F;
          +        categoryKey: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get(&quot;categoryKey&quot;);
          +            }
          +        },
          +        &#x2F;**
          +         * Indicates which array to from the hash of value arrays in 
          +         * the value &#x60;Axis&#x60; instance.
          +         *
          +         * @attribute valueKey
          +         * @type String
          +         *&#x2F;
          +        valueKey: {
          +            value: null,
          +
          +            validator: function(value)
          +            {
          +                return value !== this.get(&quot;valueKey&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Name used for for displaying category data
          +         *
          +         * @attribute categoryDisplayName
          +         * @type String
          +         *&#x2F;
          +        categoryDisplayName: {
          +            setter: function(val)
          +            {
          +                this._categoryDisplayName = val;
          +                return val;
          +            },
          +
          +            getter: function()
          +            {
          +                return this._categoryDisplayName || this.get(&quot;categoryKey&quot;);
          +            }
          +        },
          +
          +        &#x2F;**
          +         * Name used for for displaying value data
          +         *
          +         * @attribute valueDisplayName
          +         * @type String
          +         *&#x2F;
          +        valueDisplayName: {
          +            setter: function(val)
          +            {
          +                this._valueDisplayName = val;
          +                return val;
          +            },
          +
          +            getter: function()
          +            {
          +                return this._valueDisplayName || this.get(&quot;valueKey&quot;);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * @attribute slices
          +         * @type Array
          +         * @private
          +         *&#x2F;
          +        slices: null
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;MarkerSeries&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;colors&lt;&#x2F;dt&gt;&lt;dd&gt;An array of colors to be used for the marker fills. The color for each marker is retrieved from the 
          +         *              array below:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alphas&lt;&#x2F;dt&gt;&lt;dd&gt;An array of alpha references (Number from 0 to 1) indicating the opacity of each marker fill. The default value is [1].&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;An array of colors to be used for the marker borders. The color for each marker is retrieved from the
          +         *              array below:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Plots.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Plots.js.html
          new file mode 100644
          index 000000000..05bda99c1
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Plots.js.html
          @@ -0,0 +1,789 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Plots.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Plots.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Utility class used for drawing markers.
          + *
          + * @module charts
          + * @class Plots
          + * @constructor
          + *&#x2F;
          +function Plots(cfg)
          +{
          +    var attrs = { 
          +        markers: {
          +            getter: function()
          +            {
          +                return this._markers;
          +            }
          +        }
          +    };
          +    this.addAttrs(attrs, cfg);
          +}
          +
          +Plots.prototype = {
          +    &#x2F;**
          +     * Storage for default marker styles.
          +     *
          +     * @property _plotDefaults
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _plotDefaults: null,
          +
          +    &#x2F;**
          +     * Draws the markers
          +     *
          +     * @method drawPlots
          +     * @protected
          +     *&#x2F;
          +    drawPlots: function()
          +    {
          +        if(!this.get(&quot;xcoords&quot;) || this.get(&quot;xcoords&quot;).length &lt; 1) 
          +		{
          +			return;
          +		}
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get(&quot;styles&quot;).marker),
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            left,
          +            marker,
          +            offsetWidth = w&#x2F;2,
          +            offsetHeight = h&#x2F;2,
          +            xvalues,
          +            yvalues,
          +            fillColors = null,
          +            borderColors = null,
          +            graphOrder = this.get(&quot;graphOrder&quot;),
          +            groupMarkers = this.get(&quot;groupMarkers&quot;);
          +        if(groupMarkers)
          +        {
          +            xvalues = [];
          +            yvalues = [];
          +            for(; i &lt; len; ++i)
          +            {
          +                xvalues.push(parseFloat(xcoords[i] - offsetWidth));
          +                yvalues.push(parseFloat(ycoords[i] - offsetHeight));
          +            }
          +            this._createGroupMarker({
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: {
          +                    width: w,
          +                    height: h
          +                },
          +                graphOrder: graphOrder,
          +                shape: style.shape
          +            });
          +            return;
          +        }
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        for(; i &lt; len; ++i)
          +        {
          +            top = parseFloat(ycoords[i] - offsetHeight);
          +            left = parseFloat(xcoords[i] - offsetWidth);            
          +            if(!isNumber(left) || !isNumber(top))
          +            {
          +                this._markers.push(null);
          +                continue;
          +            }
          +            if(fillColors)
          +            {
          +                style.fill.color = fillColors[i % fillColors.length];
          +            }
          +            if(borderColors)
          +            {
          +                style.border.color = borderColors[i % borderColors.length];
          +            }
          +
          +            style.x = left;
          +            style.y = top;
          +            marker = this.getMarker(style, graphOrder, i);
          +        }
          +        this._clearMarkerCache();
          +    },
          +
          +    &#x2F;**
          +     * Pre-defined group shapes.
          +     *
          +     * @property _groupShapes
          +     * @private
          +     *&#x2F;
          +    _groupShapes: {
          +        circle: Y.CircleGroup,
          +        rect: Y.RectGroup,
          +        ellipse: Y.EllipseGroup,
          +        diamond: Y.DiamondGroup
          +    },
          +
          +    &#x2F;**
          +     * Returns the correct group shape class.
          +     *
          +     * @method _getGroupShape
          +     * @param {Shape | String} shape Indicates which shape class. 
          +     * @return Function
          +     * @protected
          +     *&#x2F;
          +    _getGroupShape: function(shape)
          +    {
          +        if(Y_Lang.isString(shape))
          +        {
          +            shape = this._groupShapes[shape];
          +        }
          +        return shape;
          +    },
          +
          +    &#x2F;**
          +     * Gets the default values for series that use the utility. This method is used by
          +     * the class&#x27; &#x60;styles&#x60; attribute&#x27;s getter to get build default values.
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: &quot;solid&quot;,
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 1,
          +                alpha: 1
          +            },
          +            width: 10,
          +            height: 10,
          +            shape: &quot;circle&quot;
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;fill&quot;);
          +        defs.border.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;border&quot;);
          +        return defs;
          +    },
          +
          +    &#x2F;**
          +     * Collection of markers to be used in the series.
          +     *
          +     * @property _markers
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _markers: null,
          +
          +    &#x2F;**
          +     * Collection of markers to be re-used on a series redraw.
          +     *
          +     * @property _markerCache
          +     * @type Array
          +     * @private
          +     *&#x2F;
          +    _markerCache: null,
          +   
          +    &#x2F;**
          +     * Gets and styles a marker. If there is a marker in cache, it will use it. Otherwise
          +     * it will create one.
          +     *
          +     * @method getMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @protected
          +     *&#x2F;
          +    getMarker: function(styles, order, index)
          +    {
          +        var marker,
          +            border = styles.border;
          +        styles.id = this.get(&quot;chart&quot;).get(&quot;id&quot;) + &quot;_&quot; + order + &quot;_&quot; + index;
          +        &#x2F;&#x2F;fix name differences between graphic layer
          +        border.opacity = border.alpha;
          +        styles.stroke = border;
          +        styles.fill.opacity = styles.fill.alpha;
          +        if(this._markerCache.length &gt; 0)
          +        {
          +            while(!marker)
          +            {
          +                if(this._markerCache.length &lt; 1)
          +                {
          +                    marker = this._createMarker(styles, order, index);
          +                    break;
          +                }
          +                marker = this._markerCache.shift();
          +
          +            }
          +            marker.set(styles);
          +        }
          +        else
          +        {
          +            marker = this._createMarker(styles, order, index);
          +        }
          +        this._markers.push(marker);
          +        return marker;
          +    },
          +    
          +    &#x2F;**
          +     * Creates a shape to be used as a marker.
          +     *
          +     * @method _createMarker
          +     * @param {Object} styles Hash of style properties.
          +     * @param {Number} order Order of the series.
          +     * @param {Number} index Index within the series associated with the marker.
          +     * @return Shape
          +     * @private
          +     *&#x2F;
          +    _createMarker: function(styles, order, index)
          +    {
          +        var graphic = this.get(&quot;graphic&quot;),
          +            marker,
          +            cfg = Y.clone(styles);
          +        graphic.set(&quot;autoDraw&quot;, false);
          +        cfg.type = cfg.shape;
          +        marker = graphic.addShape(cfg); 
          +        marker.addClass(SERIES_MARKER);
          +        return marker;
          +    },
          +    
          +    &#x2F;**
          +     * Creates a cache of markers for reuse.
          +     *
          +     * @method _createMarkerCache
          +     * @private
          +     *&#x2F;
          +    _createMarkerCache: function()
          +    {
          +        if(this._groupMarker)
          +        {
          +            this._groupMarker.destroy();
          +            this._groupMarker = null;
          +        }
          +        if(this._markers &amp;&amp; this._markers.length &gt; 0)
          +        {
          +            this._markerCache = this._markers.concat();
          +        }
          +        else
          +        {
          +            this._markerCache = [];
          +        }
          +        this._markers = [];
          +    },
          +  
          +    &#x2F;**
          +     * Draws a series of markers in a single shape instance.
          +     *
          +     * @method _createGroupMarkers
          +     * @param {Object} styles Set of configuration properties used to create the markers.
          +     * @protected
          +     *&#x2F;
          +    _createGroupMarker: function(styles)
          +    {
          +        var marker,
          +            markers = this.get(&quot;markers&quot;),
          +            border = styles.border,
          +            graphic,
          +            cfg,
          +            shape;
          +        if(markers &amp;&amp; markers.length &gt; 0)
          +        {
          +            while(markers.length &gt; 0)
          +            {
          +                marker = markers.shift();
          +                marker.destroy();
          +            }
          +            this.set(&quot;markers&quot;, []);
          +        }
          +        &#x2F;&#x2F;fix name differences between graphic layer
          +        border.opacity = border.alpha;
          +        cfg = {
          +            id: this.get(&quot;chart&quot;).get(&quot;id&quot;) + &quot;_&quot; + styles.graphOrder,
          +            stroke: border,
          +            fill: styles.fill,
          +            dimensions: styles.dimensions,
          +            xvalues: styles.xvalues,
          +            yvalues: styles.yvalues
          +        };
          +        cfg.fill.opacity = styles.fill.alpha;
          +        shape = this._getGroupShape(styles.shape);
          +        if(shape)
          +        {
          +            cfg.type = shape;
          +        }
          +        if(styles.hasOwnProperty(&quot;radius&quot;) &amp;&amp; !isNaN(styles.radius))
          +        {
          +            cfg.dimensions.radius = styles.radius;
          +        }
          +        if(this._groupMarker)
          +        {
          +            this._groupMarker.destroy();
          +        }
          +        graphic = this.get(&quot;graphic&quot;);
          +        graphic.set(&quot;autoDraw&quot;, true);
          +        this._groupMarker = graphic.addShape(cfg);
          +    },
          +
          +    &#x2F;**
          +     * Toggles visibility
          +     *
          +     * @method _toggleVisible
          +     * @param {Boolean} visible indicates visibilitye
          +     * @private
          +     *&#x2F;
          +    _toggleVisible: function(visible)
          +    {
          +        var marker,
          +            markers = this.get(&quot;markers&quot;),
          +            i = 0,
          +            len;
          +        if(markers)
          +        {
          +            len = markers.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                marker = markers[i];
          +                if(marker)
          +                {
          +                    marker.set(&quot;visible&quot;, visible);
          +                }
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Removes unused markers from the marker cache
          +     *
          +     * @method _clearMarkerCache
          +     * @private
          +     *&#x2F;
          +    _clearMarkerCache: function()
          +    {
          +        var marker;
          +        while(this._markerCache.length &gt; 0)
          +        {
          +            marker = this._markerCache.shift();
          +            if(marker)
          +            {
          +                marker.destroy();
          +            }
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers &amp;&amp; this._markers[i])
          +        {
          +            var w,
          +                h,
          +                styles = Y.clone(this.get(&quot;styles&quot;).marker),
          +                state = this._getState(type),
          +                xcoords = this.get(&quot;xcoords&quot;),
          +                ycoords = this.get(&quot;ycoords&quot;),
          +                marker = this._markers[i],
          +                markerStyles = state == &quot;off&quot; || !styles[state] ? styles : styles[state]; 
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +                markerStyles.stroke = markerStyles.border;
          +                marker.set(markerStyles);
          +                w = markerStyles.width;
          +                h = markerStyles.height;
          +                marker.set(&quot;x&quot;, (xcoords[i] - w&#x2F;2));
          +                marker.set(&quot;y&quot;,  (ycoords[i] - h&#x2F;2));
          +                marker.set(&quot;visible&quot;, this.get(&quot;visible&quot;));
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Parses a color from an array.
          +     *
          +     * @method _getItemColor
          +     * @param {Array} val collection of colors
          +     * @param {Number} i index of the item
          +     * @return String
          +     * @protected
          +     *&#x2F;
          +    _getItemColor: function(val, i)
          +    {
          +        if(Y_Lang.isArray(val))
          +        {
          +            return val[i % val.length];
          +        }
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Method used by &#x60;styles&#x60; setter. Overrides base implementation.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _setStyles: function(val)
          +    {
          +        val = this._parseMarkerStyles(val);
          +        return Y.Renderer.prototype._setStyles.apply(this, [val]);
          +    },
          +
          +    &#x2F;**
          +     * Combines new styles with existing styles.
          +     *
          +     * @method _parseMarkerStyles
          +     * @param {Object} Object containing style properties for the marker.
          +     * @return Object
          +     * @private
          +     *&#x2F;
          +    _parseMarkerStyles: function(val)
          +    {
          +        if(val.marker)
          +        {
          +            var defs = this._getPlotDefaults();
          +            val.marker = this._mergeStyles(val.marker, defs);
          +            if(val.marker.over)
          +            {
          +                val.marker.over = this._mergeStyles(val.marker.over, val.marker);
          +            }
          +            if(val.marker.down)
          +            {
          +                val.marker.down = this._mergeStyles(val.marker.down, val.marker);
          +            }
          +        }
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Returns marker state based on event type
          +     *
          +     * @method _getState
          +     * @param {String} type event type
          +     * @return String
          +     * @protected
          +     *&#x2F;
          +    _getState: function(type)
          +    {
          +        var state;
          +        switch(type)
          +        {
          +            case &quot;mouseout&quot; :
          +                state = &quot;off&quot;;
          +            break;
          +            case &quot;mouseover&quot; :
          +                state = &quot;over&quot;;
          +            break;
          +            case &quot;mouseup&quot; :
          +                state = &quot;over&quot;;
          +            break;
          +            case &quot;mousedown&quot; :
          +                state = &quot;down&quot;;
          +            break;
          +        }
          +        return state;
          +    },
          +    
          +    &#x2F;**
          +     * @property _statSyles
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +    _stateSyles: null
          +};
          +
          +Y.augment(Plots, Y.Attribute);
          +Y.Plots = Plots;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RectGroup.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RectGroup.js.html
          new file mode 100644
          index 000000000..f5ff84cda
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RectGroup.js.html
          @@ -0,0 +1,305 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;RectGroup.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;RectGroup.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Abstract class for creating groups of rects with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class GroupRect
          + * @constructor
          + *&#x2F;
          + RectGroup = function(cfg)
          + {
          +    RectGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + RectGroup.NAME = &quot;rectGroup&quot;;
          +
          + Y.extend(RectGroup, Y.ShapeGroup, {    
          +    &#x2F;**
          +     * Updates the rect.
          +     *
          +     * @method _draw
          +     * @private
          +     *&#x2F;
          +    drawShape: function(cfg)
          +    {
          +        this.drawRect(cfg.x, cfg.y, cfg.width, cfg.height);
          +    }
          + });
          +    
          +RectGroup.ATTRS = Y.ShapeGroup.ATTRS;
          +Y.RectGroup = RectGroup;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Renderer.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Renderer.js.html
          new file mode 100644
          index 000000000..bfa39cd17
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_Renderer.js.html
          @@ -0,0 +1,393 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;Renderer.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;Renderer.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The Renderer class is a base class for chart components that use the &#x60;styles&#x60;
          + * attribute.
          + *
          + * @module charts
          + * @class Renderer
          + * @constructor
          + *&#x2F;
          +function Renderer(){}
          +
          +Renderer.ATTRS = {
          +        &#x2F;**
          +         * Style properties for class
          +         * 
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +        styles:
          +        {
          +            getter: function()
          +            {
          +                this._styles = this._styles || this._getDefaultStyles();
          +                return this._styles;
          +            },
          +
          +            setter: function(val)
          +            {
          +                this._styles = this._setStyles(val);
          +            }
          +        },
          +        
          +        &#x2F;**
          +         * The graphic in which drawings will be rendered.
          +         *
          +         * @attribute graphic
          +         * @type Graphic
          +         *&#x2F;
          +        graphic: {}
          +};
          +Renderer.NAME = &quot;renderer&quot;;
          +
          +Renderer.prototype = {
          +    &#x2F;**
          +     * Storage for &#x60;styles&#x60; attribute.
          +     *
          +     * @property _styles
          +     * @type Object
          +     * @private
          +     *&#x2F;
          +	_styles: null,
          +	
          +    &#x2F;**
          +     * Method used by &#x60;styles&#x60; setter.
          +     *
          +     * @method _setStyles
          +     * @param {Object} newStyles Hash of properties to update.
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +	_setStyles: function(newstyles)
          +	{
          +		var styles = this.get(&quot;styles&quot;);
          +        return this._mergeStyles(newstyles, styles);
          +	},
          +    
          +    &#x2F;**
          +     * Merges to object literals so that only specified properties are 
          +     * overwritten.
          +     *
          +     * @method _mergeStyles
          +     * @param {Object} a Hash of new styles
          +     * @param {Object} b Hash of original styles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _mergeStyles: function(a, b)
          +    {
          +        if(!b)
          +        {
          +            b = {};
          +        }
          +        var newstyles = Y.merge(b, {});
          +        Y.Object.each(a, function(value, key, a)
          +        {
          +            if(b.hasOwnProperty(key) &amp;&amp; Y_Lang.isObject(value) &amp;&amp; !Y_Lang.isFunction(value) &amp;&amp; !Y_Lang.isArray(value))
          +            {
          +                newstyles[key] = this._mergeStyles(value, b[key]);
          +            }
          +            else
          +            {
          +                newstyles[key] = value;
          +            }
          +        }, this);
          +        return newstyles;
          +    },
          +
          +    &#x2F;**
          +     * Gets the default value for the &#x60;styles&#x60; attribute. 
          +     *
          +     * @method _getDefaultStyles
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getDefaultStyles: function()
          +    {
          +        return {padding:{
          +            top:0,
          +            right: 0,
          +            bottom: 0,
          +            left: 0
          +        }};
          +    }
          +};
          +
          +Y.augment(Renderer, Y.Attribute);
          +Y.Renderer = Renderer;
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RightAxisLayout.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RightAxisLayout.js.html
          new file mode 100644
          index 000000000..f5e542e2a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_RightAxisLayout.js.html
          @@ -0,0 +1,642 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;RightAxisLayout.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;RightAxisLayout.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * RightAxisLayout contains algorithms for rendering a right axis.
          + *
          + * @module charts
          + * @class RightAxisLayout
          + * @constructor
          + *&#x2F;
          +RightAxisLayout = function(){};
          +
          +RightAxisLayout.prototype = {
          +    &#x2F;**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     *&#x2F;
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 4,
          +            right: 0,
          +            bottom: 0
          +        };
          +    },
          +
          +    &#x2F;**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffset
          +     * @protected
          +     *&#x2F;
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get(&quot;styles&quot;).majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set(&quot;topTickOffset&quot;,  0);
          +        host.set(&quot;bottomTickOffset&quot;,  0);
          +        
          +        switch(display)
          +        {
          +            case &quot;inside&quot; :
          +                host.set(&quot;leftTickOffset&quot;, tickLength);
          +                host.set(&quot;rightTickOffset&quot;, 0);
          +            break;
          +            case &quot;outside&quot; : 
          +                host.set(&quot;leftTickOffset&quot;, 0);
          +                host.set(&quot;rightTickOffset&quot;, tickLength);
          +            break;
          +            case &quot;cross&quot; :
          +                host.set(&quot;rightTickOffset&quot;, halfTick);
          +                host.set(&quot;leftTickOffset&quot;, halfTick);
          +            break;
          +            default:
          +                host.set(&quot;leftTickOffset&quot;, 0);
          +                host.set(&quot;rightTickOffset&quot;, 0);
          +            break;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path &#x60;Path&#x60; element in which to draw the tick.
          +     * @param {Object} pt Point on the axis in which the tick will intersect.
          +     * @param {Object) tickStyle Hash of properties to apply to the tick.
          +     * @protected
          +     *&#x2F;
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:padding.left, y:pt.y},
          +            end = {x:padding.left + tickLength, y:pt.y};
          +        host.drawLine(path, start, end);
          +    },
          +    
          +    &#x2F;**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @return {Object}
          +     * @protected
          +     *&#x2F;
          +    getLineStart: function()
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:padding.left, y:padding.top};
          +        if(display === &quot;inside&quot;)
          +        {
          +            pt.x += tickLength;
          +        }
          +        else if(display === &quot;cross&quot;)
          +        {
          +            pt.x += tickLength&#x2F;2;
          +        }
          +        return pt;
          +    },
          +    
          +    &#x2F;**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} point Point on the axis in which the tick will intersect.
          +     * @return {Object} 
          +     * @protected
          +     *&#x2F;
          +    getLabelPoint: function(point)
          +    {
          +        return {x:point.x + this.get(&quot;rightTickOffset&quot;), y:point.y};
          +    },
          +    
          +    &#x2F;**
          +     * Updates the value for the &#x60;maxLabelSize&#x60; for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     *&#x2F;
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelWidth;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelHeight;
          +        }
          +        else
          +        {
          +            max = (cosRadians * labelWidth) + (sinRadians * labelHeight);
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +    
          +    &#x2F;**
          +     * Determines the available label width when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     *&#x2F;
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitWidth)
          +        {
          +            var host = this,
          +                w = host._explicitWidth,
          +                totalTitleSize = this._totalTitleSize,
          +                rightTickOffset = host.get(&quot;rightTickOffset&quot;),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  w - (rightTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     *&#x2F;
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get(&quot;styles&quot;).title.margin,
          +            props = host._titleRotationProps,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            w = bounds.right - bounds.left,
          +            x = this.get(&quot;width&quot;) - (labelWidth * 0.5) - (w * 0.5),
          +            y = (host.get(&quot;height&quot;) * 0.5) - (labelHeight * 0.5);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin &amp;&amp; margin.right)
          +        {
          +            x -= margin.left;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     *&#x2F;
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            tickOffset = host.get(&quot;rightTickOffset&quot;),
          +            labelStyles = styles.label,
          +            margin = 0,
          +            leftOffset = pt.x,
          +            topOffset = pt.y,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(labelStyles.margin &amp;&amp; labelStyles.margin.left)
          +        {
          +            margin = labelStyles.margin.left;
          +        }
          +        if(rot === 0)
          +        {
          +            topOffset -= labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +        }
          +        else
          +        {
          +            topOffset -= labelHeight * 0.5;
          +            leftOffset += labelHeight&#x2F;2 * absRot&#x2F;90;
          +        }
          +        leftOffset += margin;
          +        leftOffset += tickOffset;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        props.x = Math.round(leftOffset);
          +        props.y = Math.round(topOffset);
          +        this._rotate(label, props);
          +    },
          + 
          +    &#x2F;**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     *&#x2F;
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            leftOffset = 0,
          +            topOffset = 0,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight;
          +        if(rot === 0)
          +        {
          +            topOffset = labelHeight * 0.5;
          +        }
          +        else if(rot === 90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else if(rot === -90)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +        }
          +        else
          +        {
          +            topOffset = labelHeight * 0.5;
          +            leftOffset = labelHeight&#x2F;2 * absRot&#x2F;90;
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +   
          +    &#x2F;**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else if(rot === 90)
          +        {
          +            transformOrigin = [0.5, 1];
          +        }
          +        else if(rot === -90)
          +        {
          +            transformOrigin = [0.5, 0];
          +        }
          +        else
          +        {
          +            transformOrigin = [0, 0.5];
          +        }
          +        return transformOrigin;
          +    },
          +
          +    &#x2F;**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     *&#x2F;
          +    offsetNodeForTick: function(cb)
          +    {
          +        var host = this,
          +            tickOffset = host.get(&quot;leftTickOffset&quot;),
          +            offset = 0 - tickOffset;
          +        cb.setStyle(&quot;left&quot;, offset);
          +    },
          +
          +    &#x2F;**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     *&#x2F;
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            styles = host.get(&quot;styles&quot;),
          +            labelStyle = styles.label,
          +            totalTitleSize = this._totalTitleSize,
          +            ttl = Math.round(host.get(&quot;rightTickOffset&quot;) + host._maxLabelSize + totalTitleSize + labelStyle.margin.left);
          +        if(this._explicitWidth)
          +        {
          +            ttl = this._explicitWidth;
          +        }
          +        host.set(&quot;calculatedWidth&quot;, ttl);
          +        host.get(&quot;contentBox&quot;).setStyle(&quot;width&quot;, ttl);
          +    }
          +};
          +
          +Y.RightAxisLayout = RightAxisLayout;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ShapeGroup.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ShapeGroup.js.html
          new file mode 100644
          index 000000000..9b5abdb9a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_ShapeGroup.js.html
          @@ -0,0 +1,454 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;ShapeGroup.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;ShapeGroup.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The Charts widget provides an api for displaying data
          + * graphically.
          + *
          + * @module charts
          + * @main charts
          + *&#x2F;
          +var CONFIG = Y.config,
          +    WINDOW = CONFIG.win,
          +    DOCUMENT = CONFIG.doc,
          +    Y_Lang = Y.Lang,
          +    IS_STRING = Y_Lang.isString,
          +    LeftAxisLayout,
          +    RightAxisLayout,
          +    BottomAxisLayout,
          +    TopAxisLayout,
          +    _getClassName = Y.ClassNameManager.getClassName,
          +    SERIES_MARKER = _getClassName(&quot;seriesmarker&quot;),
          +    ShapeGroup,
          +    CircleGroup,
          +    RectGroup,
          +    EllipseGroup,
          +    DiamondGroup;
          +
          +&#x2F;**
          + * Abstract class for creating groups of shapes with the same styles and dimensions.
          + *
          + * @module graphics
          + * @class ShapeGroup
          + * @constructor
          + *&#x2F;
          + ShapeGroup = function(cfg)
          + {
          +    ShapeGroup.superclass.constructor.apply(this, arguments);
          + };
          +    
          + ShapeGroup.NAME = &quot;shapeGroup&quot;;
          +
          + Y.extend(ShapeGroup, Y.Path, {    
          +    &#x2F;**
          +     * Updates the shape.
          +     *
          +     * @method _draw
          +     * @private
          +     *&#x2F;
          +    _draw: function()
          +    {
          +        var xvalues = this.get(&quot;xvalues&quot;),
          +            yvalues = this.get(&quot;yvalues&quot;),
          +            x,
          +            y,
          +            xRad,
          +            yRad,
          +            i = 0,
          +            len,
          +            attrs = [],
          +            dimensions = this.get(&quot;dimensions&quot;),
          +            width = dimensions.width,
          +            height = dimensions.height,
          +            radius = dimensions.radius,
          +            yRadius = dimensions.yRadius,
          +            id = this.get(&quot;id&quot;),
          +            className = this.node.className,
          +            widthIsArray = Y_Lang.isArray(width),
          +            heightIsArray = Y_Lang.isArray(height),
          +            radiusIsArray = Y_Lang.isArray(radius),
          +            yRadiusIsArray = Y_Lang.isArray(yRadius);
          +        if(xvalues &amp;&amp; yvalues &amp;&amp; xvalues.length &gt; 0)
          +        {
          +            this.clear();
          +
          +            len = xvalues.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                x = xvalues[i];
          +                y = yvalues[i];
          +                xRad = radiusIsArray ? radius[i] : radius;
          +                yRad = yRadiusIsArray ? yRadius[i] : yRadius;
          +                if(!isNaN(x) &amp;&amp; !isNaN(y) &amp;&amp; !isNaN(xRad))
          +                {
          +                    this.drawShape({
          +                        x: x,
          +                        y: y,
          +                        width: widthIsArray ? width[i] : width,
          +                        height: heightIsArray ? height[i] : height,
          +                        radius: xRad,
          +                        yRadius: yRad 
          +                    });
          +                    this.closePath();
          +                    attrs[i] = {
          +                        id: id + &quot;_&quot; + i,
          +                        className: className,
          +                        coords: (x - this._left) + &quot;, &quot; + (y - this._top)  + &quot;, &quot; + radius,
          +                        shape: &quot;circle&quot;
          +                    };
          +                }
          +            }
          +            this._closePath();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Parses and array of lengths into radii
          +     *
          +     * @method _getRadiusCollection
          +     * @param {Array} val Array of lengths
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getRadiusCollection: function(val)
          +    {
          +        var i = 0,
          +            len = val.length,
          +            radii = [];
          +        for(; i &lt; len; ++i)
          +        {   
          +            radii[i] = val[i] * 0.5;
          +        }
          +        return radii;
          +    }
          + });
          +    
          +ShapeGroup.ATTRS = Y.merge(Y.Path.ATTRS, {
          +    dimensions: {
          +        getter: function()
          +        {
          +            var dimensions = this._dimensions,
          +                radius,
          +                yRadius,
          +                width,
          +                height;
          +            if(dimensions.hasOwnProperty(&quot;radius&quot;))
          +            {
          +                return dimensions;
          +            }
          +            else
          +            {
          +                width = dimensions.width;
          +                height = dimensions.height;
          +                radius = Y_Lang.isArray(width) ? this._getRadiusCollection(width) : (width * 0.5);
          +                yRadius = Y_Lang.isArray(height) ? this._getRadiusCollection(height) : (height * 0.5);
          +                return {
          +                    width: width,
          +                    height: height,
          +                    radius: radius,
          +                    yRadius: yRadius
          +                };
          +            }
          +        },
          +
          +        setter: function(val)
          +        {
          +            this._dimensions = val;
          +            return val;
          +        }
          +    },
          +    xvalues: {
          +        getter: function()
          +        {
          +            return this._xvalues;
          +        },
          +        setter: function(val)
          +        {
          +            this._xvalues = val;
          +        }
          +    },
          +    yvalues: {
          +        getter: function()
          +        {
          +            return this._yvalues;
          +        },
          +        setter: function(val)
          +        {
          +            this._yvalues = val;
          +        }
          +    }
          +});
          +Y.ShapeGroup = ShapeGroup;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_SplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_SplineSeries.js.html
          new file mode 100644
          index 000000000..5b6635757
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_SplineSeries.js.html
          @@ -0,0 +1,339 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;SplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;SplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * SplineSeries renders a graph with data points connected by a curve.
          + *
          + * @module charts
          + * @class SplineSeries
          + * @constructor
          + * @extends CartesianSeries
          + * @uses CurveUtil
          + * @uses Lines
          + *&#x2F;
          +Y.SplineSeries = Y.Base.create(&quot;splineSeries&quot;,  Y.LineSeries, [Y.CurveUtil, Y.Lines], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this.drawSpline();
          +    }
          +}, {
          +	ATTRS : {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default spline
          +         *&#x2F;
          +        type : {
          +            value:&quot;spline&quot;
          +        }
          +
          +        &#x2F;**
          +         * Style properties used for drawing lines. This attribute is inherited from &#x60;Renderer&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;The color of the line. The default value is determined by the order of the series on the graph. The color will be
          +         *      retrieved from the following array: 
          +         *      &#x60;[&quot;#426ab3&quot;, &quot;#d09b2c&quot;, &quot;#000000&quot;, &quot;#b82837&quot;, &quot;#b384b5&quot;, &quot;#ff7200&quot;, &quot;#779de3&quot;, &quot;#cbc8ba&quot;, &quot;#7ed7a6&quot;, &quot;#007a6c&quot;]&#x60;
          +         *      &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number that indicates the width of the line. The default value is 6.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number between 0 and 1 that indicates the opacity of the line. The default value is 1.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;lineType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;dashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;gapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;lineType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;connectDiscontinuousPoints&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether or not to connect lines when there is a missing or null value between points. The default value is true.&lt;&#x2F;dd&gt; 
          +         *      &lt;dt&gt;discontinuousType&lt;&#x2F;dt&gt;&lt;dd&gt;Indicates whether the line between discontinuous points is solid or dashed. The default value is solid.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousDashLength&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the length of the dash. The default value is 10.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;discontinuousGapSpace&lt;&#x2F;dt&gt;&lt;dd&gt;When the &#x60;discontinuousType&#x60; is dashed, indicates the distance between dashes. The default value is 10.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +
          +		
          +
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSeries.js.html
          new file mode 100644
          index 000000000..eb9011c8e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSeries.js.html
          @@ -0,0 +1,325 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedAreaSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedAreaSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedAreaSeries area fills to display data showing its contribution to a whole.
          + *
          + * @module charts
          + * @class StackedAreaSeries
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AreaSeries
          + * @uses StackingUtil
          + *&#x2F;
          +Y.StackedAreaSeries = Y.Base.create(&quot;stackedAreaSeries&quot;, Y.AreaSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     *&#x2F;
          +    setAreaData: function()
          +    {   
          +        Y.StackedAreaSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +	drawSeries: function()
          +    {
          +        this.drawFill.apply(this, this._getStackedClosingPoints());
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedArea
          +         *&#x2F;
          +        type: {
          +            value:&quot;stackedArea&quot;
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSplineSeries.js.html
          new file mode 100644
          index 000000000..cb2f37d83
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAreaSplineSeries.js.html
          @@ -0,0 +1,314 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedAreaSplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedAreaSplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedAreaSplineSeries creates a stacked area chart with points data points connected by a curve.
          + *
          + * @module charts
          + * @class StackedAreaSplineSeries
          + * @constructor
          + * @extends AreaSeries
          + * @uses CurveUtil
          + * @uses StackingUtil
          + *&#x2F;
          +Y.StackedAreaSplineSeries = Y.Base.create(&quot;stackedAreaSplineSeries&quot;, Y.AreaSeries, [Y.CurveUtil, Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        this._stackCoordinates();
          +        this.drawStackedAreaSpline();
          +    }
          +}, {
          +    ATTRS : {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedAreaSpline
          +         *&#x2F;
          +        type: {
          +            value:&quot;stackedAreaSpline&quot;
          +        }
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAxis.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAxis.js.html
          new file mode 100644
          index 000000000..8c4b02190
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedAxis.js.html
          @@ -0,0 +1,378 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedAxis.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedAxis.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedAxis manages stacked numeric data on an axis.
          + *
          + * @module charts
          + * @class StackedAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends NumericAxis
          + *&#x2F;
          +function StackedAxis(config)
          +{
          +	StackedAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +StackedAxis.NAME = &quot;stackedAxis&quot;;
          +
          +
          +Y.extend(StackedAxis, Y.NumericAxis,
          +{
          +    &#x2F;**
          +     * Calculates the maximum and minimum values for the &#x60;Axis&#x60;.
          +     *
          +     * @method _updateMinAndMax
          +     * @private 
          +     *&#x2F;
          +    _updateMinAndMax: function()
          +    {
          +        var max = 0,
          +            min = 0,
          +            pos = 0,
          +            neg = 0,
          +            len = 0,
          +            i = 0,
          +            key,
          +            num,
          +            keys = this.get(&quot;keys&quot;),
          +            setMin = this.get(&quot;setMin&quot;),
          +            setMax = this.get(&quot;setMax&quot;);
          +
          +        for(key in keys)
          +        {
          +            if(keys.hasOwnProperty(key))
          +            {
          +                len = Math.max(len, keys[key].length);
          +            }
          +        }
          +        for(; i &lt; len; ++i)
          +        {
          +            pos = 0;
          +            neg = 0;
          +            for(key in keys)
          +            {
          +                if(keys.hasOwnProperty(key))
          +                {
          +                    num = keys[key][i];
          +                    if(isNaN(num))
          +                    {
          +                        continue;
          +                    }
          +                    if(num &gt;= 0)
          +                    {
          +                        pos += num;
          +                    }
          +                    else
          +                    {
          +                        neg += num;
          +                    }
          +                }
          +            }
          +            if(pos &gt; 0)
          +            {
          +                max = Math.max(max, pos);
          +            }
          +            else 
          +            {
          +                max = Math.max(max, neg);
          +            }
          +            if(neg &lt; 0)
          +            {
          +                min = Math.min(min, neg);
          +            }
          +            else
          +            {
          +                min = Math.min(min, pos);
          +            }
          +        }
          +        this._actualMaximum = max;
          +        this._actualMinimum = min;
          +        if(setMax)
          +        {
          +            max = this._setMaximum;
          +        }
          +        if(setMin)
          +        {
          +            min = this._setMinimum;
          +        }
          +        this._roundMinAndMax(min, max, setMin, setMax);
          +    }
          +});
          +
          +Y.StackedAxis = StackedAxis;
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedBarSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedBarSeries.js.html
          new file mode 100644
          index 000000000..70bfb8fdd
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedBarSeries.js.html
          @@ -0,0 +1,628 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedBarSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedBarSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The StackedBarSeries renders bar chart in which series are stacked horizontally to show
          + * their contribution to the cumulative total.
          + *
          + * @module charts
          + * @class StackedBarSeries
          + * @extends BarSeries
          + * @uses StackingUtil
          + * @constructor
          + *&#x2F;
          +Y.StackedBarSeries = Y.Base.create(&quot;stackedBarSeries&quot;, Y.BarSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +	{
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get(&quot;styles&quot;).marker),
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            seriesCollection = graph.seriesTypes[type],
          +            ratio,
          +            order = this.get(&quot;order&quot;),
          +            graphOrder = this.get(&quot;graphOrder&quot;),
          +            left,
          +            marker,
          +            lastCollection,
          +            negativeBaseValues,
          +            positiveBaseValues,
          +            fillColors,
          +            borderColors,
          +            useOrigin = order === 0,
          +            totalHeight = len * h,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get(&quot;groupMarkers&quot;);
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        if(totalHeight &gt; this.get(&quot;height&quot;))
          +        {
          +            ratio = this.height&#x2F;totalHeight;
          +            h *= ratio;
          +            h = Math.max(h, 1);
          +        }
          +        if(!useOrigin)
          +        {
          +            lastCollection = seriesCollection[order - 1];
          +            negativeBaseValues = lastCollection.get(&quot;negativeBaseValues&quot;);
          +            positiveBaseValues = lastCollection.get(&quot;positiveBaseValues&quot;);
          +            if(!negativeBaseValues || !positiveBaseValues)
          +            {
          +                useOrigin = true;
          +                positiveBaseValues = [];
          +                negativeBaseValues = [];
          +            }
          +        }
          +        else
          +        {
          +            negativeBaseValues = [];
          +            positiveBaseValues = [];
          +        }
          +        this.set(&quot;negativeBaseValues&quot;, negativeBaseValues);
          +        this.set(&quot;positiveBaseValues&quot;, positiveBaseValues);
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            top = ycoords[i];
          +            left = xcoords[i];
          +            if(!isNumber(top) || !isNumber(left))
          +            {
          +                if(useOrigin)
          +                {
          +                    positiveBaseValues[i] = this._leftOrigin;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                }
          +                this._markers.push(null);
          +                continue;
          +            }
          +            if(useOrigin)
          +            {
          +                w = Math.abs(left - this._leftOrigin);
          +                if(left &gt; this._leftOrigin)
          +                {
          +                    positiveBaseValues[i] = left;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                    left -= w;
          +                }
          +                else if(left &lt; this._leftOrigin)
          +                {   
          +                    positiveBaseValues[i] = this._leftOrigin;
          +                    negativeBaseValues[i] = left;
          +                }
          +                else
          +                {
          +                    positiveBaseValues[i] = left;
          +                    negativeBaseValues[i] = this._leftOrigin;
          +                }
          +            }
          +            else
          +            {
          +                if(left &lt; this._leftOrigin)
          +                {
          +                    left = negativeBaseValues[i] - (this._leftOrigin - xcoords[i]);
          +                    w = negativeBaseValues[i] - left;
          +                    negativeBaseValues[i] = left;
          +                }
          +                else if(left &gt;= this._leftOrigin)
          +                {
          +                    left += (positiveBaseValues[i] - this._leftOrigin);
          +                    w = left - positiveBaseValues[i];
          +                    positiveBaseValues[i] = left;
          +                    left -= w;
          +                }
          +            }
          +            if(!isNaN(w) &amp;&amp; w &gt; 0)
          +            {
          +                top -= h&#x2F;2;
          +                if(groupMarkers)
          +                {
          +                    dimensions.width[i] = w;
          +                    dimensions.height[i] = h;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style.width = w;
          +                    style.height = h;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +            }
          +            else if(!groupMarkers)
          +            {
          +                this._markers.push(null);
          +            }
          +        }
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers[i])
          +        {
          +            var state = this._getState(type),
          +                ycoords = this.get(&quot;ycoords&quot;),
          +                marker = this._markers[i],
          +                styles = this.get(&quot;styles&quot;).marker,
          +                h = styles.height,
          +                markerStyles = state == &quot;off&quot; || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]), 
          +                fillColor,
          +                borderColor;        
          +            markerStyles.y = (ycoords[i] - h&#x2F;2);
          +            markerStyles.x = marker.get(&quot;x&quot;);
          +            markerStyles.width = marker.get(&quot;width&quot;);
          +            markerStyles.id = marker.get(&quot;id&quot;);
          +            fillColor = markerStyles.fill.color; 
          +            borderColor = markerStyles.border.color;
          +            if(Y_Lang.isArray(fillColor))
          +            {
          +                markerStyles.fill.color = fillColor[i % fillColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            }
          +            if(Y_Lang.isArray(borderColor))
          +            {
          +                markerStyles.border.color = borderColor[i % borderColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            }
          +            marker.set(markerStyles);
          +        }
          +    },
          +	
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Returns default values for the &#x60;styles&#x60; attribute.
          +     * 
          +     * @method _getPlotDefaults
          +     * @return Object
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: &quot;solid&quot;,
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 24,
          +            height: 24,
          +            shape: &quot;rect&quot;,
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;fill&quot;);
          +        defs.border.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;border&quot;);
          +        return defs;
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedBar
          +         *&#x2F;
          +        type: {
          +            value: &quot;stackedBar&quot;
          +        },
          +
          +        &#x2F;**
          +         * Direction of the series
          +         *
          +         * @attribute direction
          +         * @type String
          +         * @default vertical
          +         *&#x2F;
          +        direction: {
          +            value: &quot;vertical&quot;
          +        },
          +
          +        &#x2F;**
          +         * @private
          +         *
          +         * @attribute negativeBaseValues
          +         * @type Array
          +         * @default null
          +         *&#x2F;
          +        negativeBaseValues: {
          +            value: null
          +        },
          +
          +        &#x2F;**
          +         * @private
          +         *
          +         * @attribute positiveBaseValues
          +         * @type Array
          +         * @default null
          +         *&#x2F;
          +        positiveBaseValues: {
          +            value: null
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;BarSeries&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;height&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 24.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedColumnSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedColumnSeries.js.html
          new file mode 100644
          index 000000000..6d67a6890
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedColumnSeries.js.html
          @@ -0,0 +1,615 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedColumnSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedColumnSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The StackedColumnSeries renders column chart in which series are stacked vertically to show
          + * their contribution to the cumulative total.
          + *
          + * @module charts
          + * @class StackedColumnSeries
          + * @extends ColumnSeries
          + * @uses StackingUtil
          + * @constructor
          + *&#x2F;
          +Y.StackedColumnSeries = Y.Base.create(&quot;stackedColumnSeries&quot;, Y.ColumnSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +	 * @protected
          +	 *&#x2F;
          +	drawSeries: function()
          +	{
          +        if(this.get(&quot;xcoords&quot;).length &lt; 1) 
          +        {
          +            return;
          +        }
          +        var isNumber = Y_Lang.isNumber,
          +            style = Y.clone(this.get(&quot;styles&quot;).marker), 
          +            w = style.width,
          +            h = style.height,
          +            xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            i = 0,
          +            len = xcoords.length,
          +            top = ycoords[0],
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            seriesCollection = graph.seriesTypes[type],
          +            ratio,
          +            order = this.get(&quot;order&quot;),
          +            graphOrder = this.get(&quot;graphOrder&quot;),
          +            left,
          +            marker,
          +            fillColors,
          +            borderColors,
          +            lastCollection,
          +            negativeBaseValues,
          +            positiveBaseValues,
          +            useOrigin = order === 0,
          +            totalWidth = len * w,
          +            dimensions = {
          +                width: [],
          +                height: []
          +            },
          +            xvalues = [],
          +            yvalues = [],
          +            groupMarkers = this.get(&quot;groupMarkers&quot;);
          +        if(Y_Lang.isArray(style.fill.color))
          +        {
          +            fillColors = style.fill.color.concat(); 
          +        }
          +        if(Y_Lang.isArray(style.border.color))
          +        {
          +            borderColors = style.border.color.concat();
          +        }
          +        this._createMarkerCache();
          +        if(totalWidth &gt; this.get(&quot;width&quot;))
          +        {
          +            ratio = this.width&#x2F;totalWidth;
          +            w *= ratio;
          +            w = Math.max(w, 1);
          +        }
          +        if(!useOrigin)
          +        {
          +            lastCollection = seriesCollection[order - 1];
          +            negativeBaseValues = lastCollection.get(&quot;negativeBaseValues&quot;);
          +            positiveBaseValues = lastCollection.get(&quot;positiveBaseValues&quot;);
          +            if(!negativeBaseValues || !positiveBaseValues)
          +            {
          +                useOrigin = true;
          +                positiveBaseValues = [];
          +                negativeBaseValues = [];
          +            }
          +        }
          +        else
          +        {
          +            negativeBaseValues = [];
          +            positiveBaseValues = [];
          +        }
          +        this.set(&quot;negativeBaseValues&quot;, negativeBaseValues);
          +        this.set(&quot;positiveBaseValues&quot;, positiveBaseValues);
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            left = xcoords[i];
          +            top = ycoords[i];
          +            
          +            if(!isNumber(top) || !isNumber(left))
          +            {
          +                if(useOrigin)
          +                {
          +                    negativeBaseValues[i] = this._bottomOrigin;
          +                    positiveBaseValues[i] = this._bottomOrigin;
          +                }
          +                this._markers.push(null); 
          +                continue;
          +            }
          +            if(useOrigin)
          +            {
          +                h = Math.abs(this._bottomOrigin - top);
          +                if(top &lt; this._bottomOrigin)
          +                {
          +                    positiveBaseValues[i] = top;
          +                    negativeBaseValues[i] = this._bottomOrigin;
          +                }
          +                else if(top &gt; this._bottomOrigin)
          +                {
          +                    positiveBaseValues[i] = this._bottomOrigin;
          +                    negativeBaseValues[i] = top;
          +                    top -= h;
          +                }
          +                else
          +                {
          +                    positiveBaseValues[i] = top;
          +                    negativeBaseValues[i] = top;
          +                }
          +            }
          +            else 
          +            {
          +                if(top &gt; this._bottomOrigin)
          +                {
          +                    top += (negativeBaseValues[i] - this._bottomOrigin);
          +                    h = top - negativeBaseValues[i];
          +                    negativeBaseValues[i] = top;
          +                    top -= h;
          +                }
          +                else if(top &lt;= this._bottomOrigin)
          +                {
          +                    top = positiveBaseValues[i] - (this._bottomOrigin - top);
          +                    h = positiveBaseValues[i] - top;
          +                    positiveBaseValues[i] = top;
          +                }
          +            }
          +            if(!isNaN(h) &amp;&amp; h &gt; 0)
          +            {
          +                left -= w&#x2F;2;
          +                if(groupMarkers)
          +                {
          +                    dimensions.width[i] = w;
          +                    dimensions.height[i] = h;
          +                    xvalues.push(left);
          +                    yvalues.push(top);
          +                }
          +                else
          +                {
          +                    style.width = w;
          +                    style.height = h;
          +                    style.x = left;
          +                    style.y = top;
          +                    if(fillColors)
          +                    {
          +                        style.fill.color = fillColors[i % fillColors.length];
          +                    }
          +                    if(borderColors)
          +                    {
          +                        style.border.color = borderColors[i % borderColors.length];
          +                    }
          +                    marker = this.getMarker(style, graphOrder, i);
          +                }
          +            }
          +            else if(!groupMarkers)
          +            {
          +               this._markers.push(null);
          +            }
          +        }
          +        if(groupMarkers)
          +        {
          +            this._createGroupMarker({
          +                fill: style.fill,
          +                border: style.border,
          +                dimensions: dimensions,
          +                xvalues: xvalues,
          +                yvalues: yvalues,
          +                shape: style.shape
          +            });
          +        }
          +        else
          +        {
          +            this._clearMarkerCache();
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Resizes and positions markers based on a mouse interaction.
          +     *
          +     * @method updateMarkerState
          +     * @param {String} type state of the marker
          +     * @param {Number} i index of the marker
          +     * @protected
          +     *&#x2F;
          +    updateMarkerState: function(type, i)
          +    {
          +        if(this._markers &amp;&amp; this._markers[i])
          +        {
          +            var styles,
          +                markerStyles,
          +                state = this._getState(type),
          +                xcoords = this.get(&quot;xcoords&quot;),
          +                marker = this._markers[i],
          +                offset = 0,
          +                fillColor,
          +                borderColor;        
          +            styles = this.get(&quot;styles&quot;).marker;
          +            offset = styles.width * 0.5;
          +            markerStyles = state == &quot;off&quot; || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]); 
          +            markerStyles.height = marker.get(&quot;height&quot;);
          +            markerStyles.x = (xcoords[i] - offset);
          +            markerStyles.y = marker.get(&quot;y&quot;);
          +            markerStyles.id = marker.get(&quot;id&quot;);
          +            fillColor = markerStyles.fill.color; 
          +            borderColor = markerStyles.border.color;
          +            if(Y_Lang.isArray(fillColor))
          +            {
          +                markerStyles.fill.color = fillColor[i % fillColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i);
          +            }
          +            if(Y_Lang.isArray(borderColor))
          +            {
          +                markerStyles.border.color = borderColor[i % borderColor.length];
          +            }
          +            else
          +            {
          +                markerStyles.border.color = this._getItemColor(markerStyles.border.color, i);
          +            }
          +            marker.set(markerStyles);
          +        }
          +    },
          +	
          +    &#x2F;**
          +     * Gets the default values for the markers. 
          +     *
          +     * @method _getPlotDefaults
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    _getPlotDefaults: function()
          +    {
          +        var defs = {
          +            fill:{
          +                type: &quot;solid&quot;,
          +                alpha: 1,
          +                colors:null,
          +                alphas: null,
          +                ratios: null
          +            },
          +            border:{
          +                weight: 0,
          +                alpha: 1
          +            },
          +            width: 24,
          +            height: 24,
          +            shape: &quot;rect&quot;,
          +
          +            padding:{
          +                top: 0,
          +                left: 0,
          +                right: 0,
          +                bottom: 0
          +            }
          +        };
          +        defs.fill.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;fill&quot;);
          +        defs.border.color = this._getDefaultColor(this.get(&quot;graphOrder&quot;), &quot;border&quot;);
          +        return defs;
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedColumn
          +         *&#x2F;
          +        type: {
          +            value: &quot;stackedColumn&quot;
          +        },
          +
          +        &#x2F;**
          +         * @attribute negativeBaseValues
          +         * @type Array
          +         * @default null
          +         * @private
          +         *&#x2F;
          +        negativeBaseValues: {
          +            value: null
          +        },
          +
          +        &#x2F;**
          +         * @attribute positiveBaseValues
          +         * @type Array
          +         * @default null
          +         * @private
          +         *&#x2F;
          +        positiveBaseValues: {
          +            value: null
          +        }
          +        
          +        &#x2F;**
          +         * Style properties used for drawing markers. This attribute is inherited from &#x60;ColumnSeries&#x60;. Below are the default values:
          +         *  &lt;dl&gt;
          +         *      &lt;dt&gt;fill&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the fill. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#66007f&quot;, &quot;#a86f41&quot;, &quot;#295454&quot;, &quot;#996ab2&quot;, &quot;#e8cdb7&quot;, &quot;#90bdbd&quot;,&quot;#000000&quot;,&quot;#c3b8ca&quot;, &quot;#968373&quot;, &quot;#678585&quot;]&#x60;
          +         *              &lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;border&lt;&#x2F;dt&gt;&lt;dd&gt;A hash containing the following values:
          +         *          &lt;dl&gt;
          +         *              &lt;dt&gt;color&lt;&#x2F;dt&gt;&lt;dd&gt;Color of the border. The default value is determined by the order of the series on the graph. The color
          +         *              will be retrieved from the below array:&lt;br&#x2F;&gt;
          +         *              &#x60;[&quot;#205096&quot;, &quot;#b38206&quot;, &quot;#000000&quot;, &quot;#94001e&quot;, &quot;#9d6fa0&quot;, &quot;#e55b00&quot;, &quot;#5e85c9&quot;, &quot;#adab9e&quot;, &quot;#6ac291&quot;, &quot;#006457&quot;]&#x60;
          +         *              &lt;dt&gt;alpha&lt;&#x2F;dt&gt;&lt;dd&gt;Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *              &lt;dt&gt;weight&lt;&#x2F;dt&gt;&lt;dd&gt;Number indicating the width of the border. The default value is 1.&lt;&#x2F;dd&gt;
          +         *          &lt;&#x2F;dl&gt;
          +         *      &lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;width&lt;&#x2F;dt&gt;&lt;dd&gt;indicates the width of the marker. The default value is 24.&lt;&#x2F;dd&gt;
          +         *      &lt;dt&gt;over&lt;&#x2F;dt&gt;&lt;dd&gt;hash containing styles for markers when highlighted by a &#x60;mouseover&#x60; event. The default 
          +         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
          +         *      the default value for &#x60;marker.over.fill.color&#x60; is equivalent to &#x60;marker.fill.color&#x60;.&lt;&#x2F;dd&gt;
          +         *  &lt;&#x2F;dl&gt;
          +         *
          +         * @attribute styles
          +         * @type Object
          +         *&#x2F;
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSeries.js.html
          new file mode 100644
          index 000000000..69efe48b0
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSeries.js.html
          @@ -0,0 +1,350 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedComboSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedComboSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The StackedComboSeries class renders a combination of lines, plots and area fills in a single series. Series
          + * are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          + * rendered.  
          + *
          + * @module charts
          + * @class StackedComboSeries
          + * @extends ComboSeries
          + * @uses StackingUtil
          + * @constructor
          + *&#x2F;
          +Y.StackedComboSeries = Y.Base.create(&quot;stackedComboSeries&quot;, Y.ComboSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     *&#x2F;
          +    setAreaData: function()
          +    {   
          +        Y.StackedComboSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    },
          +	
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +     *&#x2F;
          +    drawSeries: function()
          +    {
          +        if(this.get(&quot;showAreaFill&quot;))
          +        {
          +            this.drawFill.apply(this, this._getStackedClosingPoints());
          +        }
          +        if(this.get(&quot;showLines&quot;)) 
          +        {
          +            this.drawLines();
          +        }
          +        if(this.get(&quot;showMarkers&quot;))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +    
          +}, {
          +    ATTRS : {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedCombo
          +         *&#x2F;
          +        type: {
          +            value: &quot;stackedCombo&quot;
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        showAreaFill: {
          +            value: true
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSplineSeries.js.html
          new file mode 100644
          index 000000000..57093a326
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedComboSplineSeries.js.html
          @@ -0,0 +1,336 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedComboSplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedComboSplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * The StackedComboSplineSeries class renders a combination of splines, plots and areaspline fills in a single series. Series
          + * are stacked along the value axis to indicate each series contribution to a cumulative total. Each
          + * series type has a corresponding boolean attribute indicating if it is rendered. By default, all three types are
          + * rendered.  
          + *
          + * @module charts
          + * @class StackedComboSplineSeries
          + * @extends StackedComboSeries
          + * @uses CurveUtil
          + * @constructor
          + *&#x2F;
          +Y.StackedComboSplineSeries = Y.Base.create(&quot;stackedComboSplineSeries&quot;, Y.StackedComboSeries, [Y.CurveUtil], {
          +    &#x2F;**
          +	 * @protected
          +     *
          +     * Draws the series.
          +     *
          +     * @method drawSeries
          +	 *&#x2F;
          +	drawSeries: function()
          +    {
          +        if(this.get(&quot;showAreaFill&quot;))
          +        {
          +            this.drawStackedAreaSpline();
          +        }
          +        if(this.get(&quot;showLines&quot;)) 
          +        {
          +            this.drawSpline();
          +        }
          +        if(this.get(&quot;showMarkers&quot;))
          +        {
          +            this.drawPlots();
          +        }   
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedComboSpline
          +         *&#x2F;
          +        type : {
          +            value : &quot;stackedComboSpline&quot;
          +        },
          +
          +        &#x2F;**
          +         * Indicates whether a fill is displayed.
          +         *
          +         * @attribute showAreaFill
          +         * @type Boolean
          +         * @default true
          +         *&#x2F;
          +        showAreaFill: {
          +            value: true
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedLineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedLineSeries.js.html
          new file mode 100644
          index 000000000..aa38aacf5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedLineSeries.js.html
          @@ -0,0 +1,313 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedLineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedLineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedLineSeries creates line graphs in which the different series are stacked along a value axis
          + * to indicate their contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedLineSeries
          + * @constructor
          + * @extends  LineSeries
          + * @uses StackingUtil
          + *&#x2F;
          +Y.StackedLineSeries = Y.Base.create(&quot;stackedLineSeries&quot;, Y.LineSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     *&#x2F;
          +    setAreaData: function()
          +    {   
          +        Y.StackedLineSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedLine
          +         *&#x2F;
          +        type: {
          +            value:&quot;stackedLine&quot;
          +        }
          +    }
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedMarkerSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedMarkerSeries.js.html
          new file mode 100644
          index 000000000..dfed5610c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedMarkerSeries.js.html
          @@ -0,0 +1,314 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedMarkerSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedMarkerSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedMarkerSeries plots markers with different series stacked along the value axis to indicate each
          + * series&#x27; contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedMarkerSeries
          + * @constructor
          + * @extends MarkerSeries
          + * @extends StackingUtil
          + *&#x2F;
          +Y.StackedMarkerSeries = Y.Base.create(&quot;stackedMarkerSeries&quot;, Y.MarkerSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     *&#x2F;
          +    setAreaData: function()
          +    {   
          +        Y.StackedMarkerSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedMarker
          +         *&#x2F;
          +        type: {
          +            value:&quot;stackedMarker&quot;
          +        }
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedSplineSeries.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedSplineSeries.js.html
          new file mode 100644
          index 000000000..4cbbf24c3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackedSplineSeries.js.html
          @@ -0,0 +1,314 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackedSplineSeries.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackedSplineSeries.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * StackedSplineSeries creates spline graphs in which the different series are stacked along a value axis
          + * to indicate their contribution to a cumulative total.
          + *
          + * @module charts
          + * @class StackedSplineSeries
          + * @constructor
          + * @extends SplineSeries
          + * @extends StackingUtil
          + *&#x2F;
          +Y.StackedSplineSeries = Y.Base.create(&quot;stackedSplineSeries&quot;, Y.SplineSeries, [Y.StackingUtil], {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Calculates the coordinates for the series. Overrides base implementation.
          +     *
          +     * @method setAreaData
          +     *&#x2F;
          +    setAreaData: function()
          +    {   
          +        Y.StackedSplineSeries.superclass.setAreaData.apply(this);
          +        this._stackCoordinates.apply(this);
          +    }
          +}, {
          +    ATTRS: {
          +        &#x2F;**
          +         * Read-only attribute indicating the type of series.
          +         *
          +         * @attribute type
          +         * @type String
          +         * @default stackedSpline
          +         *&#x2F;
          +        type: {
          +            value:&quot;stackedSpline&quot;
          +        }
          +    }
          +});
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackingUtil.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackingUtil.js.html
          new file mode 100644
          index 000000000..359827851
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_StackingUtil.js.html
          @@ -0,0 +1,338 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;StackingUtil.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;StackingUtil.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Utility class used for creating stacked series.
          + *
          + * @module charts
          + * @class StackingUtil
          + * @constructor
          + *&#x2F;
          +function StackingUtil(){}
          +
          +StackingUtil.prototype = {
          +    &#x2F;**
          +     * @protected
          +     *
          +     * Adjusts coordinate values for stacked series.
          +     *
          +     * @method _stackCoordinates
          +     *&#x2F;
          +    _stackCoordinates: function() 
          +    {
          +        var direction = this.get(&quot;direction&quot;),
          +            order = this.get(&quot;order&quot;),
          +            type = this.get(&quot;type&quot;),
          +            graph = this.get(&quot;graph&quot;),
          +            h = graph.get(&quot;height&quot;), 
          +            seriesCollection = graph.seriesTypes[type],
          +            i = 0,
          +            len,
          +            xcoords = this.get(&quot;xcoords&quot;),
          +            ycoords = this.get(&quot;ycoords&quot;),
          +            prevXCoords,
          +            prevYCoords;
          +        if(order === 0)
          +        {
          +            return;
          +        }
          +        prevXCoords = seriesCollection[order - 1].get(&quot;xcoords&quot;).concat();
          +        prevYCoords = seriesCollection[order - 1].get(&quot;ycoords&quot;).concat();
          +        if(direction === &quot;vertical&quot;)
          +        {
          +            len = prevXCoords.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                if(!isNaN(prevXCoords[i]) &amp;&amp; !isNaN(xcoords[i]))
          +                {
          +                    xcoords[i] += prevXCoords[i];
          +                }
          +            }
          +        }
          +        else
          +        {
          +            len = prevYCoords.length;
          +            for(; i &lt; len; ++i)
          +            {
          +                if(!isNaN(prevYCoords[i]) &amp;&amp; !isNaN(ycoords[i]))
          +                {
          +                    ycoords[i] = prevYCoords[i] - (h - ycoords[i]);
          +                }
          +            }
          +        }
          +    }
          +};
          +Y.StackingUtil = StackingUtil;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TimeAxis.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TimeAxis.js.html
          new file mode 100644
          index 000000000..a5296b157
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TimeAxis.js.html
          @@ -0,0 +1,614 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;TimeAxis.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;TimeAxis.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * TimeAxis manages time data on an axis.
          + *
          + * @module charts
          + * @class TimeAxis
          + * @constructor
          + * @param {Object} config (optional) Configuration parameters for the Chart.
          + * @extends AxisType
          + *&#x2F;
          +function TimeAxis(config)
          +{
          +	TimeAxis.superclass.constructor.apply(this, arguments);
          +}
          +
          +TimeAxis.NAME = &quot;timeAxis&quot;;
          +
          +TimeAxis.ATTRS = 
          +{
          +    &#x2F;**
          +     * Indicates whether the maximum is calculated or explicitly set. 
          +     *
          +     * @attribute setMax
          +     * @readOnly
          +     * @type Boolean
          +     * @private
          +     *&#x2F;
          +    setMax: {
          +        readOnly: true,
          +
          +        getter: function()
          +        {
          +            var max = this._getNumber(this._setMaximum);
          +            return (Y_Lang.isNumber(max));
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Indicates whether the minimum is calculated or explicitly set. 
          +     *
          +     * @attribute setMin
          +     * @readOnly
          +     * @type Boolean
          +     * @private
          +     *&#x2F;
          +    setMin: {
          +        readOnly: true,
          +
          +        getter: function()
          +        {
          +            var min = this._getNumber(this._setMinimum);
          +            return (Y_Lang.isNumber(min));
          +        }
          +    },
          +
          +    &#x2F;**
          +     * The maximum value that will appear on an axis. Unless explicitly set, this value is calculated by the &#x60;Axis&#x60;.
          +     *
          +     * @attribute maximum
          +     * @type Number
          +     *&#x2F;
          +    maximum: {
          +        getter: function ()
          +        {
          +            var max = this._getNumber(this._setMaximum);
          +            if(!Y_Lang.isNumber(max))
          +            {
          +                max = this._getNumber(this.get(&quot;dataMaximum&quot;));
          +            }
          +            return parseFloat(max);
          +        },
          +        setter: function (value)
          +        {
          +            this._setMaximum = this._getNumber(value);
          +            return value;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * The minimum value that will appear on an axis. Unless explicitly set, this value is calculated by the &#x60;Axis&#x60;.
          +     *
          +     * @attribute minimum
          +     * @type Number
          +     *&#x2F;
          +    minimum: {
          +        getter: function ()
          +        {
          +            var min = this._getNumber(this._setMinimum);
          +            if(!Y_Lang.isNumber(min)) 
          +            {
          +                min = this._getNumber(this.get(&quot;dataMinimum&quot;));
          +            }
          +            return parseFloat(min);
          +        },
          +        setter: function (value)
          +        {
          +            this._setMinimum = this._getNumber(value);
          +            return value;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Method used for formatting a label. This attribute allows for the default label formatting method to overridden. The method use would need
          +     * to implement the arguments below and return a &#x60;String&#x60; or an &#x60;HTMLElement&#x60;. The default implementation of the method returns a &#x60;String&#x60;. The output of this method
          +     * will be rendered to the DOM using &#x60;appendChild&#x60;. If you override the &#x60;labelFunction&#x60; method and return an html string, you will also need to override the Axis&#x27; 
          +     * &#x60;appendLabelFunction&#x60; to accept html as a &#x60;String&#x60;.
          +     * &lt;dl&gt;
          +     *      &lt;dt&gt;val&lt;&#x2F;dt&gt;&lt;dd&gt;Label to be formatted. (&#x60;String&#x60;)&lt;&#x2F;dd&gt;
          +     *      &lt;dt&gt;format&lt;&#x2F;dt&gt;&lt;dd&gt;STRFTime string used to format the label. (optional)&lt;&#x2F;dd&gt;
          +     * &lt;&#x2F;dl&gt;
          +     *
          +     * @attribute labelFunction
          +     * @type Function
          +     *&#x2F;
          +    labelFunction: {
          +        value: function(val, format)
          +        {
          +            val = Y.DataType.Date.parse(val);
          +            if(format)
          +            {
          +                return Y.DataType.Date.format(val, {format:format});
          +            }
          +            return val;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Pattern used by the &#x60;labelFunction&#x60; to format a label.
          +     *
          +     * @attribute labelFormat
          +     * @type String
          +     *&#x2F;
          +    labelFormat: {
          +        value: &quot;%b %d, %y&quot;
          +    }
          +};
          +
          +Y.extend(TimeAxis, Y.AxisType, {
          +    &#x2F;**
          +     * Formats a label based on the axis type and optionally specified format.
          +     *
          +     * @method formatLabel
          +     * @param {Object} value
          +     * @param {Object} format Pattern used to format the value.
          +     * @return String
          +     *&#x2F;
          +    formatLabel: function(val, format)
          +    {
          +        val = Y.DataType.Date.parse(val);
          +        if(format)
          +        {
          +            return Y.DataType.Date.format(val, {format:format});
          +        }
          +        return val;
          +    },
          +
          +    &#x2F;**
          +     * Constant used to generate unique id.
          +     *
          +     * @property GUID
          +     * @type String
          +     * @private
          +     *&#x2F;
          +    GUID: &quot;yuitimeaxis&quot;,
          +	
          +    &#x2F;**
          +     * Type of data used in &#x60;Axis&#x60;.
          +     *
          +     * @property _dataType
          +     * @readOnly
          +     * @private
          +     *&#x2F;
          +    _dataType: &quot;time&quot;,
          +	
          +    &#x2F;**
          +     * Calculates and returns a value based on the number of labels and the index of
          +     * the current label.
          +     *
          +     * @method getLabelByIndex
          +     * @param {Number} i Index of the label.
          +     * @param {Number} l Total number of labels.
          +     * @return String
          +     *&#x2F;
          +    getLabelByIndex: function(i, l)
          +    {
          +        var min = this.get(&quot;minimum&quot;),
          +            max = this.get(&quot;maximum&quot;),
          +            position = this.get(&quot;position&quot;),
          +            increm,
          +            label;
          +            l -= 1;
          +        increm = ((max - min)&#x2F;l) * i;
          +        if(position == &quot;bottom&quot; || position == &quot;top&quot;)
          +        {
          +            label = min + increm;
          +        }
          +        else
          +        {
          +            label = max - increm;
          +        }
          +        return label;
          +    },
          +
          +    &#x2F;**
          +     * Gets an array of values based on a key.
          +     *
          +     * @method _getKeyArray
          +     * @param {String} key Value key associated with the data array.
          +     * @param {Array} data Array in which the data resides.
          +     * @return Array
          +     * @private
          +     *&#x2F;
          +    _getKeyArray: function(key, data)
          +    {
          +        var obj,
          +            keyArray = [],
          +            i = 0,
          +            val,
          +            len = data.length;
          +        for(; i &lt; len; ++i)
          +        {
          +            obj = data[i][key];
          +            if(Y_Lang.isDate(obj))
          +            {   
          +                val = obj.valueOf();
          +            }
          +            else
          +            {
          +                val = new Date(obj);
          +                if(Y_Lang.isDate(val))
          +                {
          +                    val = val.valueOf();
          +                }
          +                else if(!Y_Lang.isNumber(obj))
          +                {
          +                    if(Y_Lang.isNumber(parseFloat(obj)))
          +                    {
          +                        val = parseFloat(obj);
          +                    }
          +                    else
          +                    {
          +                        if(typeof obj != &quot;string&quot;)
          +                        {
          +                            obj = obj;
          +                        }
          +                        val = new Date(obj).valueOf();
          +                    }
          +                }
          +                else
          +                {
          +                    val = obj;
          +                }
          +            }
          +            keyArray[i] = val;
          +        }
          +        return keyArray;
          +    },
          +
          +    &#x2F;**
          +     * Sets data by key
          +     *
          +     * @method _setDataByKey
          +     * @param {String} key Key value to use.
          +     * @param {Array} data Array to use.
          +     * @private 
          +     *&#x2F;
          +    _setDataByKey: function(key, data)
          +    {
          +        var obj, 
          +            arr = [], 
          +            dv = this._dataClone.concat(), 
          +            i, 
          +            val,
          +            len = dv.length;
          +        for(i = 0; i &lt; len; ++i)
          +        {
          +            obj = dv[i][key];
          +            if(Y_Lang.isDate(obj))
          +            {   
          +                val = obj.valueOf();
          +            }
          +            else
          +            {
          +                val = new Date(obj);
          +                if(Y_Lang.isDate(val))
          +                {
          +                    val = val.valueOf();
          +                }
          +                else if(!Y_Lang.isNumber(obj))
          +                {
          +                    if(Y_Lang.isNumber(parseFloat(obj)))
          +                    {
          +                        val = parseFloat(obj);
          +                    }
          +                    else
          +                    {
          +                        if(typeof obj != &quot;string&quot;)
          +                        {
          +                            obj = obj.toString();
          +                        }
          +                        val = new Date(obj).valueOf();
          +                    }
          +                }
          +                else
          +                {
          +                    val = obj;
          +                }
          +            }
          +            arr[i] = val;
          +        }
          +        this.get(&quot;keys&quot;)[key] = arr;
          +        this._updateTotalDataFlag = true;
          +    },
          +
          +    &#x2F;**
          +     * Parses value into a number.
          +     *
          +     * @method _getNumber
          +     * @param val {Object} Value to parse into a number
          +     * @return Number
          +     * @private
          +     *&#x2F;
          +    _getNumber: function(val)
          +    {
          +        if(Y_Lang.isDate(val))
          +        {
          +            val = val.valueOf();
          +        }
          +        else if(!Y_Lang.isNumber(val) &amp;&amp; val)
          +        {
          +            val = new Date(val).valueOf();
          +        }
          +
          +        return val;
          +    }
          +});
          +
          +Y.TimeAxis = TimeAxis;
          +		
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TopAxisLayout.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TopAxisLayout.js.html
          new file mode 100644
          index 000000000..3b6e80171
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_charts_TopAxisLayout.js.html
          @@ -0,0 +1,655 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;charts&#x2F;TopAxisLayout.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;charts&#x2F;TopAxisLayout.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Contains algorithms for rendering a top axis.
          + *
          + * @module charts
          + * @class TopAxisLayout
          + * @constructor
          + *&#x2F;
          +TopAxisLayout = function(){};
          +
          +TopAxisLayout.prototype = {
          +    &#x2F;**
          +     *  Default margins for text fields.
          +     *
          +     *  @private
          +     *  @method _getDefaultMargins
          +     *  @return Object
          +     *&#x2F;
          +    _getDefaultMargins: function() 
          +    {
          +        return {
          +            top: 0,
          +            left: 0,
          +            right: 0,
          +            bottom: 4
          +        };
          +    },
          +    
          +    &#x2F;**
          +     * Sets the length of the tick on either side of the axis line.
          +     *
          +     * @method setTickOffsets
          +     * @protected
          +     *&#x2F;
          +    setTickOffsets: function()
          +    {
          +        var host = this,
          +            majorTicks = host.get(&quot;styles&quot;).majorTicks,
          +            tickLength = majorTicks.length,
          +            halfTick = tickLength * 0.5,
          +            display = majorTicks.display;
          +        host.set(&quot;leftTickOffset&quot;,  0);
          +        host.set(&quot;rightTickOffset&quot;,  0);
          +        switch(display)
          +        {
          +            case &quot;inside&quot; :
          +                host.set(&quot;bottomTickOffset&quot;, tickLength);
          +                host.set(&quot;topTickOffset&quot;, 0);
          +            break;
          +            case &quot;outside&quot; : 
          +                host.set(&quot;bottomTickOffset&quot;, 0);
          +                host.set(&quot;topTickOffset&quot;,  tickLength);
          +            break;
          +            case &quot;cross&quot; :
          +                host.set(&quot;topTickOffset&quot;, halfTick);
          +                host.set(&quot;bottomTickOffset&quot;, halfTick);
          +            break;
          +            default:
          +                host.set(&quot;topTickOffset&quot;, 0);
          +                host.set(&quot;bottomTickOffset&quot;, 0);
          +            break;
          +        }
          +    },
          +
          +    &#x2F;**
          +     * Calculates the coordinates for the first point on an axis.
          +     *
          +     * @method getLineStart
          +     * @protected
          +     *&#x2F;
          +    getLineStart: function()
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            majorTicks = style.majorTicks,
          +            tickLength = majorTicks.length,
          +            display = majorTicks.display,
          +            pt = {x:0, y:padding.top};
          +        if(display === &quot;outside&quot;)
          +        {
          +            pt.y += tickLength;
          +        }
          +        else if(display === &quot;cross&quot;)
          +        {
          +            pt.y += tickLength&#x2F;2;
          +        }
          +        return pt; 
          +    },
          +    
          +    &#x2F;**
          +     * Draws a tick
          +     *
          +     * @method drawTick
          +     * @param {Path} path reference to the path &#x60;Path&#x60; element in which to draw the tick.
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @param {Object} tickStyles hash of properties used to draw the tick
          +     * @protected
          +     *&#x2F;
          +    drawTick: function(path, pt, tickStyles)
          +    {
          +        var host = this,
          +            style = host.get(&quot;styles&quot;),
          +            padding = style.padding,
          +            tickLength = tickStyles.length,
          +            start = {x:pt.x, y:padding.top},
          +            end = {x:pt.x, y:tickLength + padding.top};
          +        host.drawLine(path, start, end);
          +    },
          +    
          +    &#x2F;**
          +     * Calculates the point for a label.
          +     *
          +     * @method getLabelPoint
          +     * @param {Object} pt hash containing x and y coordinates
          +     * @return Object
          +     * @protected
          +     *&#x2F;
          +    getLabelPoint: function(pt)
          +    {
          +        return {x:pt.x, y:pt.y - this.get(&quot;topTickOffset&quot;)};
          +    },
          +    
          +    &#x2F;**
          +     * Updates the value for the &#x60;maxLabelSize&#x60; for use in calculating total size.
          +     *
          +     * @method updateMaxLabelSize
          +     * @param {HTMLElement} label to measure
          +     * @protected
          +     *&#x2F;
          +    updateMaxLabelSize: function(labelWidth, labelHeight)
          +    {
          +        var host = this,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            sinRadians = props.sinRadians,
          +            cosRadians = props.cosRadians,
          +            max;
          +        if(rot === 0)
          +        {
          +            max = labelHeight;
          +        }
          +        else if(absRot === 90)
          +        {
          +            max = labelWidth;
          +        }
          +        else
          +        {
          +            max = (sinRadians * labelWidth) + (cosRadians * labelHeight); 
          +        }
          +        host._maxLabelSize = Math.max(host._maxLabelSize, max);
          +    },
          +
          +    &#x2F;**
          +     * Determines the available label height when the axis width has been explicitly set.
          +     *
          +     * @method getExplicitlySized
          +     * @return Boolean
          +     * @protected
          +     *&#x2F;
          +    getExplicitlySized: function(styles)
          +    {
          +        if(this._explicitHeight)
          +        {
          +            var host = this,
          +                h = host._explicitHeight,
          +                totalTitleSize = host._totalTitleSize,
          +                topTickOffset = host.get(&quot;topTickOffset&quot;),
          +                margin = styles.label.margin.right;
          +            host._maxLabelSize =  h - (topTickOffset + margin + totalTitleSize);
          +            return true;
          +        }
          +        return false;
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position title.
          +     *
          +     * @method positionTitle
          +     * @param {HTMLElement} label to rotate position
          +     * @protected
          +     *&#x2F;
          +    positionTitle: function(label)
          +    {
          +        var host = this,
          +            bounds = host._titleBounds,
          +            margin = host.get(&quot;styles&quot;).title.margin,
          +            props = host._titleRotationProps,
          +            labelWidth = label.offsetWidth,
          +            labelHeight = label.offsetHeight,
          +            h = bounds.bottom - bounds.top,
          +            x = (host.get(&quot;width&quot;) * 0.5) - (labelWidth * 0.5),
          +            y = h&#x2F;2 - labelHeight&#x2F;2;
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        if(margin &amp;&amp; margin.top)
          +        {
          +            y += margin.top;
          +        }
          +        props.x = x;
          +        props.y = y;
          +        props.transformOrigin = [0.5, 0.5];
          +        host._rotate(label, props);
          +    },
          +
          +    &#x2F;**
          +     * Rotate and position labels.
          +     *
          +     * @method positionLabel
          +     * @param {HTMLElement} label to rotate position
          +     * @param {Object} pt hash containing the x and y coordinates in which the label will be positioned
          +     * against.
          +     * @protected
          +     *&#x2F;
          +    positionLabel: function(label, pt, styles, i)
          +    {
          +        var host = this,
          +            totalTitleSize = this._totalTitleSize,
          +            maxLabelSize = host._maxLabelSize,
          +            leftOffset = pt.x,
          +            topOffset = pt.y + totalTitleSize + maxLabelSize,
          +            props = this._labelRotationProps,
          +            rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = this._labelWidths[i],
          +            labelHeight = this._labelHeights[i];
          +        if(rot === 0)
          +        {
          +            leftOffset -= labelWidth * 0.5;
          +            topOffset -= labelHeight;
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                leftOffset -= labelWidth;
          +                topOffset -= (labelHeight * 0.5);
          +            }
          +            else if (rot === -90)
          +            {
          +                topOffset -= (labelHeight * 0.5);
          +            }    
          +            else if(rot &gt; 0)
          +            {
          +                leftOffset -= labelWidth;
          +                topOffset -= labelHeight - (labelHeight * rot&#x2F;180);
          +            }
          +            else
          +            {
          +                topOffset -= labelHeight - (labelHeight * absRot&#x2F;180);
          +            }
          +        }
          +        props.x = Math.round(leftOffset);
          +        props.y = Math.round(topOffset);
          +        props.labelWidth = labelWidth;
          +        props.labelHeight = labelHeight;
          +        this._rotate(label, props);
          +    },
          +
          +    &#x2F;**
          +     * Adjusts the coordinates of an axis label based on the rotation.
          +     *
          +     * @method _setRotationCoords
          +     * @param {Object} props Coordinates, dimension and rotation properties of the label.
          +     * @protected
          +     *&#x2F;
          +    _setRotationCoords: function(props)
          +    {
          +        var rot = props.rot,
          +            absRot = props.absRot,
          +            labelWidth = props.labelWidth,
          +            labelHeight = props.labelHeight,
          +            leftOffset,
          +            topOffset;
          +        if(rot === 0)
          +        {
          +            leftOffset = labelWidth * 0.5;
          +            topOffset = labelHeight;
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                leftOffset = labelWidth;
          +                topOffset = (labelHeight * 0.5);
          +            }
          +            else if (rot === -90)
          +            {
          +                topOffset = (labelHeight * 0.5);
          +            }    
          +            else if(rot &gt; 0)
          +            {
          +                leftOffset = labelWidth;
          +                topOffset = labelHeight - (labelHeight * rot&#x2F;180);
          +            }
          +            else
          +            {
          +                topOffset = labelHeight - (labelHeight * absRot&#x2F;180);
          +            }
          +        }
          +        props.x -= leftOffset;
          +        props.y -= topOffset;
          +    },
          +
          +    &#x2F;**
          +     * Returns the transformOrigin to use for an axis label based on the position of the axis 
          +     * and the rotation of the label.
          +     *
          +     * @method _getTransformOrigin
          +     * @param {Number} rot The rotation (in degrees) of the label.
          +     * @return Array
          +     * @protected
          +     *&#x2F;
          +    _getTransformOrigin: function(rot)
          +    {
          +        var transformOrigin;
          +        if(rot === 0)
          +        {
          +            transformOrigin = [0, 0];
          +        }
          +        else
          +        {
          +            if(rot === 90)
          +            {
          +                transformOrigin = [1, 0.5];
          +            }
          +            else if (rot === -90)
          +            {
          +                transformOrigin = [0, 0.5];
          +            }    
          +            else if(rot &gt; 0)
          +            {
          +                transformOrigin = [1, 0.5];
          +            }
          +            else
          +            {
          +                transformOrigin = [0, 0.5];
          +            }
          +        }
          +        return transformOrigin;
          +    },
          +
          +    &#x2F;**
          +     * Adjusts position for inner ticks.
          +     *
          +     * @method offsetNodeForTick
          +     * @param {Node} cb contentBox of the axis
          +     * @protected
          +     *&#x2F;
          +    offsetNodeForTick: function(cb)
          +    {
          +    },
          +
          +    &#x2F;**
          +     * Assigns a height based on the size of the contents.
          +     *
          +     * @method setCalculatedSize
          +     * @protected
          +     *&#x2F;
          +    setCalculatedSize: function()
          +    {
          +        var host = this,
          +            graphic = host.get(&quot;graphic&quot;),
          +            styles = host.get(&quot;styles&quot;),
          +            labelMargin = styles.label.margin,
          +            totalLabelSize = labelMargin.bottom + host._maxLabelSize,
          +            totalTitleSize = host._totalTitleSize,
          +            topTickOffset = this.get(&quot;topTickOffset&quot;),
          +            ttl = Math.round(topTickOffset + totalLabelSize + totalTitleSize);
          +        if(this._explicitHeight)
          +        {
          +           ttl = this._explicitWidth; 
          +        }
          +        host.set(&quot;calculatedHeight&quot;, ttl);
          +        graphic.set(&quot;y&quot;, ttl - topTickOffset);
          +    }
          +};
          +Y.TopAxisLayout = TopAxisLayout;
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_inherit_examplemodule.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_inherit_examplemodule.js.html
          new file mode 100644
          index 000000000..cda618815
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_inherit_examplemodule.js.html
          @@ -0,0 +1,378 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;inherit&#x2F;examplemodule.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;inherit&#x2F;examplemodule.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * This is my example module
          + * @module ExampleModule
          + * @example
          + *
          + *     var bar;
          + *
          + *&#x2F;
          +
          +YUI.add(&#x27;examplemodule&#x27;, function (Y) {
          +        Y.namespace(&#x27;mywidget&#x27;);
          +        
          +        &#x2F;**
          +         * &lt;b&gt;Superclass&lt;&#x2F;b&gt; description.&lt;br&gt;This is a second line too.
          +         * 
          +         * @constructor
          +         * @class SuperWidget
          +         * @extends Widget
          +         * @namespace mywidget
          +         * @example
          +         *
          +         *     var bar;
          +         *
          +         *&#x2F;
          +        Y.mywidget.superwidget = Y.Base.create(&quot;mysuperwidget&quot;, Y.Widget, [], {
          +                
          +                &#x2F;**
          +                 * &lt;b&gt;Supermethod&lt;&#x2F;b&gt; description.&lt;br&gt;This is a second line.
          +                 * 
          +                 * @method myMethod
          +                 * @async
          +                 *&#x2F;
          +                myMethod: function () {}
          +                
          +                &#x2F;**
          +                * Overwritten method see {{#crossLink &quot;mywidget.SuperWidget&quot;}}{{&#x2F;crossLink}}
          +                * also see {{#crossLink &quot;mywidget.SuperWidget&#x2F;myMethod&quot;}}{{&#x2F;crossLink}}
          +                * This is also a test {{#davglass &quot;Foo&quot;}}{{&#x2F;davglass}}
          +                * @method getTargets2
          +                * @example
          +                *
          +                *     var bar;
          +                *
          +                *&#x2F;
          +                &#x2F;**
          +                * Override Attribute
          +                * @attribute focused2
          +                * @optional
          +                *&#x2F;
          +
          +                &#x2F;**
          +                * Override Attribute
          +                * @attribute focused3
          +                * @required
          +                *&#x2F;
          +
          +                &#x2F;**
          +                * Override Property
          +                * @property name2
          +                * @type String
          +                *&#x2F;
          +
          +                &#x2F;**
          +                * Override Event
          +                * @event init2
          +                *&#x2F;
          +                 
          +        }, {
          +        
          +        });
          +        
          +        &#x2F;**
          +         * Subclass description.
          +         * 
          +         * @constructor
          +         * @namespace mywidget
          +         * @class SubWidget
          +         * @extends mywidget.SuperWidget
          +         *&#x2F;
          +        Y.mywidget.superwidget = Y.Base.create(&quot;mysuperwidget&quot;, Y.mywidget.superwidget, [], {
          +                
          +                &#x2F;**
          +                 * Submethod description.
          +                 * 
          +                 * @method myMethod
          +                 * @param {boolean} d Foo
          +                 *&#x2F;
          +                myMethod: function () {}
          +                 
          +        }, {
          +        
          +        });
          +
          +        &#x2F;**
          +         * Subclass description.
          +         * 
          +         * @constructor
          +         * @namespace mywidget
          +         * @class SubWidget2
          +         * @extends Accordion
          +         *&#x2F;
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_parse.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_parse.js.html
          new file mode 100644
          index 000000000..3f1eead6d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_parse.js.html
          @@ -0,0 +1,501 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;json&#x2F;parse.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;json&#x2F;parse.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * &lt;p&gt;The JSON module adds support for serializing JavaScript objects into
          + * JSON strings and parsing JavaScript objects from strings in JSON format.&lt;&#x2F;p&gt;
          + *
          + * &lt;p&gt;The JSON namespace is added to your YUI instance including static methods
          + * Y.JSON.parse(..) and Y.JSON.stringify(..).&lt;&#x2F;p&gt;
          + *
          + * &lt;p&gt;The functionality and method signatures follow the ECMAScript 5
          + * specification.  In browsers with native JSON support, the native
          + * implementation is used.&lt;&#x2F;p&gt;
          + *
          + * &lt;p&gt;The &lt;code&gt;json&lt;&#x2F;code&gt; module is a rollup of &lt;code&gt;json-parse&lt;&#x2F;code&gt; and
          + * &lt;code&gt;json-stringify&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
          + * 
          + * &lt;p&gt;As their names suggest, &lt;code&gt;json-parse&lt;&#x2F;code&gt; adds support for parsing
          + * JSON data (Y.JSON.parse) and &lt;code&gt;json-stringify&lt;&#x2F;code&gt; for serializing
          + * JavaScript data into JSON strings (Y.JSON.stringify).  You may choose to
          + * include either of the submodules individually if you don&#x27;t need the
          + * complementary functionality, or include the rollup for both.&lt;&#x2F;p&gt;
          + *
          + * @module json
          + * @main json
          + * @class JSON
          + * @static
          + *&#x2F;
          +
          +&#x2F;**
          + * Provides Y.JSON.parse method to accept JSON strings and return native
          + * JavaScript objects.
          + *
          + * @module json
          + * @submodule json-parse
          + * @for JSON
          + * @static
          + *&#x2F;
          +
          +
          +&#x2F;&#x2F; All internals kept private for security reasons
          +function fromGlobal(ref) {
          +    return (Y.config.win || this || {})[ref];
          +}
          +
          +
          +    &#x2F;**
          +     * Alias to native browser implementation of the JSON object if available.
          +     *
          +     * @property Native
          +     * @type {Object}
          +     * @private
          +     *&#x2F;
          +var _JSON  = fromGlobal(&#x27;JSON&#x27;),
          +
          +    Native = (Object.prototype.toString.call(_JSON) === &#x27;[object JSON]&#x27; &amp;&amp; _JSON),
          +    useNative = !!Native,
          +
          +    &#x2F;**
          +     * Replace certain Unicode characters that JavaScript may handle incorrectly
          +     * during eval--either by deleting them or treating them as line
          +     * endings--with escape sequences.
          +     * IMPORTANT NOTE: This regex will be used to modify the input if a match is
          +     * found.
          +     *
          +     * @property _UNICODE_EXCEPTIONS
          +     * @type {RegExp}
          +     * @private
          +     *&#x2F;
          +    _UNICODE_EXCEPTIONS = &#x2F;[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]&#x2F;g,
          +
          +
          +    &#x2F;**
          +     * First step in the safety evaluation.  Regex used to replace all escape
          +     * sequences (i.e. &quot;\\&quot;, etc) with &#x27;@&#x27; characters (a non-JSON character).
          +     *
          +     * @property _ESCAPES
          +     * @type {RegExp}
          +     * @private
          +     *&#x2F;
          +    _ESCAPES = &#x2F;\\(?:[&quot;\\\&#x2F;bfnrt]|u[0-9a-fA-F]{4})&#x2F;g,
          +
          +    &#x2F;**
          +     * Second step in the safety evaluation.  Regex used to replace all simple
          +     * values with &#x27;]&#x27; characters.
          +     *
          +     * @property _VALUES
          +     * @type {RegExp}
          +     * @private
          +     *&#x2F;
          +    _VALUES  = &#x2F;&quot;[^&quot;\\\n\r]*&quot;|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?&#x2F;g,
          +
          +    &#x2F;**
          +     * Third step in the safety evaluation.  Regex used to remove all open
          +     * square brackets following a colon, comma, or at the beginning of the
          +     * string.
          +     *
          +     * @property _BRACKETS
          +     * @type {RegExp}
          +     * @private
          +     *&#x2F;
          +    _BRACKETS = &#x2F;(?:^|:|,)(?:\s*\[)+&#x2F;g,
          +
          +    &#x2F;**
          +     * Final step in the safety evaluation.  Regex used to test the string left
          +     * after all previous replacements for invalid characters.
          +     *
          +     * @property _UNSAFE
          +     * @type {RegExp}
          +     * @private
          +     *&#x2F;
          +    _UNSAFE = &#x2F;[^\],:{}\s]&#x2F;,
          +    
          +    &#x2F;**
          +     * Replaces specific unicode characters with their appropriate \unnnn
          +     * format. Some browsers ignore certain characters during eval.
          +     *
          +     * @method escapeException
          +     * @param c {String} Unicode character
          +     * @return {String} the \unnnn escapement of the character
          +     * @private
          +     *&#x2F;
          +    _escapeException = function (c) {
          +        return &#x27;\\u&#x27;+(&#x27;0000&#x27;+(+(c.charCodeAt(0))).toString(16)).slice(-4);
          +    },
          +
          +    &#x2F;**
          +     * Traverses nested objects, applying a reviver function to each (key,value)
          +     * from the scope if the key:value&#x27;s containing object.  The value returned
          +     * from the function will replace the original value in the key:value pair.
          +     * If the value returned is undefined, the key will be omitted from the
          +     * returned object.
          +     *
          +     * @method _revive
          +     * @param data {MIXED} Any JavaScript data
          +     * @param reviver {Function} filter or mutation function
          +     * @return {MIXED} The results of the filtered data
          +     * @private
          +     *&#x2F;
          +    _revive = function (data, reviver) {
          +        var walk = function (o,key) {
          +            var k,v,value = o[key];
          +            if (value &amp;&amp; typeof value === &#x27;object&#x27;) {
          +                for (k in value) {
          +                    if (value.hasOwnProperty(k)) {
          +                        v = walk(value, k);
          +                        if (v === undefined) {
          +                            delete value[k];
          +                        } else {
          +                            value[k] = v;
          +                        }
          +                    }
          +                }
          +            }
          +            return reviver.call(o,key,value);
          +        };
          +
          +        return typeof reviver === &#x27;function&#x27; ? walk({&#x27;&#x27;:data},&#x27;&#x27;) : data;
          +    },
          +
          +    &#x2F;**
          +     * Parse a JSON string, returning the native JavaScript representation.
          +     *
          +     * @param s {string} JSON string data
          +     * @param reviver {function} (optional) function(k,v) passed each key value
          +     *          pair of object literals, allowing pruning or altering values
          +     * @return {MIXED} the native JavaScript representation of the JSON string
          +     * @throws SyntaxError
          +     * @method parse
          +     * @static
          +     *&#x2F;
          +    &#x2F;&#x2F; JavaScript implementation in lieu of native browser support.  Based on
          +    &#x2F;&#x2F; the json2.js library from http:&#x2F;&#x2F;json.org
          +    _parse = function (s,reviver) {
          +        &#x2F;&#x2F; Replace certain Unicode characters that are otherwise handled
          +        &#x2F;&#x2F; incorrectly by some browser implementations.
          +        &#x2F;&#x2F; NOTE: This modifies the input if such characters are found!
          +        s = s.replace(_UNICODE_EXCEPTIONS, _escapeException);
          +        
          +        &#x2F;&#x2F; Test for any remaining invalid characters
          +        if (!_UNSAFE.test(s.replace(_ESCAPES,&#x27;@&#x27;).
          +                            replace(_VALUES,&#x27;]&#x27;).
          +                            replace(_BRACKETS,&#x27;&#x27;))) {
          +
          +            &#x2F;&#x2F; Eval the text into a JavaScript data structure, apply any
          +            &#x2F;&#x2F; reviver function, and return
          +            return _revive( EVAL_TOKEN(&#x27;(&#x27; + s + &#x27;)&#x27;), reviver );
          +        }
          +
          +        throw new SyntaxError(&#x27;JSON.parse&#x27;);
          +    };
          +    
          +Y.namespace(&#x27;JSON&#x27;).parse = function (s,reviver) {
          +        if (typeof s !== &#x27;string&#x27;) {
          +            s += &#x27;&#x27;;
          +        }
          +
          +        return Native &amp;&amp; Y.JSON.useNativeParse ?
          +            Native.parse(s,reviver) : _parse(s,reviver);
          +};
          +
          +function workingNative( k, v ) {
          +    return k === &quot;ok&quot; ? true : v;
          +}
          +
          +&#x2F;&#x2F; Double check basic functionality.  This is mainly to catch early broken
          +&#x2F;&#x2F; implementations of the JSON API in Firefox 3.1 beta1 and beta2
          +if ( Native ) {
          +    try {
          +        useNative = ( Native.parse( &#x27;{&quot;ok&quot;:false}&#x27;, workingNative ) ).ok;
          +    }
          +    catch ( e ) {
          +        useNative = false;
          +    }
          +}
          +
          +&#x2F;**
          + * Leverage native JSON parse if the browser has a native implementation.
          + * In general, this is a good idea.  See the Known Issues section in the
          + * JSON user guide for caveats.  The default value is true for browsers with
          + * native JSON support.
          + *
          + * @property useNativeParse
          + * @type Boolean
          + * @default true
          + * @static
          + *&#x2F;
          +Y.JSON.useNativeParse = useNative;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_stringify.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_stringify.js.html
          new file mode 100644
          index 000000000..856fd87a5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_json_stringify.js.html
          @@ -0,0 +1,619 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;json&#x2F;stringify.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;json&#x2F;stringify.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Provides Y.JSON.stringify method for converting objects to JSON strings.
          + *
          + * @module json
          + * @submodule json-stringify
          + * @for JSON
          + * @static
          + *&#x2F;
          +var _JSON     = (Y.config.win || {}).JSON,
          +    Lang      = Y.Lang,
          +    isFunction= Lang.isFunction,
          +    isObject  = Lang.isObject,
          +    isArray   = Lang.isArray,
          +    _toStr    = Object.prototype.toString,
          +    Native    = (_toStr.call(_JSON) === &#x27;[object JSON]&#x27; &amp;&amp; _JSON),
          +    useNative = !!Native,
          +    UNDEFINED = &#x27;undefined&#x27;,
          +    OBJECT    = &#x27;object&#x27;,
          +    NULL      = &#x27;null&#x27;,
          +    STRING    = &#x27;string&#x27;,
          +    NUMBER    = &#x27;number&#x27;,
          +    BOOLEAN   = &#x27;boolean&#x27;,
          +    DATE      = &#x27;date&#x27;,
          +    _allowable= {
          +        &#x27;undefined&#x27;        : UNDEFINED,
          +        &#x27;string&#x27;           : STRING,
          +        &#x27;[object String]&#x27;  : STRING,
          +        &#x27;number&#x27;           : NUMBER,
          +        &#x27;[object Number]&#x27;  : NUMBER,
          +        &#x27;boolean&#x27;          : BOOLEAN,
          +        &#x27;[object Boolean]&#x27; : BOOLEAN,
          +        &#x27;[object Date]&#x27;    : DATE,
          +        &#x27;[object RegExp]&#x27;  : OBJECT
          +    },
          +    EMPTY     = &#x27;&#x27;,
          +    OPEN_O    = &#x27;{&#x27;,
          +    CLOSE_O   = &#x27;}&#x27;,
          +    OPEN_A    = &#x27;[&#x27;,
          +    CLOSE_A   = &#x27;]&#x27;,
          +    COMMA     = &#x27;,&#x27;,
          +    COMMA_CR  = &quot;,\n&quot;,
          +    CR        = &quot;\n&quot;,
          +    COLON     = &#x27;:&#x27;,
          +    COLON_SP  = &#x27;: &#x27;,
          +    QUOTE     = &#x27;&quot;&#x27;,
          +
          +    &#x2F;&#x2F; Regex used to capture characters that need escaping before enclosing
          +    &#x2F;&#x2F; their containing string in quotes.
          +    _SPECIAL = &#x2F;[\x00-\x07\x0b\x0e-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]&#x2F;g,
          +
          +    &#x2F;&#x2F; Character substitution map for common escapes and special characters.
          +    _COMMON = [
          +        [&#x2F;\\&#x2F;g, &#x27;\\\\&#x27;],
          +        [&#x2F;\&quot;&#x2F;g, &#x27;\\&quot;&#x27;],
          +        [&#x2F;\x08&#x2F;g, &#x27;\\b&#x27;],
          +        [&#x2F;\x09&#x2F;g, &#x27;\\t&#x27;],
          +        [&#x2F;\x0a&#x2F;g, &#x27;\\n&#x27;],
          +        [&#x2F;\x0c&#x2F;g, &#x27;\\f&#x27;],
          +        [&#x2F;\x0d&#x2F;g, &#x27;\\r&#x27;]
          +    ],
          +    _COMMON_LENGTH = _COMMON.length,
          +
          +    &#x2F;&#x2F; In-process optimization for special character escapes that haven&#x27;t yet
          +    &#x2F;&#x2F; been promoted to _COMMON
          +    _CHAR = {},
          +
          +    &#x2F;&#x2F; Per-char counter to determine if it&#x27;s worth fast tracking a special
          +    &#x2F;&#x2F; character escape sequence.
          +    _CHAR_COUNT, _CACHE_THRESHOLD;
          +
          +&#x2F;&#x2F; Utility function used to determine how to serialize a variable.
          +function _type(o) {
          +    var t = typeof o;
          +    return  _allowable[t] ||              &#x2F;&#x2F; number, string, boolean, undefined
          +            _allowable[_toStr.call(o)] || &#x2F;&#x2F; Number, String, Boolean, Date
          +            (t === OBJECT ?
          +                (o ? OBJECT : NULL) :     &#x2F;&#x2F; object, array, null, misc natives
          +                UNDEFINED);               &#x2F;&#x2F; function, unknown
          +}
          +
          +&#x2F;&#x2F; Escapes a special character to a safe Unicode representation
          +function _char(c) {
          +    if (!_CHAR[c]) {
          +        _CHAR[c] = &#x27;\\u&#x27;+(&#x27;0000&#x27;+(+(c.charCodeAt(0))).toString(16)).slice(-4);
          +        _CHAR_COUNT[c] = 0;
          +    }
          +
          +    &#x2F;&#x2F; === to avoid this conditional for the remainder of the current operation
          +    if (++_CHAR_COUNT[c] === _CACHE_THRESHOLD) {
          +        _COMMON.push([new RegExp(c, &#x27;g&#x27;), _CHAR[c]]);
          +        _COMMON_LENGTH = _COMMON.length;
          +    }
          +
          +    return _CHAR[c];
          +}
          +
          +&#x2F;&#x2F; Enclose escaped strings in quotes
          +function _string(s) {
          +    var i, chr;
          +
          +    &#x2F;&#x2F; Preprocess the string against common characters to avoid function
          +    &#x2F;&#x2F; overhead associated with replacement via function.
          +    for (i = 0; i &lt; _COMMON_LENGTH; i++) {
          +        chr = _COMMON[i];
          +        s = s.replace(chr[0], chr[1]);
          +    }
          +    
          +    &#x2F;&#x2F; original function replace for the not-as-common set of chars
          +    return QUOTE + s.replace(_SPECIAL, _char) + QUOTE;
          +}
          +
          +&#x2F;&#x2F; Adds the provided space to the beginning of every line in the input string
          +function _indent(s,space) {
          +    return s.replace(&#x2F;^&#x2F;gm, space);
          +}
          +
          +&#x2F;&#x2F; JavaScript implementation of stringify (see API declaration of stringify)
          +function _stringify(o,w,space) {
          +    if (o === undefined) {
          +        return undefined;
          +    }
          +
          +    var replacer = isFunction(w) ? w : null,
          +        format   = _toStr.call(space).match(&#x2F;String|Number&#x2F;) || [],
          +        _date    = Y.JSON.dateToString,
          +        stack    = [],
          +        tmp,i,len;
          +
          +    _CHAR_COUNT      = {};
          +    _CACHE_THRESHOLD = Y.JSON.charCacheThreshold;
          +
          +    if (replacer || !isArray(w)) {
          +        w = undefined;
          +    }
          +
          +    &#x2F;&#x2F; Ensure whitelist keys are unique (bug 2110391)
          +    if (w) {
          +        tmp = {};
          +        for (i = 0, len = w.length; i &lt; len; ++i) {
          +            tmp[w[i]] = true;
          +        }
          +        w = tmp;
          +    }
          +
          +    &#x2F;&#x2F; Per the spec, strings are truncated to 10 characters and numbers
          +    &#x2F;&#x2F; are converted to that number of spaces (max 10)
          +    space = format[0] === &#x27;Number&#x27; ?
          +                new Array(Math.min(Math.max(0,space),10)+1).join(&quot; &quot;) :
          +                (space || EMPTY).slice(0,10);
          +
          +    function _serialize(h,key) {
          +        var value = h[key],
          +            t     = _type(value),
          +            a     = [],
          +            colon = space ? COLON_SP : COLON,
          +            arr, i, keys, k, v;
          +
          +        &#x2F;&#x2F; Per the ECMA 5 spec, toJSON is applied before the replacer is
          +        &#x2F;&#x2F; called.  Also per the spec, Date.prototype.toJSON has been added, so
          +        &#x2F;&#x2F; Date instances should be serialized prior to exposure to the
          +        &#x2F;&#x2F; replacer.  I disagree with this decision, but the spec is the spec.
          +        if (isObject(value) &amp;&amp; isFunction(value.toJSON)) {
          +            value = value.toJSON(key);
          +        } else if (t === DATE) {
          +            value = _date(value);
          +        }
          +
          +        if (isFunction(replacer)) {
          +            value = replacer.call(h,key,value);
          +        }
          +
          +        if (value !== h[key]) {
          +            t = _type(value);
          +        }
          +
          +        switch (t) {
          +            case DATE    : &#x2F;&#x2F; intentional fallthrough.  Pre-replacer Dates are
          +                           &#x2F;&#x2F; serialized in the toJSON stage.  Dates here would
          +                           &#x2F;&#x2F; have been produced by the replacer.
          +            case OBJECT  : break;
          +            case STRING  : return _string(value);
          +            case NUMBER  : return isFinite(value) ? value+EMPTY : NULL;
          +            case BOOLEAN : return value+EMPTY;
          +            case NULL    : return NULL;
          +            default      : return undefined;
          +        }
          +
          +        &#x2F;&#x2F; Check for cyclical references in nested objects
          +        for (i = stack.length - 1; i &gt;= 0; --i) {
          +            if (stack[i] === value) {
          +                throw new Error(&quot;JSON.stringify. Cyclical reference&quot;);
          +            }
          +        }
          +
          +        arr = isArray(value);
          +
          +        &#x2F;&#x2F; Add the object to the processing stack
          +        stack.push(value);
          +
          +        if (arr) { &#x2F;&#x2F; Array
          +            for (i = value.length - 1; i &gt;= 0; --i) {
          +                a[i] = _serialize(value, i) || NULL;
          +            }
          +        } else {   &#x2F;&#x2F; Object
          +            &#x2F;&#x2F; If whitelist provided, take only those keys
          +            keys = w || value;
          +            i = 0;
          +
          +            for (k in keys) {
          +                if (keys.hasOwnProperty(k)) {
          +                    v = _serialize(value, k);
          +                    if (v) {
          +                        a[i++] = _string(k) + colon + v;
          +                    }
          +                }
          +            }
          +        }
          +
          +        &#x2F;&#x2F; remove the array from the stack
          +        stack.pop();
          +
          +        if (space &amp;&amp; a.length) {
          +            return arr ?
          +                OPEN_A + CR + _indent(a.join(COMMA_CR), space) + CR + CLOSE_A :
          +                OPEN_O + CR + _indent(a.join(COMMA_CR), space) + CR + CLOSE_O;
          +        } else {
          +            return arr ?
          +                OPEN_A + a.join(COMMA) + CLOSE_A :
          +                OPEN_O + a.join(COMMA) + CLOSE_O;
          +        }
          +    }
          +
          +    &#x2F;&#x2F; process the input
          +    return _serialize({&#x27;&#x27;:o},&#x27;&#x27;);
          +}
          +
          +&#x2F;&#x2F; Double check basic native functionality.  This is primarily to catch broken
          +&#x2F;&#x2F; early JSON API implementations in Firefox 3.1 beta1 and beta2.
          +if ( Native ) {
          +    try {
          +        useNative = ( &#x27;0&#x27; === Native.stringify(0) );
          +    } catch ( e ) {
          +        useNative = false;
          +    }
          +}
          +
          +Y.mix(Y.namespace(&#x27;JSON&#x27;),{
          +    &#x2F;**
          +     * Leverage native JSON stringify if the browser has a native
          +     * implementation.  In general, this is a good idea.  See the Known Issues
          +     * section in the JSON user guide for caveats.  The default value is true
          +     * for browsers with native JSON support.
          +     *
          +     * @property useNativeStringify
          +     * @type Boolean
          +     * @default true
          +     * @static
          +     *&#x2F;
          +    useNativeStringify : useNative,
          +
          +    &#x2F;**
          +     * Serializes a Date instance as a UTC date string.  Used internally by
          +     * stringify.  Override this method if you need Dates serialized in a
          +     * different format.
          +     *
          +     * @method dateToString
          +     * @param d {Date} The Date to serialize
          +     * @return {String} stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ
          +     * @deprecated Use a replacer function
          +     * @static
          +     *&#x2F;
          +    dateToString : function (d) {
          +        function _zeroPad(v) {
          +            return v &lt; 10 ? &#x27;0&#x27; + v : v;
          +        }
          +
          +        return d.getUTCFullYear()           + &#x27;-&#x27; +
          +              _zeroPad(d.getUTCMonth() + 1) + &#x27;-&#x27; +
          +              _zeroPad(d.getUTCDate())      + &#x27;T&#x27; +
          +              _zeroPad(d.getUTCHours())     + COLON +
          +              _zeroPad(d.getUTCMinutes())   + COLON +
          +              _zeroPad(d.getUTCSeconds())   + &#x27;Z&#x27;;
          +    },
          +
          +    &#x2F;**
          +     * &lt;p&gt;Converts an arbitrary value to a JSON string representation.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;Objects with cyclical references will trigger an exception.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;If a whitelist is provided, only matching object keys will be
          +     * included.  Alternately, a replacer function may be passed as the
          +     * second parameter.  This function is executed on every value in the
          +     * input, and its return value will be used in place of the original value.
          +     * This is useful to serialize specialized objects or class instances.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;If a positive integer or non-empty string is passed as the third
          +     * parameter, the output will be formatted with carriage returns and
          +     * indentation for readability.  If a String is passed (such as &quot;\t&quot;) it
          +     * will be used once for each indentation level.  If a number is passed,
          +     * that number of spaces will be used.&lt;&#x2F;p&gt;
          +     *
          +     * @method stringify
          +     * @param o {MIXED} any arbitrary value to convert to JSON string
          +     * @param w {Array|Function} (optional) whitelist of acceptable object
          +     *                  keys to include, or a replacer function to modify the
          +     *                  raw value before serialization
          +     * @param ind {Number|String} (optional) indentation character or depth of
          +     *                  spaces to format the output.
          +     * @return {string} JSON string representation of the input
          +     * @static
          +     *&#x2F;
          +    stringify : function (o,w,ind) {
          +        return Native &amp;&amp; Y.JSON.useNativeStringify ?
          +            Native.stringify(o,w,ind) : _stringify(o,w,ind);
          +    },
          +
          +    &#x2F;**
          +     * &lt;p&gt;Number of occurrences of a special character within a single call to
          +     * stringify that should trigger promotion of that character to a dedicated
          +     * preprocess step for future calls.  This is only used in environments
          +     * that don&#x27;t support native JSON, or when useNativeStringify is set to
          +     * false.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;So, if set to 50 and an object is passed to stringify that includes
          +     * strings containing the special character \x07 more than 50 times,
          +     * subsequent calls to stringify will process object strings through a
          +     * faster serialization path for \x07 before using the generic, slower,
          +     * replacement process for all special characters.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;To prime the preprocessor cache, set this value to 1, then call
          +     * &lt;code&gt;Y.JSON.stringify(&quot;&lt;em&gt;(all special characters to
          +     * cache)&lt;&#x2F;em&gt;&quot;);&lt;&#x2F;code&gt;, then return this setting to a more conservative
          +     * value.&lt;&#x2F;p&gt;
          +     *
          +     * &lt;p&gt;Special characters \ &quot; \b \t \n \f \r are already cached.&lt;&#x2F;p&gt;
          +     *
          +     * @property charCacheThreshold
          +     * @static
          +     * @default 100
          +     * @type {Number}
          +     *&#x2F;
          +    charCacheThreshold: 100
          +});
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_namespace_ns.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_namespace_ns.js.html
          new file mode 100644
          index 000000000..a515f1ba3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_namespace_ns.js.html
          @@ -0,0 +1,289 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;namespace&#x2F;ns.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;namespace&#x2F;ns.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          +Test Class
          +@class Bar
          +@namespace Foo
          +@module foobar
          +@main foobar
          +*&#x2F;
          +
          +&#x2F;**
          +Test Method
          +@method Baz
          +@namespace Foo.Bar
          +*&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_dump_dump.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_dump_dump.js.html
          new file mode 100644
          index 000000000..d82bed485
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_dump_dump.js.html
          @@ -0,0 +1,384 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test-linked&#x2F;dump&#x2F;dump.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test-linked&#x2F;dump&#x2F;dump.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Returns a simple string representation of the object or array.
          + * Other types of objects will be returned unprocessed.  Arrays
          + * are expected to be indexed.  Use object notation for
          + * associative arrays.
          + *
          + * If included, the dump method is added to the YUI instance.
          + *
          + * @module dump
          + *&#x2F;
          +
          +    var L = Y.Lang,
          +        OBJ = &#x27;{...}&#x27;,
          +        FUN = &#x27;f(){...}&#x27;,
          +        COMMA = &#x27;, &#x27;,
          +        ARROW = &#x27; =&gt; &#x27;,
          +
          +    &#x2F;**
          +     * The following methods are added to the YUI instance
          +     * @class YUI~dump
          +     *&#x2F;
          +
          +    &#x2F;**
          +     * Returns a simple string representation of the object or array.
          +     * Other types of objects will be returned unprocessed.  Arrays
          +     * are expected to be indexed.  Use object notation for
          +     * associative arrays.
          +     *
          +     * This method is in the &#x27;dump&#x27; module, which is not bundled with
          +     * the core YUI object
          +     *
          +     * @method dump
          +     * @param {object} o The object to dump.
          +     * @param {int} d How deep to recurse child objects, default 3.
          +     * @return {string} the dump result.
          +     *&#x2F;
          +    dump = function(o, d) {
          +        var i, len, s = [], type = L.type(o);
          +
          +        &#x2F;&#x2F; Cast non-objects to string
          +        &#x2F;&#x2F; Skip dates because the std toString is what we want
          +        &#x2F;&#x2F; Skip HTMLElement-like objects because trying to dump
          +        &#x2F;&#x2F; an element will cause an unhandled exception in FF 2.x
          +        if (!L.isObject(o)) {
          +            return o + &#x27;&#x27;;
          +        } else if (type == &#x27;date&#x27;) {
          +            return o;
          +        } else if (o.nodeType &amp;&amp; o.tagName) {
          +            return o.tagName + &#x27;#&#x27; + o.id;
          +        } else if (o.document &amp;&amp; o.navigator) {
          +            return &#x27;window&#x27;;
          +        } else if (o.location &amp;&amp; o.body) {
          +            return &#x27;document&#x27;;
          +        } else if (type == &#x27;function&#x27;) {
          +            return FUN;
          +        }
          +
          +        &#x2F;&#x2F; dig into child objects the depth specifed. Default 3
          +        d = (L.isNumber(d)) ? d : 3;
          +
          +        &#x2F;&#x2F; arrays [1, 2, 3]
          +        if (type == &#x27;array&#x27;) {
          +            s.push(&#x27;[&#x27;);
          +            for (i = 0, len = o.length; i &lt; len; i = i + 1) {
          +                if (L.isObject(o[i])) {
          +                    s.push((d &gt; 0) ? L.dump(o[i], d - 1) : OBJ);
          +                } else {
          +                    s.push(o[i]);
          +                }
          +                s.push(COMMA);
          +            }
          +            if (s.length &gt; 1) {
          +                s.pop();
          +            }
          +            s.push(&#x27;]&#x27;);
          +        &#x2F;&#x2F; regexp &#x2F;foo&#x2F;
          +        } else if (type == &#x27;regexp&#x27;) {
          +            s.push(o.toString());
          +        &#x2F;&#x2F; objects {k1 =&gt; v1, k2 =&gt; v2}
          +        } else {
          +            s.push(&#x27;{&#x27;);
          +            for (i in o) {
          +                if (o.hasOwnProperty(i)) {
          +                    try {
          +                        s.push(i + ARROW);
          +                        if (L.isObject(o[i])) {
          +                            s.push((d &gt; 0) ? L.dump(o[i], d - 1) : OBJ);
          +                        } else {
          +                            s.push(o[i]);
          +                        }
          +                        s.push(COMMA);
          +                    } catch (e) {
          +                        s.push(&#x27;Error: &#x27; + e.message);
          +                    }
          +                }
          +            }
          +            if (s.length &gt; 1) {
          +                s.pop();
          +            }
          +            s.push(&#x27;}&#x27;);
          +        }
          +
          +        return s.join(&#x27;&#x27;);
          +    };
          +
          +    Y.dump = dump;
          +    L.dump = dump;
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_namespace.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_namespace.js.html
          new file mode 100644
          index 000000000..7b2ca28c9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_namespace.js.html
          @@ -0,0 +1,305 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test-linked&#x2F;namespace.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test-linked&#x2F;namespace.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * @module P.storage
          + *&#x2F;
          +
          +&#x2F;**
          + * @class Store
          + * @constructor
          + * @namespace P.storage
          + *&#x2F;
          +&#x2F;&#x2F; definition of Store and Store.prototype
          +
          +&#x2F;**
          + * @class LocalStore
          + * @constructor
          + * @extends P.storage.Store
          + * @namespace P.storage
          + *&#x2F;
          +&#x2F;&#x2F; definition of LocalStore and LocalStore.prototype
          +
          +&#x2F;**
          + * @class storage
          + * @namespace P
          + *&#x2F;
          +
          +&#x2F;**
          + * @private
          + * @property {Array} _storageMechanisms
          + * @static
          + *&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_oop_oop.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_oop_oop.js.html
          new file mode 100644
          index 000000000..f04f6ff42
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_oop_oop.js.html
          @@ -0,0 +1,644 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test-linked&#x2F;oop&#x2F;oop.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test-linked&#x2F;oop&#x2F;oop.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Supplies object inheritance and manipulation utilities.  This adds
          + * additional functionaity to what is provided in yui-base, and the
          + * methods are applied directly to the YUI instance.  This module
          + * is required for most YUI components.
          + * @module oop
          + *&#x2F;
          +
          +&#x2F;**
          + * The following methods are added to the YUI instance
          + * @class YUI~oop
          + *&#x2F;
          +
          +    var L = Y.Lang,
          +        A = Y.Array,
          +        OP = Object.prototype,
          +        CLONE_MARKER = &#x27;_~yuim~_&#x27;,
          +        EACH = &#x27;each&#x27;,
          +        SOME = &#x27;some&#x27;,
          +
          +        dispatch = function(o, f, c, proto, action) {
          +            if (o &amp;&amp; o[action] &amp;&amp; o !== Y) {
          +                return o[action].call(o, f, c);
          +            } else {
          +                switch (A.test(o)) {
          +                    case 1:
          +                        return A[action](o, f, c);
          +                    case 2:
          +                        return A[action](Y.Array(o, 0, true), f, c);
          +                    default:
          +                        return Y.Object[action](o, f, c, proto);
          +                }
          +            }
          +        };
          +
          +
          +    &#x2F;**
          +     * Applies prototype properties from the supplier to the receiver.
          +     * The receiver can be a constructor or an instance.
          +     * @method augment
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl  a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @param {Array | Any} args arg or arguments to apply to the supplier
          +     * constructor when initializing.
          +     * @return {object} the augmented object.
          +     *
          +     * @todo constructor optional?
          +     * @todo understanding what an instance is augmented with
          +     * @todo best practices for overriding sequestered methods.
          +     *&#x2F;
          +    Y.augment = function(r, s, ov, wl, args) {
          +        var sProto = s.prototype,
          +            newProto = null,
          +            construct = s,
          +            a = (args) ? Y.Array(args) : [],
          +            rProto = r.prototype,
          +            target = rProto || r,
          +            applyConstructor = false,
          +            sequestered, replacements;
          +
          +        &#x2F;&#x2F; working on a class, so apply constructor infrastructure
          +        if (rProto &amp;&amp; construct) {
          +            sequestered = {};
          +            replacements = {};
          +            newProto = {};
          +
          +            &#x2F;&#x2F; sequester all of the functions in the supplier and replace with
          +            &#x2F;&#x2F; one that will restore all of them.
          +            Y.Object.each(sProto, function(v, k) {
          +                replacements[k] = function() {
          +
          +            &#x2F;&#x2F; Y.log(&#x27;sequestered function &quot;&#x27; + k +
          +            &#x2F;&#x2F; &#x27;&quot; executed.  Initializing EventTarget&#x27;);
          +            &#x2F;&#x2F; overwrite the prototype with all of the sequestered functions,
          +            &#x2F;&#x2F; but only if it hasn&#x27;t been overridden
          +                        for (var i in sequestered) {
          +                        if (sequestered.hasOwnProperty(i) &amp;&amp;
          +                                (this[i] === replacements[i])) {
          +                            &#x2F;&#x2F; Y.log(&#x27;... restoring &#x27; + k);
          +                            this[i] = sequestered[i];
          +                        }
          +                    }
          +
          +                    &#x2F;&#x2F; apply the constructor
          +                    construct.apply(this, a);
          +
          +                    &#x2F;&#x2F; apply the original sequestered function
          +                    return sequestered[k].apply(this, arguments);
          +                };
          +
          +                if ((!wl || (k in wl)) &amp;&amp; (ov || !(k in this))) {
          +                    &#x2F;&#x2F; Y.log(&#x27;augment: &#x27; + k);
          +                    if (L.isFunction(v)) {
          +                        &#x2F;&#x2F; sequester the function
          +                        sequestered[k] = v;
          +
          +&#x2F;&#x2F; replace the sequestered function with a function that will
          +&#x2F;&#x2F; restore all sequestered functions and exectue the constructor.
          +                        this[k] = replacements[k];
          +                    } else {
          +                        &#x2F;&#x2F; Y.log(&#x27;augment() applying non-function: &#x27; + k);
          +                        this[k] = v;
          +                    }
          +                }
          +
          +            }, newProto, true);
          +
          +        &#x2F;&#x2F; augmenting an instance, so apply the constructor immediately
          +        } else {
          +            applyConstructor = true;
          +        }
          +
          +        Y.mix(target, newProto || sProto, ov, wl);
          +
          +        if (applyConstructor) {
          +            s.apply(target, a);
          +        }
          +
          +        return r;
          +    };
          +
          +    &#x2F;**
          +     * Applies object properties from the supplier to the receiver.  If
          +     * the target has the property, and the property is an object, the target
          +     * object will be augmented with the supplier&#x27;s value.  If the property
          +     * is an array, the suppliers value will be appended to the target.
          +     * @method aggregate
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @return {object} the extended object.
          +     *&#x2F;
          +    Y.aggregate = function(r, s, ov, wl) {
          +        return Y.mix(r, s, ov, wl, 0, true);
          +    };
          +
          +    &#x2F;**
          +     * Utility to set up the prototype, constructor and superclass properties to
          +     * support an inheritance strategy that can chain constructors and methods.
          +     * Static members will not be inherited.
          +     *
          +     * @method extend
          +     * @param {function} r   the object to modify.
          +     * @param {function} s the object to inherit.
          +     * @param {object} px prototype properties to add&#x2F;override.
          +     * @param {object} sx static properties to add&#x2F;override.
          +     * @return {object} the extended object.
          +     *&#x2F;
          +    Y.extend = function(r, s, px, sx) {
          +        if (!s || !r) {
          +            Y.error(&#x27;extend failed, verify dependencies&#x27;);
          +        }
          +
          +        var sp = s.prototype, rp = Y.Object(sp);
          +        r.prototype = rp;
          +
          +        rp.constructor = r;
          +        r.superclass = sp;
          +
          +        &#x2F;&#x2F; assign constructor property
          +        if (s != Object &amp;&amp; sp.constructor == OP.constructor) {
          +            sp.constructor = s;
          +        }
          +
          +        &#x2F;&#x2F; add prototype overrides
          +        if (px) {
          +            Y.mix(rp, px, true);
          +        }
          +
          +        &#x2F;&#x2F; add object overrides
          +        if (sx) {
          +            Y.mix(r, sx, true);
          +        }
          +
          +        return r;
          +    };
          +
          +    &#x2F;**
          +     * Executes the supplied function for each item in
          +     * a collection.  Supports arrays, objects, and
          +     * Y.NodeLists
          +     * @method each
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {YUI} the YUI instance.
          +     *&#x2F;
          +    Y.each = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, EACH);
          +    };
          +
          +    &#x2F;**
          +     * Executes the supplied function for each item in
          +     * a collection.  The operation stops if the function
          +     * returns true. Supports arrays, objects, and
          +     * Y.NodeLists.
          +     * @method some
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {boolean} true if the function ever returns true,
          +     * false otherwise.
          +     *&#x2F;
          +    Y.some = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, SOME);
          +    };
          +
          +    &#x2F;**
          +     * Deep obj&#x2F;array copy.  Function clones are actually
          +     * wrappers around the original function.
          +     * Array-like objects are treated as arrays.
          +     * Primitives are returned untouched.  Optionally, a
          +     * function can be provided to handle other data types,
          +     * filter keys, validate values, etc.
          +     *
          +     * @method clone
          +     * @param {object} o what to clone.
          +     * @param {boolean} safe if true, objects will not have prototype
          +     * items from the source.  If false, they will.  In this case, the
          +     * original is initially protected, but the clone is not completely
          +     * immune from changes to the source object prototype.  Also, cloned
          +     * prototype items that are deleted from the clone will result
          +     * in the value of the source prototype being exposed.  If operating
          +     * on a non-safe clone, items should be nulled out rather than deleted.
          +     * @param {function} f optional function to apply to each item in a
          +     * collection; it will be executed prior to applying the value to
          +     * the new object.  Return false to prevent the copy.
          +     * @param {object} c optional execution context for f.
          +     * @param {object} owner Owner object passed when clone is iterating
          +     * an object.  Used to set up context for cloned functions.
          +     * @param {object} cloned hash of previously cloned objects to avoid
          +     * multiple clones.
          +     * @return {Array|Object} the cloned object.
          +     *&#x2F;
          +    Y.clone = function(o, safe, f, c, owner, cloned) {
          +
          +        if (!L.isObject(o)) {
          +            return o;
          +        }
          +
          +        &#x2F;&#x2F; @todo cloning YUI instances doesn&#x27;t currently work
          +        if (Y.instanceOf(o, YUI)) {
          +            return o;
          +        }
          +
          +        var o2, marked = cloned || {}, stamp,
          +            yeach = Y.each;
          +
          +        switch (L.type(o)) {
          +            case &#x27;date&#x27;:
          +                return new Date(o);
          +            case &#x27;regexp&#x27;:
          +                &#x2F;&#x2F; if we do this we need to set the flags too
          +                &#x2F;&#x2F; return new RegExp(o.source);
          +                return o;
          +            case &#x27;function&#x27;:
          +                &#x2F;&#x2F; o2 = Y.bind(o, owner);
          +                &#x2F;&#x2F; break;
          +                return o;
          +            case &#x27;array&#x27;:
          +                o2 = [];
          +                break;
          +            default:
          +
          +                &#x2F;&#x2F; #2528250 only one clone of a given object should be created.
          +                if (o[CLONE_MARKER]) {
          +                    return marked[o[CLONE_MARKER]];
          +                }
          +
          +                stamp = Y.guid();
          +
          +                o2 = (safe) ? {} : Y.Object(o);
          +
          +                o[CLONE_MARKER] = stamp;
          +                marked[stamp] = o;
          +        }
          +
          +        &#x2F;&#x2F; #2528250 don&#x27;t try to clone element properties
          +        if (!o.addEventListener &amp;&amp; !o.attachEvent) {
          +            yeach(o, function(v, k) {
          +if ((k || k === 0) &amp;&amp; (!f || (f.call(c || this, v, k, this, o) !== false))) {
          +                    if (k !== CLONE_MARKER) {
          +                        if (k == &#x27;prototype&#x27;) {
          +                            &#x2F;&#x2F; skip the prototype
          +                        &#x2F;&#x2F; } else if (o[k] === o) {
          +                        &#x2F;&#x2F;     this[k] = this;
          +                        } else {
          +                            this[k] =
          +                                Y.clone(v, safe, f, c, owner || o, marked);
          +                        }
          +                    }
          +                }
          +            }, o2);
          +        }
          +
          +        if (!cloned) {
          +            Y.Object.each(marked, function(v, k) {
          +                delete v[CLONE_MARKER];
          +            });
          +            marked = null;
          +        }
          +
          +        return o2;
          +    };
          +
          +
          +    &#x2F;**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object&#x27;s context, optionally adding any additional
          +     * supplied parameters to the beginning of the arguments collection the
          +     * supplied to the function.
          +     *
          +     * @method bind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to include before the arguments the
          +     * function is executed with.
          +     * @return {function} the wrapped function.
          +     *&#x2F;
          +    Y.bind = function(f, c) {
          +        var xargs = arguments.length &gt; 2 ?
          +                Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    xargs.concat(Y.Array(arguments, 0, true)) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          +    &#x2F;**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object&#x27;s context, optionally adding any additional
          +     * supplied parameters to the end of the arguments the function
          +     * is executed with.
          +     *
          +     * @method rbind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to append to the end of
          +     * arguments collection supplied to the function.
          +     * @return {function} the wrapped function.
          +     *&#x2F;
          +    Y.rbind = function(f, c) {
          +        var xargs = arguments.length &gt; 2 ? Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    Y.Array(arguments, 0, true).concat(xargs) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_slashes.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_slashes.js.html
          new file mode 100644
          index 000000000..c264e9aad
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test-linked_slashes.js.html
          @@ -0,0 +1,292 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test-linked&#x2F;slashes.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test-linked&#x2F;slashes.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          +* This is a module with slashes in the name
          +* @module myapp&#x2F;views&#x2F;index
          +*&#x2F;
          +
          +&#x2F;**
          +* This is the main class
          +* @class Main
          +* @constructor
          +*&#x2F;
          +
          +&#x2F;**
          +* Static Property
          +* @property STATIC
          +* @static
          +*&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_dump_dump.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_dump_dump.js.html
          new file mode 100644
          index 000000000..c6388a6b3
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_dump_dump.js.html
          @@ -0,0 +1,384 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test2&#x2F;dump&#x2F;dump.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test2&#x2F;dump&#x2F;dump.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Returns a simple string representation of the object or array.
          + * Other types of objects will be returned unprocessed.  Arrays
          + * are expected to be indexed.  Use object notation for
          + * associative arrays.
          + *
          + * If included, the dump method is added to the YUI instance.
          + *
          + * @module dump
          + *&#x2F;
          +
          +    var L = Y.Lang,
          +        OBJ = &#x27;{...}&#x27;,
          +        FUN = &#x27;f(){...}&#x27;,
          +        COMMA = &#x27;, &#x27;,
          +        ARROW = &#x27; =&gt; &#x27;,
          +
          +    &#x2F;**
          +     * The following methods are added to the YUI instance
          +     * @class YUI~dump
          +     *&#x2F;
          +
          +    &#x2F;**
          +     * Returns a simple string representation of the object or array.
          +     * Other types of objects will be returned unprocessed.  Arrays
          +     * are expected to be indexed.  Use object notation for
          +     * associative arrays.
          +     *
          +     * This method is in the &#x27;dump&#x27; module, which is not bundled with
          +     * the core YUI object
          +     *
          +     * @method dump
          +     * @param {object} o The object to dump.
          +     * @param {int} d How deep to recurse child objects, default 3.
          +     * @return {string} the dump result.
          +     *&#x2F;
          +    dump = function(o, d) {
          +        var i, len, s = [], type = L.type(o);
          +
          +        &#x2F;&#x2F; Cast non-objects to string
          +        &#x2F;&#x2F; Skip dates because the std toString is what we want
          +        &#x2F;&#x2F; Skip HTMLElement-like objects because trying to dump
          +        &#x2F;&#x2F; an element will cause an unhandled exception in FF 2.x
          +        if (!L.isObject(o)) {
          +            return o + &#x27;&#x27;;
          +        } else if (type == &#x27;date&#x27;) {
          +            return o;
          +        } else if (o.nodeType &amp;&amp; o.tagName) {
          +            return o.tagName + &#x27;#&#x27; + o.id;
          +        } else if (o.document &amp;&amp; o.navigator) {
          +            return &#x27;window&#x27;;
          +        } else if (o.location &amp;&amp; o.body) {
          +            return &#x27;document&#x27;;
          +        } else if (type == &#x27;function&#x27;) {
          +            return FUN;
          +        }
          +
          +        &#x2F;&#x2F; dig into child objects the depth specifed. Default 3
          +        d = (L.isNumber(d)) ? d : 3;
          +
          +        &#x2F;&#x2F; arrays [1, 2, 3]
          +        if (type == &#x27;array&#x27;) {
          +            s.push(&#x27;[&#x27;);
          +            for (i = 0, len = o.length; i &lt; len; i = i + 1) {
          +                if (L.isObject(o[i])) {
          +                    s.push((d &gt; 0) ? L.dump(o[i], d - 1) : OBJ);
          +                } else {
          +                    s.push(o[i]);
          +                }
          +                s.push(COMMA);
          +            }
          +            if (s.length &gt; 1) {
          +                s.pop();
          +            }
          +            s.push(&#x27;]&#x27;);
          +        &#x2F;&#x2F; regexp &#x2F;foo&#x2F;
          +        } else if (type == &#x27;regexp&#x27;) {
          +            s.push(o.toString());
          +        &#x2F;&#x2F; objects {k1 =&gt; v1, k2 =&gt; v2}
          +        } else {
          +            s.push(&#x27;{&#x27;);
          +            for (i in o) {
          +                if (o.hasOwnProperty(i)) {
          +                    try {
          +                        s.push(i + ARROW);
          +                        if (L.isObject(o[i])) {
          +                            s.push((d &gt; 0) ? L.dump(o[i], d - 1) : OBJ);
          +                        } else {
          +                            s.push(o[i]);
          +                        }
          +                        s.push(COMMA);
          +                    } catch (e) {
          +                        s.push(&#x27;Error: &#x27; + e.message);
          +                    }
          +                }
          +            }
          +            if (s.length &gt; 1) {
          +                s.pop();
          +            }
          +            s.push(&#x27;}&#x27;);
          +        }
          +
          +        return s.join(&#x27;&#x27;);
          +    };
          +
          +    Y.dump = dump;
          +    L.dump = dump;
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_namespace.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_namespace.js.html
          new file mode 100644
          index 000000000..d7fc07584
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_namespace.js.html
          @@ -0,0 +1,305 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test2&#x2F;namespace.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test2&#x2F;namespace.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * @module P.storage
          + *&#x2F;
          +
          +&#x2F;**
          + * @class Store
          + * @constructor
          + * @namespace P.storage
          + *&#x2F;
          +&#x2F;&#x2F; definition of Store and Store.prototype
          +
          +&#x2F;**
          + * @class LocalStore
          + * @constructor
          + * @extends P.storage.Store
          + * @namespace P.storage
          + *&#x2F;
          +&#x2F;&#x2F; definition of LocalStore and LocalStore.prototype
          +
          +&#x2F;**
          + * @class storage
          + * @namespace P
          + *&#x2F;
          +
          +&#x2F;**
          + * @private
          + * @property {Array} _storageMechanisms
          + * @static
          + *&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_oop_oop.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_oop_oop.js.html
          new file mode 100644
          index 000000000..ff00d2a64
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_oop_oop.js.html
          @@ -0,0 +1,644 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test2&#x2F;oop&#x2F;oop.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test2&#x2F;oop&#x2F;oop.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * Supplies object inheritance and manipulation utilities.  This adds
          + * additional functionaity to what is provided in yui-base, and the
          + * methods are applied directly to the YUI instance.  This module
          + * is required for most YUI components.
          + * @module oop
          + *&#x2F;
          +
          +&#x2F;**
          + * The following methods are added to the YUI instance
          + * @class YUI~oop
          + *&#x2F;
          +
          +    var L = Y.Lang,
          +        A = Y.Array,
          +        OP = Object.prototype,
          +        CLONE_MARKER = &#x27;_~yuim~_&#x27;,
          +        EACH = &#x27;each&#x27;,
          +        SOME = &#x27;some&#x27;,
          +
          +        dispatch = function(o, f, c, proto, action) {
          +            if (o &amp;&amp; o[action] &amp;&amp; o !== Y) {
          +                return o[action].call(o, f, c);
          +            } else {
          +                switch (A.test(o)) {
          +                    case 1:
          +                        return A[action](o, f, c);
          +                    case 2:
          +                        return A[action](Y.Array(o, 0, true), f, c);
          +                    default:
          +                        return Y.Object[action](o, f, c, proto);
          +                }
          +            }
          +        };
          +
          +
          +    &#x2F;**
          +     * Applies prototype properties from the supplier to the receiver.
          +     * The receiver can be a constructor or an instance.
          +     * @method augment
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl  a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @param {Array | Any} args arg or arguments to apply to the supplier
          +     * constructor when initializing.
          +     * @return {object} the augmented object.
          +     *
          +     * @todo constructor optional?
          +     * @todo understanding what an instance is augmented with
          +     * @todo best practices for overriding sequestered methods.
          +     *&#x2F;
          +    Y.augment = function(r, s, ov, wl, args) {
          +        var sProto = s.prototype,
          +            newProto = null,
          +            construct = s,
          +            a = (args) ? Y.Array(args) : [],
          +            rProto = r.prototype,
          +            target = rProto || r,
          +            applyConstructor = false,
          +            sequestered, replacements;
          +
          +        &#x2F;&#x2F; working on a class, so apply constructor infrastructure
          +        if (rProto &amp;&amp; construct) {
          +            sequestered = {};
          +            replacements = {};
          +            newProto = {};
          +
          +            &#x2F;&#x2F; sequester all of the functions in the supplier and replace with
          +            &#x2F;&#x2F; one that will restore all of them.
          +            Y.Object.each(sProto, function(v, k) {
          +                replacements[k] = function() {
          +
          +            &#x2F;&#x2F; Y.log(&#x27;sequestered function &quot;&#x27; + k +
          +            &#x2F;&#x2F; &#x27;&quot; executed.  Initializing EventTarget&#x27;);
          +            &#x2F;&#x2F; overwrite the prototype with all of the sequestered functions,
          +            &#x2F;&#x2F; but only if it hasn&#x27;t been overridden
          +                        for (var i in sequestered) {
          +                        if (sequestered.hasOwnProperty(i) &amp;&amp;
          +                                (this[i] === replacements[i])) {
          +                            &#x2F;&#x2F; Y.log(&#x27;... restoring &#x27; + k);
          +                            this[i] = sequestered[i];
          +                        }
          +                    }
          +
          +                    &#x2F;&#x2F; apply the constructor
          +                    construct.apply(this, a);
          +
          +                    &#x2F;&#x2F; apply the original sequestered function
          +                    return sequestered[k].apply(this, arguments);
          +                };
          +
          +                if ((!wl || (k in wl)) &amp;&amp; (ov || !(k in this))) {
          +                    &#x2F;&#x2F; Y.log(&#x27;augment: &#x27; + k);
          +                    if (L.isFunction(v)) {
          +                        &#x2F;&#x2F; sequester the function
          +                        sequestered[k] = v;
          +
          +&#x2F;&#x2F; replace the sequestered function with a function that will
          +&#x2F;&#x2F; restore all sequestered functions and exectue the constructor.
          +                        this[k] = replacements[k];
          +                    } else {
          +                        &#x2F;&#x2F; Y.log(&#x27;augment() applying non-function: &#x27; + k);
          +                        this[k] = v;
          +                    }
          +                }
          +
          +            }, newProto, true);
          +
          +        &#x2F;&#x2F; augmenting an instance, so apply the constructor immediately
          +        } else {
          +            applyConstructor = true;
          +        }
          +
          +        Y.mix(target, newProto || sProto, ov, wl);
          +
          +        if (applyConstructor) {
          +            s.apply(target, a);
          +        }
          +
          +        return r;
          +    };
          +
          +    &#x2F;**
          +     * Applies object properties from the supplier to the receiver.  If
          +     * the target has the property, and the property is an object, the target
          +     * object will be augmented with the supplier&#x27;s value.  If the property
          +     * is an array, the suppliers value will be appended to the target.
          +     * @method aggregate
          +     * @param {function} r  the object to receive the augmentation.
          +     * @param {function} s  the object that supplies the properties to augment.
          +     * @param {boolean} ov if true, properties already on the receiver
          +     * will be overwritten if found on the supplier.
          +     * @param {string[]} wl a whitelist.  If supplied, only properties in
          +     * this list will be applied to the receiver.
          +     * @return {object} the extended object.
          +     *&#x2F;
          +    Y.aggregate = function(r, s, ov, wl) {
          +        return Y.mix(r, s, ov, wl, 0, true);
          +    };
          +
          +    &#x2F;**
          +     * Utility to set up the prototype, constructor and superclass properties to
          +     * support an inheritance strategy that can chain constructors and methods.
          +     * Static members will not be inherited.
          +     *
          +     * @method extend
          +     * @param {function} r   the object to modify.
          +     * @param {function} s the object to inherit.
          +     * @param {object} px prototype properties to add&#x2F;override.
          +     * @param {object} sx static properties to add&#x2F;override.
          +     * @return {object} the extended object.
          +     *&#x2F;
          +    Y.extend = function(r, s, px, sx) {
          +        if (!s || !r) {
          +            Y.error(&#x27;extend failed, verify dependencies&#x27;);
          +        }
          +
          +        var sp = s.prototype, rp = Y.Object(sp);
          +        r.prototype = rp;
          +
          +        rp.constructor = r;
          +        r.superclass = sp;
          +
          +        &#x2F;&#x2F; assign constructor property
          +        if (s != Object &amp;&amp; sp.constructor == OP.constructor) {
          +            sp.constructor = s;
          +        }
          +
          +        &#x2F;&#x2F; add prototype overrides
          +        if (px) {
          +            Y.mix(rp, px, true);
          +        }
          +
          +        &#x2F;&#x2F; add object overrides
          +        if (sx) {
          +            Y.mix(r, sx, true);
          +        }
          +
          +        return r;
          +    };
          +
          +    &#x2F;**
          +     * Executes the supplied function for each item in
          +     * a collection.  Supports arrays, objects, and
          +     * Y.NodeLists
          +     * @method each
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {YUI} the YUI instance.
          +     *&#x2F;
          +    Y.each = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, EACH);
          +    };
          +
          +    &#x2F;**
          +     * Executes the supplied function for each item in
          +     * a collection.  The operation stops if the function
          +     * returns true. Supports arrays, objects, and
          +     * Y.NodeLists.
          +     * @method some
          +     * @param {object} o the object to iterate.
          +     * @param {function} f the function to execute.  This function
          +     * receives the value, key, and object as parameters.
          +     * @param {object} c the execution context for the function.
          +     * @param {boolean} proto if true, prototype properties are
          +     * iterated on objects.
          +     * @return {boolean} true if the function ever returns true,
          +     * false otherwise.
          +     *&#x2F;
          +    Y.some = function(o, f, c, proto) {
          +        return dispatch(o, f, c, proto, SOME);
          +    };
          +
          +    &#x2F;**
          +     * Deep obj&#x2F;array copy.  Function clones are actually
          +     * wrappers around the original function.
          +     * Array-like objects are treated as arrays.
          +     * Primitives are returned untouched.  Optionally, a
          +     * function can be provided to handle other data types,
          +     * filter keys, validate values, etc.
          +     *
          +     * @method clone
          +     * @param {object} o what to clone.
          +     * @param {boolean} safe if true, objects will not have prototype
          +     * items from the source.  If false, they will.  In this case, the
          +     * original is initially protected, but the clone is not completely
          +     * immune from changes to the source object prototype.  Also, cloned
          +     * prototype items that are deleted from the clone will result
          +     * in the value of the source prototype being exposed.  If operating
          +     * on a non-safe clone, items should be nulled out rather than deleted.
          +     * @param {function} f optional function to apply to each item in a
          +     * collection; it will be executed prior to applying the value to
          +     * the new object.  Return false to prevent the copy.
          +     * @param {object} c optional execution context for f.
          +     * @param {object} owner Owner object passed when clone is iterating
          +     * an object.  Used to set up context for cloned functions.
          +     * @param {object} cloned hash of previously cloned objects to avoid
          +     * multiple clones.
          +     * @return {Array|Object} the cloned object.
          +     *&#x2F;
          +    Y.clone = function(o, safe, f, c, owner, cloned) {
          +
          +        if (!L.isObject(o)) {
          +            return o;
          +        }
          +
          +        &#x2F;&#x2F; @todo cloning YUI instances doesn&#x27;t currently work
          +        if (Y.instanceOf(o, YUI)) {
          +            return o;
          +        }
          +
          +        var o2, marked = cloned || {}, stamp,
          +            yeach = Y.each;
          +
          +        switch (L.type(o)) {
          +            case &#x27;date&#x27;:
          +                return new Date(o);
          +            case &#x27;regexp&#x27;:
          +                &#x2F;&#x2F; if we do this we need to set the flags too
          +                &#x2F;&#x2F; return new RegExp(o.source);
          +                return o;
          +            case &#x27;function&#x27;:
          +                &#x2F;&#x2F; o2 = Y.bind(o, owner);
          +                &#x2F;&#x2F; break;
          +                return o;
          +            case &#x27;array&#x27;:
          +                o2 = [];
          +                break;
          +            default:
          +
          +                &#x2F;&#x2F; #2528250 only one clone of a given object should be created.
          +                if (o[CLONE_MARKER]) {
          +                    return marked[o[CLONE_MARKER]];
          +                }
          +
          +                stamp = Y.guid();
          +
          +                o2 = (safe) ? {} : Y.Object(o);
          +
          +                o[CLONE_MARKER] = stamp;
          +                marked[stamp] = o;
          +        }
          +
          +        &#x2F;&#x2F; #2528250 don&#x27;t try to clone element properties
          +        if (!o.addEventListener &amp;&amp; !o.attachEvent) {
          +            yeach(o, function(v, k) {
          +if ((k || k === 0) &amp;&amp; (!f || (f.call(c || this, v, k, this, o) !== false))) {
          +                    if (k !== CLONE_MARKER) {
          +                        if (k == &#x27;prototype&#x27;) {
          +                            &#x2F;&#x2F; skip the prototype
          +                        &#x2F;&#x2F; } else if (o[k] === o) {
          +                        &#x2F;&#x2F;     this[k] = this;
          +                        } else {
          +                            this[k] =
          +                                Y.clone(v, safe, f, c, owner || o, marked);
          +                        }
          +                    }
          +                }
          +            }, o2);
          +        }
          +
          +        if (!cloned) {
          +            Y.Object.each(marked, function(v, k) {
          +                delete v[CLONE_MARKER];
          +            });
          +            marked = null;
          +        }
          +
          +        return o2;
          +    };
          +
          +
          +    &#x2F;**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object&#x27;s context, optionally adding any additional
          +     * supplied parameters to the beginning of the arguments collection the
          +     * supplied to the function.
          +     *
          +     * @method bind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to include before the arguments the
          +     * function is executed with.
          +     * @return {function} the wrapped function.
          +     *&#x2F;
          +    Y.bind = function(f, c) {
          +        var xargs = arguments.length &gt; 2 ?
          +                Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    xargs.concat(Y.Array(arguments, 0, true)) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          +    &#x2F;**
          +     * Returns a function that will execute the supplied function in the
          +     * supplied object&#x27;s context, optionally adding any additional
          +     * supplied parameters to the end of the arguments the function
          +     * is executed with.
          +     *
          +     * @method rbind
          +     * @param {Function|String} f the function to bind, or a function name
          +     * to execute on the context object.
          +     * @param {object} c the execution context.
          +     * @param {any} args* 0..n arguments to append to the end of
          +     * arguments collection supplied to the function.
          +     * @return {function} the wrapped function.
          +     *&#x2F;
          +    Y.rbind = function(f, c) {
          +        var xargs = arguments.length &gt; 2 ? Y.Array(arguments, 2, true) : null;
          +        return function() {
          +            var fn = L.isString(f) ? c[f] : f,
          +                args = (xargs) ?
          +                    Y.Array(arguments, 0, true).concat(xargs) : arguments;
          +            return fn.apply(c || fn, args);
          +        };
          +    };
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_slashes.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_slashes.js.html
          new file mode 100644
          index 000000000..e5cdfc48d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test2_slashes.js.html
          @@ -0,0 +1,292 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test2&#x2F;slashes.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test2&#x2F;slashes.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          +* This is a module with slashes in the name
          +* @module myapp&#x2F;views&#x2F;index
          +*&#x2F;
          +
          +&#x2F;**
          +* This is the main class
          +* @class Main
          +* @constructor
          +*&#x2F;
          +
          +&#x2F;**
          +* Static Property
          +* @property STATIC
          +* @static
          +*&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_anim.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_anim.js.html
          new file mode 100644
          index 000000000..9e81d83f1
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_anim.js.html
          @@ -0,0 +1,302 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test&#x2F;anim.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test&#x2F;anim.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +&#x2F;**
          + * This is the Anim MODULE description
          + * @main anim
          + * @module anim
          + *&#x2F;
          + 
          +&#x2F;**
          + * This is the Anim Class description
          + * @class Anim
          + *&#x2F;
          + 
          +&#x2F;**
          + * The easing module provides methods for customizing
          + * how an animation behaves during each run.
          + * @class Easing
          + * @submodule anim-easing
          + *&#x2F;
          + 
          +
          +&#x2F;**
          + * FOO FOO FOO FOO FOO The easing module provides methods for customizing
          + * @class EasingFoo
          + * @submodule anim-easing-foo
          + *&#x2F;
          + 
          +
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_test.js.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_test.js.html
          new file mode 100644
          index 000000000..7eff0dfcf
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/files/input_test_test.js.html
          @@ -0,0 +1,440 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>input&#x2F;test&#x2F;test.js</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1 class="file-heading">File: input&#x2F;test&#x2F;test.js</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +
          +&#x2F;**
          + * The test project
          + * @project tester
          + * @title The Tester
          + * @icon http:&#x2F;&#x2F;a.img
          + * @url http:&#x2F;&#x2F;one.url
          + * @url http:&#x2F;&#x2F;two.url
          + * @author admo
          + * @contributor davglass
          + * @contributor entropy
          + *&#x2F;
          +
          +&#x2F;**
          + * The module
          + * @module mymodule
          + * @category one,two
          + * @category three
          + * @requires one
          + * @requires two
          + * @uses three
          + * @uses four
          + *&#x2F;
          +
          +&#x2F;**
          + * The submodule
          + * @submodule mysubmodule
          + * @category three,four
          + *&#x2F;
          +
          +
          +&#x2F;**
          + * The class def
          + * @class myclass
          + * @constructor
          + *&#x2F;
          +
          +&#x2F;**
          + * test optional
          + * @method testoptional
          + * @param notype my desc
          + * @param {int} namesecond my desc
          + * @param namefirst {string} my desc
          + * @param [optionalvar] {bool} my desc
          + * @param {string} [optionalwithdefault=&quot;defaultval&quot;] my desc
          + * @evil
          + * @injects {HTML} uses a string parameter to populate innerHTML
          + * @returns something without a type
          + * @example
          + *      This is code
          + * @example
          + *      var = &#x27;This is more code&#x27;;
          + *      document.title = &#x27;Test This&#x27;;
          + *&#x2F;
          +
          +&#x2F;**
          + * test object param
          + * @method testobjectparam
          + * @param {object} anobject the object
          + * @param {string} anobject.prop1 prop1
          + * @param {bool} anobject.prop2 prop2
          + * @return {string} something with a type
          + *&#x2F;
          +
          +&#x2F;**
          + * test 0..n param
          + * @method test0ton
          + * @param {string} [optionalandmultiple]* my desc
          + * @returns something without a type
          + *&#x2F;
          +
          +&#x2F;**
          + * test 1..n param
          + * @method test1ton
          + * @param {string} multiple* my desc
          + * @returns something without a type
          + *&#x2F;
          +
          +    &#x2F;**
          +     * Testing really long param description paring
          +     * @method reallyLongParamDesc
          +     * @param {Object} config Object with configuration property name&#x2F;value pairs. The object can be 
          +     * used to provide default values for the objects published attributes.
          +     *
          +     * &lt;p&gt;
          +     * The config object can also contain the following non-attribute properties, providing a convenient 
          +     * way to configure events listeners and plugins for the instance, as part of the constructor call:
          +     * &lt;&#x2F;p&gt;
          +     *
          +     * &lt;dl&gt;
          +     *     &lt;dt&gt;on&lt;&#x2F;dt&gt;
          +     *     &lt;dd&gt;An event name to listener function map, to register event listeners for the &quot;on&quot; moment of the event. A constructor convenience property for the &lt;a href=&quot;Base.html#method_on&quot;&gt;on&lt;&#x2F;a&gt; method.&lt;&#x2F;dd&gt;
          +     *     &lt;dt&gt;after&lt;&#x2F;dt&gt;
          +     *     &lt;dd&gt;An event name to listener function map, to register event listeners for the &quot;after&quot; moment of the event. A constructor convenience property for the &lt;a href=&quot;Base.html#method_after&quot;&gt;after&lt;&#x2F;a&gt; method.&lt;&#x2F;dd&gt;
          +     *     &lt;dt&gt;bubbleTargets&lt;&#x2F;dt&gt;
          +     *     &lt;dd&gt;An object, or array of objects, to register as bubble targets for bubbled events fired by this instance. A constructor convenience property for the &lt;a href=&quot;EventTarget.html#method_addTarget&quot;&gt;addTarget&lt;&#x2F;a&gt; method.&lt;&#x2F;dd&gt;
          +     *     &lt;dt&gt;plugins&lt;&#x2F;dt&gt;
          +     *     &lt;dd&gt;A plugin, or array of plugins to be plugged into the instance (see PluginHost&#x27;s plug method for signature details). A constructor convenience property for the &lt;a href=&quot;Plugin.Host.html#method_plug&quot;&gt;plug&lt;&#x2F;a&gt; method.&lt;&#x2F;dd&gt;
          +     * &lt;&#x2F;dl&gt;
          +     *
          +    *&#x2F;
          +
          +
          +&#x2F;**
          +This is the description
          +
          +@method foo
          +@example
          +
          +        var email = &quot;lsmith@foo-truncated-here.com&quot;
          +
          +**&#x2F;
          +
          +&#x2F;**
          +Other Class
          +@class OtherClass
          +@extensionfor myclass
          +*&#x2F;
          +
          +&#x2F;**
          +Other Class 2
          +@class OtherClass2
          +@extension_for myclass
          +*&#x2F;
          +
          +&#x2F;**
          +Default options to use for all transactions.
          +@static
          +@protected
          +@property {Object} options
          +@property {Object} [options.attributes] HTML attribute name&#x2F;value pairs that
          +    should be added to inserted nodes.
          +@property {Boolean} [options.autopurge=false] Whether or not to automatically
          +    purge inserted nodes after the purge threshold is reached.
          +@property {Document} [options.doc] Document into which nodes should be inserted.
          +@property {Number} [options.pollInterval=50] Polling interval (in milliseconds)
          +    for detecting CSS load completion in browsers that don&#x27;t support the &#x60;load&#x60;
          +    event on &#x60;&lt;link&gt;&#x60; nodes.
          +**&#x2F;
          +
          +
          +&#x2F;**
          +This is a test of CASE TaGs
          +@MeThod testMethod
          +@ParaM {String} foo Foo description
          +*&#x2F;
          +
          +&#x2F;**
          +This is an optional attribute
          +@attribute optionalAttr
          +@optional
          +*&#x2F;
          +
          +&#x2F;**
          +This is a required attribute
          +@attribute requiredAttr
          +@required
          +*&#x2F;
          +
          +&#x2F;**
          +crash test method
          +@method crashTest
          +@params {String} foo The string to crash the parser
          +*&#x2F;
          +
          +    </pre>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/index.html
          new file mode 100644
          index 000000000..b092ca58d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/index.html
          @@ -0,0 +1,290 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title></title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href=".&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href=".&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href=".&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src=".&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href=".&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href=".&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href=".&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href=".&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href=".&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href=".&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href=".&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href=".&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href=".&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href=".&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href=".&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href=".&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href=".&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href=".&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href=".&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href=".&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href=".&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href=".&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href=".&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href=".&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href=".&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href=".&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href=".&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href=".&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href=".&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href=".&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href=".&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href=".&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href=".&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href=".&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href=".&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href=".&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href=".&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href=".&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href=".&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href=".&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href=".&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href=".&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href=".&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href=".&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href=".&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href=".&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href=".&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href=".&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href=".&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href=".&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href=".&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href=".&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href=".&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href=".&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                            <div class="apidocs">
          +        <div id="docs-main" class="content">
          +            <p>
          +            Browse to a module or class using the sidebar to view its API documentation.
          +            </p>
          +
          +            <h2>Keyboard Shortcuts</h2>
          +
          +            <ul>
          +                <li><p>Press <kbd>s</kbd> to focus the API search box.</p></li>
          +
          +                <li><p>Use <kbd>Up</kbd> and <kbd>Down</kbd> to select classes, modules, and search results.</p></li>
          +
          +                <li class="mac-only"><p>With the API search box or sidebar focused, use <kbd><span class="cmd">&#x2318;</span>-Left</kbd> or <kbd><span class="cmd">&#x2318;</span>-Right</kbd> to switch sidebar tabs.</p></li>
          +
          +                <li class="pc-only"><p>With the API search box or sidebar focused, use <kbd>Ctrl+Left</kbd> and <kbd>Ctrl+Right</kbd> to switch sidebar tabs.</p></li>
          +            </ul>
          +        </div>
          +    </div>
          +
          +
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src=".&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src=".&#x2F;assets/js/yui-prettify.js"></script>
          +<script src=".&#x2F;assets/../api.js"></script>
          +<script src=".&#x2F;assets/js/api-filter.js"></script>
          +<script src=".&#x2F;assets/js/api-list.js"></script>
          +<script src=".&#x2F;assets/js/api-search.js"></script>
          +<script src=".&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/ExampleModule.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/ExampleModule.html
          new file mode 100644
          index 000000000..0c927b850
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/ExampleModule.html
          @@ -0,0 +1,333 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>ExampleModule</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>ExampleModule Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_inherit_examplemodule.js.html#l94"><code>input&#x2F;inherit&#x2F;examplemodule.js:94</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>This is my example module</p>
          +</div>
          +
          +
          +    <div class="example">
          +        <h4>Example:</h4>
          +        <div class="example-content">
          +            <pre class="code"><code class="prettyprint">var bar;
          +</code></pre>
          +        </div>
          +    </div>
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/mywidget.SubWidget.html">
          +                        mywidget.SubWidget
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/mywidget.SubWidget2.html">
          +                        mywidget.SubWidget2
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/mywidget.SuperWidget.html">
          +                        mywidget.SuperWidget
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/P.storage.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/P.storage.html
          new file mode 100644
          index 000000000..42d01a266
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/P.storage.html
          @@ -0,0 +1,325 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>P.storage</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>P.storage Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_namespace.js.html#l20"><code>input&#x2F;test2&#x2F;namespace.js:20</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/P.storage.html">
          +                        P.storage
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/P.storage.LocalStore.html">
          +                        P.storage.LocalStore
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/P.storage.Store.html">
          +                        P.storage.Store
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing-foo.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing-foo.html
          new file mode 100644
          index 000000000..6b940eea5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing-foo.html
          @@ -0,0 +1,313 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>anim-easing-foo</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>anim-easing-foo Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l20"><code>input&#x2F;test&#x2F;anim.js:20</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>FOO FOO FOO FOO FOO The easing module provides methods for customizing</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/EasingFoo.html">
          +                        EasingFoo
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing.html
          new file mode 100644
          index 000000000..c881e245c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim-easing.html
          @@ -0,0 +1,314 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>anim-easing</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>anim-easing Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l12"><code>input&#x2F;test&#x2F;anim.js:12</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The easing module provides methods for customizing
          +how an animation behaves during each run.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Easing.html">
          +                        Easing
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim.html
          new file mode 100644
          index 000000000..0b59e7e75
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/anim.html
          @@ -0,0 +1,352 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>anim</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>anim Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_anim.js.html#l20"><code>input&#x2F;test&#x2F;anim.js:20</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>This is the Anim MODULE description</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Anim.html">
          +                        Anim
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Easing.html">
          +                        Easing
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/EasingFoo.html">
          +                        EasingFoo
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module is a rollup of the following modules:</p>
          +
          +            <ul class="module-submodules">
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/anim-easing.html">
          +                        anim-easing
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        The easing module provides methods for customizing
          +how an animation behaves during each run.
          +                    </div>
          +                </li>
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/anim-easing-foo.html">
          +                        anim-easing-foo
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        FOO FOO FOO FOO FOO The easing module provides methods for customizing
          +                    </div>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts-legend.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts-legend.html
          new file mode 100644
          index 000000000..d43085a7a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts-legend.html
          @@ -0,0 +1,325 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>charts-legend</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>charts-legend Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ChartLegend.js.html#l1"><code>input&#x2F;charts&#x2F;ChartLegend.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Adds legend functionality to charts.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ChartLegend.html">
          +                        ChartLegend
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/HorizontalLegendLayout.html">
          +                        HorizontalLegendLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/VerticalLegendLayout.html">
          +                        VerticalLegendLayout
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts.html
          new file mode 100644
          index 000000000..497a760a1
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/charts.html
          @@ -0,0 +1,600 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>charts</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>charts Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_TopAxisLayout.js.html#l1"><code>input&#x2F;charts&#x2F;TopAxisLayout.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The Charts widget provides an api for displaying data
          +graphically.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/AreaSeries.html">
          +                        AreaSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/AreaSplineSeries.html">
          +                        AreaSplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Axis.html">
          +                        Axis
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/AxisType.html">
          +                        AxisType
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/BarSeries.html">
          +                        BarSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/BottomAxisLayout.html">
          +                        BottomAxisLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/CartesianChart.html">
          +                        CartesianChart
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/CartesianSeries.html">
          +                        CartesianSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/CategoryAxis.html">
          +                        CategoryAxis
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Chart.html">
          +                        Chart
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ChartBase.html">
          +                        ChartBase
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ChartLegend.html">
          +                        ChartLegend
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ColumnSeries.html">
          +                        ColumnSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ComboSeries.html">
          +                        ComboSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ComboSplineSeries.html">
          +                        ComboSplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/CurveUtil.html">
          +                        CurveUtil
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Fills.html">
          +                        Fills
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Graph.html">
          +                        Graph
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Gridlines.html">
          +                        Gridlines
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Histogram.html">
          +                        Histogram
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/HorizontalLegendLayout.html">
          +                        HorizontalLegendLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/LeftAxisLayout.html">
          +                        LeftAxisLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Lines.html">
          +                        Lines
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/LineSeries.html">
          +                        LineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/MarkerSeries.html">
          +                        MarkerSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/NumericAxis.html">
          +                        NumericAxis
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/PieChart.html">
          +                        PieChart
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/PieSeries.html">
          +                        PieSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Plots.html">
          +                        Plots
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Renderer.html">
          +                        Renderer
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/RightAxisLayout.html">
          +                        RightAxisLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/SplineSeries.html">
          +                        SplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedAreaSeries.html">
          +                        StackedAreaSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedAreaSplineSeries.html">
          +                        StackedAreaSplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedAxis.html">
          +                        StackedAxis
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedBarSeries.html">
          +                        StackedBarSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedColumnSeries.html">
          +                        StackedColumnSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedComboSeries.html">
          +                        StackedComboSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedComboSplineSeries.html">
          +                        StackedComboSplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedLineSeries.html">
          +                        StackedLineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedMarkerSeries.html">
          +                        StackedMarkerSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackedSplineSeries.html">
          +                        StackedSplineSeries
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/StackingUtil.html">
          +                        StackingUtil
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/TimeAxis.html">
          +                        TimeAxis
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/TopAxisLayout.html">
          +                        TopAxisLayout
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/VerticalLegendLayout.html">
          +                        VerticalLegendLayout
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module is a rollup of the following modules:</p>
          +
          +            <ul class="module-submodules">
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/charts-legend.html">
          +                        charts-legend
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        Adds legend functionality to charts.
          +                    </div>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/dump.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/dump.html
          new file mode 100644
          index 000000000..b7451e60f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/dump.html
          @@ -0,0 +1,318 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>dump</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>dump Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_dump_dump.js.html#l18"><code>input&#x2F;test2&#x2F;dump&#x2F;dump.js:18</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Returns a simple string representation of the object or array.
          +Other types of objects will be returned unprocessed.  Arrays
          +are expected to be indexed.  Use object notation for
          +associative arrays.</p>
          +
          +<p>If included, the dump method is added to the YUI instance.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/YUI~dump.html">
          +                        YUI~dump
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/foobar.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/foobar.html
          new file mode 100644
          index 000000000..6472dc3c5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/foobar.html
          @@ -0,0 +1,313 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>foobar</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>foobar Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_namespace_ns.js.html#l1"><code>input&#x2F;namespace&#x2F;ns.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Test Class</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Foo.Bar.html">
          +                        Foo.Bar
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/graphics.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/graphics.html
          new file mode 100644
          index 000000000..b2b691123
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/graphics.html
          @@ -0,0 +1,337 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>graphics</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>graphics Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_charts_ShapeGroup.js.html#l25"><code>input&#x2F;charts&#x2F;ShapeGroup.js:25</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Abstract class for creating groups of shapes with the same styles and dimensions.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/EllipseGroup.html">
          +                        EllipseGroup
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/GroupCircle.html">
          +                        GroupCircle
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/GroupDiamond.html">
          +                        GroupDiamond
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/GroupRect.html">
          +                        GroupRect
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/ShapeGroup.html">
          +                        ShapeGroup
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/index.html
          new file mode 100644
          index 000000000..487fe15b2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/index.html
          @@ -0,0 +1,10 @@
          +<!doctype html>
          +<html>
          +    <head>
          +        <title>Redirector</title>
          +        <meta http-equiv="refresh" content="0;url=../">
          +    </head>
          +    <body>
          +        <a href="../">Click here to redirect</a>
          +    </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-parse.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-parse.html
          new file mode 100644
          index 000000000..adfa1397c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-parse.html
          @@ -0,0 +1,314 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>json-parse</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>json-parse Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l1"><code>input&#x2F;json&#x2F;parse.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Provides Y.JSON.parse method to accept JSON strings and return native
          +JavaScript objects.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/JSON.html">
          +                        JSON
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-stringify.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-stringify.html
          new file mode 100644
          index 000000000..36867b185
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json-stringify.html
          @@ -0,0 +1,301 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>json-stringify</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>json-stringify Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_json_stringify.js.html#l1"><code>input&#x2F;json&#x2F;stringify.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Provides Y.JSON.stringify method for converting objects to JSON strings.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json.html
          new file mode 100644
          index 000000000..373a1475f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/json.html
          @@ -0,0 +1,357 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>json</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>json Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_json_parse.js.html#l1"><code>input&#x2F;json&#x2F;parse.js:1</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The JSON module adds support for serializing JavaScript objects into
          +JSON strings and parsing JavaScript objects from strings in JSON format.</p>
          +
          +<p>The JSON namespace is added to your YUI instance including static methods
          +Y.JSON.parse(..) and Y.JSON.stringify(..).</p>
          +
          +<p>The functionality and method signatures follow the ECMAScript 5
          +specification.  In browsers with native JSON support, the native
          +implementation is used.</p>
          +
          +<p>The <code>json</code> module is a rollup of <code>json-parse</code> and
          +<code>json-stringify</code>.</p>
          +
          +<p>As their names suggest, <code>json-parse</code> adds support for parsing
          +JSON data (Y.JSON.parse) and <code>json-stringify</code> for serializing
          +JavaScript data into JSON strings (Y.JSON.stringify).  You may choose to
          +include either of the submodules individually if you don't need the
          +complementary functionality, or include the rollup for both.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/JSON.html">
          +                        JSON
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module is a rollup of the following modules:</p>
          +
          +            <ul class="module-submodules">
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/json-parse.html">
          +                        json-parse
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        Provides Y.JSON.parse method to accept JSON strings and return native
          +JavaScript objects.
          +                    </div>
          +                </li>
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/json-stringify.html">
          +                        json-stringify
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        Provides Y.JSON.stringify method for converting objects to JSON strings.
          +                    </div>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/myapp_views_index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/myapp_views_index.html
          new file mode 100644
          index 000000000..d000d1cfc
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/myapp_views_index.html
          @@ -0,0 +1,313 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>myapp&#x2F;views&#x2F;index</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>myapp_views_index Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_slashes.js.html#l6"><code>input&#x2F;test2&#x2F;slashes.js:6</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>This is a module with slashes in the name</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/Main.html">
          +                        Main
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mymodule.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mymodule.html
          new file mode 100644
          index 000000000..77720d5a4
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mymodule.html
          @@ -0,0 +1,352 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>mymodule</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>mymodule Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +        <div class="uses">
          +            Requires
          +            <ul class="inline commas">
          +                
          +                    <li></li>
          +                
          +                    <li></li>
          +                
          +            </ul>
          +        </div>
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_test.js.html#l120"><code>input&#x2F;test&#x2F;test.js:120</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The module</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/myclass.html">
          +                        myclass
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/OtherClass.html">
          +                        OtherClass
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/OtherClass2.html">
          +                        OtherClass2
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module is a rollup of the following modules:</p>
          +
          +            <ul class="module-submodules">
          +            
          +                <li class="module-submodule">
          +                    <a href="..&#x2F;modules/mysubmodule.html">
          +                        mysubmodule
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        The submodule
          +                    </div>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mysubmodule.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mysubmodule.html
          new file mode 100644
          index 000000000..8da0b8c44
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/mysubmodule.html
          @@ -0,0 +1,325 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>mysubmodule</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>mysubmodule Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test_test.js.html#l120"><code>input&#x2F;test&#x2F;test.js:120</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>The submodule</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/myclass.html">
          +                        myclass
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/OtherClass.html">
          +                        OtherClass
          +                    </a>
          +                </li>
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/OtherClass2.html">
          +                        OtherClass2
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/oop.html b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/oop.html
          new file mode 100644
          index 000000000..d9960875f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/out/modules/oop.html
          @@ -0,0 +1,316 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>oop</title>
          +    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
          +    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            
          +                <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1>
          +            
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: </em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                <div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            
          +                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EasingFoo.html">EasingFoo</a></li>
          +            
          +                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Foo.Bar.html">Foo.Bar</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
          +            
          +                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
          +            
          +                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
          +            
          +                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Main.html">Main</a></li>
          +            
          +                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/myclass.html">myclass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget.html">mywidget.SubWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SubWidget2.html">mywidget.SubWidget2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/mywidget.SuperWidget.html">mywidget.SuperWidget</a></li>
          +            
          +                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass.html">OtherClass</a></li>
          +            
          +                <li><a href="..&#x2F;classes/OtherClass2.html">OtherClass2</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.html">P.storage</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.LocalStore.html">P.storage.LocalStore</a></li>
          +            
          +                <li><a href="..&#x2F;classes/P.storage.Store.html">P.storage.Store</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
          +            
          +                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
          +            
          +                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
          +            
          +                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
          +            
          +                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
          +            
          +                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
          +            
          +                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~dump.html">YUI~dump</a></li>
          +            
          +                <li><a href="..&#x2F;classes/YUI~oop.html">YUI~oop</a></li>
          +            
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            
          +                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
          +            
          +                <li><a href="..&#x2F;modules/anim-easing-foo.html">anim-easing-foo</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
          +            
          +                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
          +            
          +                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
          +            
          +                <li><a href="..&#x2F;modules/ExampleModule.html">ExampleModule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/foobar.html">foobar</a></li>
          +            
          +                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json.html">json</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
          +            
          +                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
          +            
          +                <li><a href="..&#x2F;modules/myapp_views_index.html">myapp&#x2F;views&#x2F;index</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mymodule.html">mymodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/mysubmodule.html">mysubmodule</a></li>
          +            
          +                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
          +            
          +                <li><a href="..&#x2F;modules/P.storage.html">P.storage</a></li>
          +            
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          +
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +                <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          +
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        <h1>oop Module</h1>
          +<div class="box clearfix meta">
          +    
          +
          +    
          +
          +    
          +        <div class="foundat">
          +            Defined in: <a href="..&#x2F;files&#x2F;input_test2_oop_oop.js.html#l9"><code>input&#x2F;test2&#x2F;oop&#x2F;oop.js:9</code></a>
          +        </div>
          +    
          +
          +    
          +</div>
          +
          +
          +
          +<div class="box intro">
          +    <p>Supplies object inheritance and manipulation utilities.  This adds
          +additional functionaity to what is provided in yui-base, and the
          +methods are applied directly to the YUI instance.  This module
          +is required for most YUI components.</p>
          +</div>
          +
          +
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            
          +                <li class="module-class">
          +                    <a href="..&#x2F;classes/YUI~oop.html">
          +                        YUI~oop
          +                    </a>
          +                </li>
          +            
          +            </ul>
          +        
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        
          +    </div>
          +</div>
          +
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="..&#x2F;assets/js/yui-prettify.js"></script>
          +<script src="..&#x2F;assets/../api.js"></script>
          +<script src="..&#x2F;assets/js/api-filter.js"></script>
          +<script src="..&#x2F;assets/js/api-list.js"></script>
          +<script src="..&#x2F;assets/js/api-search.js"></script>
          +<script src="..&#x2F;assets/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/tests/parser.js b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/parser.js
          new file mode 100644
          index 000000000..97115ce78
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/tests/parser.js
          @@ -0,0 +1,355 @@
          +var YUITest = require('yuitest'),
          +    Assert = YUITest.Assert,
          +    ArrayAssert = YUITest.ArrayAssert,
          +    path = require('path'),
          +    fs = require('fs'),
          +    Y = require(path.join(__dirname, '../', 'lib', 'index'));
          +
          +//Move to the test dir before running the tests.
          +process.chdir(__dirname);
          +
          +var existsSync = fs.existsSync || path.existsSync;
          +
          +var suite = new YUITest.TestSuite({
          +    name: 'Parser Test Suite',
          +    setUp: function() {
          +        var json = (new Y.YUIDoc({
          +            quiet: true,
          +            paths: [ 'input/' ],
          +            outdir: './out'
          +        })).run();
          +
          +        this.project = json.project;
          +        this.data = json;
          +    }
          +});
          +
          +suite.add(new YUITest.TestCase({
          +    name: "Project Data",
          +    setUp: function() {
          +        this.project = suite.project;
          +        this.data = suite.data;
          +    },
          +    findByName: function(name, cl) {
          +        var items = this.data.classitems,
          +            ret;
          +
          +        items.forEach(function(i) {
          +            if (i.name === name && i.class === cl) {
          +                ret = i;
          +            }
          +        });
          +
          +        return ret;
          +    },
          +    'test: out directory': function() {
          +        Assert.isTrue(existsSync(path.join(__dirname, 'out')), 'Out directory was not created');
          +    },
          +    'test: data.json creation': function() {
          +        Assert.isTrue(existsSync(path.join(__dirname, 'out', 'data.json')), 'data.json file was not created');
          +    },
          +    'test: parser': function() {
          +        var keys = Object.keys(this.data);
          +        Assert.areEqual(5, keys.length, 'Failed to populate all fields');
          +        ArrayAssert.itemsAreSame([ 'project', 'files', 'modules', 'classes', 'classitems' ], keys, 'Object keys are wrong');
          +    },
          +    'test: project data': function() {
          +        Assert.areSame('input/test/test.js', this.project.file, 'Project data loaded from wrong file');
          +        Assert.areSame(2, this.project.line, 'Line number is off');
          +        Assert.areSame('The test project', this.project.description, 'Description not set properly');
          +        Assert.areSame('The Tester', this.project.title, 'Title not set');
          +        Assert.areSame('admo', this.project.author, 'Author not set');
          +        Assert.areSame('entropy', this.project.contributor, 'Contributor not set');
          +        Assert.areSame('http://a.img', this.project.icon[0], 'Icon not set');
          +        Assert.areSame(1, this.project.icon.length, 'Found wring number of icons');
          +        Assert.areSame(2, this.project.url.length, 'Found wrong number of urls');
          +        Assert.areSame('http://one.url', this.project.url[0], 'URL #1 is wrong');
          +        Assert.areSame('http://two.url', this.project.url[1], 'URL #2 is wrong');
          +    },
          +    'test: files parsing': function() {
          +        var files = this.data.files;
          +        
          +        // 1 module, 3 classes
          +        var one = files['input/test/anim.js'];
          +        Assert.isObject(one, 'Failed to parse input/test/anim.js');
          +        Assert.areSame(1, Object.keys(one.modules).length, '1 module should be found');
          +        Assert.areSame(3, Object.keys(one.classes).length, '3 classes should be found');
          +
          +        // 2 modules, 3 classes
          +        var two = files['input/test/test.js'];
          +        Assert.isObject(two, 'Failed to parse input/test/test.js');
          +        Assert.areSame(2, Object.keys(two.modules).length, '2 modules should be found');
          +        Assert.areSame(3, Object.keys(two.classes).length, '3 classes should be found');
          +
          +        //Module -> class association
          +        var three = files['input/test2/dump/dump.js'];
          +        Assert.isObject(three, 'Failed to parse input/test2/dump/dump.js');
          +        Assert.areSame(1, three.modules.dump, 'dump module not found');
          +        Assert.areSame(1, three.classes['YUI~dump'], 'YUI~dump class not found');
          +
          +        //Module -> class association
          +        var four = files['input/test2/oop/oop.js'];
          +        Assert.isObject(four, 'Failed to parse input/test2/oop/oop.js');
          +        Assert.areSame(1, four.modules.oop, 'oop module not found');
          +        Assert.areSame(1, four.classes['YUI~oop'], 'YUI~oop class not found');
          +
          +    },
          +    'test: namespace parsing': function() {
          +        var item = this.data.files['input/test2/namespace.js'];
          +        Assert.isObject(item, 'Failed to parse input/test2/namespace.js');
          +        Assert.areSame(3, Object.keys(item.classes).length, 'Failed to parse all classes');
          +
          +        ArrayAssert.itemsAreSame(['P.storage', 'P'], Object.keys(item.namespaces), 'Namespace failed to parse');
          +        ArrayAssert.itemsAreSame(['P.storage.Store', 'P.storage.LocalStore', 'P.storage'], Object.keys(item.classes), 'Classes failed to parse');
          +    },
          +    'test: module parsing': function() {
          +        var mods = this.data.modules;
          +
          +        //anim Module
          +        Assert.isObject(mods.anim, 'Failed to parse Anim module');
          +        Assert.areSame(2, Object.keys(mods.anim.submodules).length, 'Should have 2 submodules');
          +        Assert.areSame(3, Object.keys(mods.anim.classes).length, 'Should have 3 classes');
          +        Assert.areSame('This is the Anim MODULE description', mods.anim.description, 'Description parse');
          +        Assert.areSame('main', mods.anim.itemtype, 'Failed to parse @main itemtype');
          +        Assert.areSame('module', mods.anim.tag, 'Tag parse failed');
          +    },
          +    'test: main module association': function() {
          +        var mod = this.data.modules.charts,
          +            d = 'The Charts widget provides an api for displaying data\ngraphically.';
          +
          +        Assert.isObject(mod, 'Failed to parse charts module');
          +        Assert.areSame(d, mod.description, 'Incorrect description for charts module');
          +        Assert.areSame('main', mod.tag, 'Tagname is not main');
          +        Assert.areSame('main', mod.itemtype, 'ItemType should be main');
          +    },
          +    'test: submodule parsing': function() {
          +        var mods = this.data.modules;
          +
          +        //anim-easing submodule
          +        var m = mods['anim-easing'];
          +        Assert.isObject(m, 'Failed to parse anim-easing module');
          +        var desc = 'The easing module provides methods for customizing\nhow an animation behaves during each run.';
          +        Assert.areSame(desc, m.description, 'Failed to parse submodule description');
          +        Assert.areSame(0, Object.keys(m.submodules).length, 'Should have 0 submodules');
          +        Assert.areSame(1, Object.keys(m.classes).length, 'Should have 1 class');
          +        Assert.areSame(1, m['is_submodule'], 'Submodule association failed');
          +        Assert.areSame('anim', m.module, 'Failed to associate module');
          +
          +        //anim-easing-foo submodule
          +        var m = mods['anim-easing-foo'];
          +        Assert.isObject(m, 'Failed to parse anim-easing-foo module');
          +        var desc = 'FOO FOO FOO FOO FOO The easing module provides methods for customizing';
          +        Assert.areSame(desc, m.description, 'Failed to parse submodule description');
          +        Assert.areSame(0, Object.keys(m.submodules).length, 'Should have 0 submodules');
          +        Assert.areSame(1, Object.keys(m.classes).length, 'Should have 1 class');
          +        Assert.areSame(1, m['is_submodule'], 'Submodule association failed');
          +        Assert.areSame('anim', m.module, 'Failed to associate module');
          +
          +    },
          +    'test: extra module data parsing': function() {
          +        var mods = this.data.modules;
          +        
          +        var m = mods.mymodule;
          +        Assert.isObject(m, 'Failed to parse mymodule module');
          +        Assert.areSame(1, Object.keys(m.submodules).length, 'Should have 1 submodules');
          +        Assert.areSame(3, Object.keys(m.classes).length, 'Should have 3 class');
          +        Assert.areSame('The module', m.description, 'Description parse failed');
          +        ArrayAssert.itemsAreSame(['one', 'two', 'three'], m.category, 'Category parsing failed');
          +        ArrayAssert.itemsAreSame(['one', 'two'], m.requires, 'Requires parsing failed');
          +        ArrayAssert.itemsAreSame(['three', 'four'], m.uses, 'Uses parsing failed');
          +
          +        var m = mods.mysubmodule;
          +        Assert.isObject(m, 'Failed to parse mysubmodule module');
          +        Assert.areSame(0, Object.keys(m.submodules).length, 'Should have 0 submodules');
          +        Assert.areSame(3, Object.keys(m.classes).length, 'Should have 3 class');
          +        Assert.areSame(1, m['is_submodule'], 'Submodule association failed');
          +        ArrayAssert.itemsAreSame(['three', 'four'], m.category, 'Category parsing failed');
          +
          +        //Testing modules with slashes in them
          +        var m = mods['myapp/views/index'];
          +        Assert.isObject(m, 'Failed to parse myapp/views/index module');
          +        Assert.areSame(1, Object.keys(m.classes).length, 'Should have 1 class');
          +        
          +        var m = mods['P.storage'];
          +        Assert.isObject(m, 'Failed to parse P.storage module');
          +        ArrayAssert.itemsAreSame(['P.storage.Store', 'P.storage.LocalStore', 'P.storage'], Object.keys(m.classes), 'Failed to parse classes');
          +        ArrayAssert.itemsAreSame(['P.storage', 'P'], Object.keys(m.namespaces), 'Namespace failed to parse');
          +        
          +    },
          +    'test: class parsing': function() {
          +        var cl = this.data.classes;
          +
          +        var anim = cl.Anim;
          +        Assert.isObject(anim, 'Failed to find Anim class');
          +        Assert.areSame('Anim', anim.name, 'Failed to set name');
          +        Assert.areSame('Anim', anim.shortname, 'Failed to set shortname');
          +        Assert.areSame('anim', anim.module, 'Failed to test module.');
          +
          +        var easing = cl.Easing;
          +        Assert.isObject(easing, 'Failed to find Easing class');
          +        Assert.areSame('Easing', easing.name, 'Failed to set name');
          +        Assert.areSame('Easing', easing.shortname, 'Failed to set shortname');
          +        Assert.areSame('anim', easing.module, 'Failed to test module.');
          +        Assert.areSame('anim-easing', easing.submodule, 'Failed to test submodule.');
          +
          +        var my = cl.myclass;
          +        Assert.isObject(my, 'Failed to find myclass class');
          +        Assert.areSame('myclass', my.name, 'Failed to set name');
          +        Assert.areSame('myclass', my.shortname, 'Failed to set shortname');
          +        Assert.areSame('mymodule', my.module, 'Failed to test module.');
          +        Assert.areSame('mysubmodule', my.submodule, 'Failed to test submodule.');
          +        Assert.areSame(1, my['is_constructor'], 'Failed to register constructor.');
          +
          +        var other = cl.OtherClass;
          +        Assert.isObject(other, 'Failed to find myclass class');
          +        Assert.areSame('OtherClass', other.name, 'Failed to set name');
          +        Assert.areSame('OtherClass', other.shortname, 'Failed to set shortname');
          +        Assert.areSame('mymodule', other.module, 'Failed to test module.');
          +        Assert.areSame('mysubmodule', other.submodule, 'Failed to test submodule.');
          +        Assert.areSame(1, Object.keys(other['extension_for']).length, 'Failed to assign extension_for');
          +        Assert.areSame('myclass', other['extension_for'][0], 'Failed to assign extension_for');
          +        
          +        var m = cl['P.storage.P.storage'];
          +        Assert.isUndefined(m, 'Should not have double namespaces');
          +
          +        Assert.isNotUndefined(cl['P.storage'], 'Should not have double namespaces');
          +        Assert.isNotUndefined(cl['P.storage.Store'], 'Should not have double namespaces');
          +        Assert.isNotUndefined(cl['P.storage.LocalStore'], 'Should not have double namespaces');
          +    },
          +    'test: classitems parsing': function() {
          +        Assert.isArray(this.data.classitems, 'Failed to populate classitems array');
          +        
          +        var item = this.findByName('testoptional', 'myclass');
          +        Assert.areSame('testoptional', item.name, 'Failed to find item: testoptional');
          +        Assert.areSame('myclass', item.class, 'Failed to find class: testoptional');
          +        Assert.areSame('mymodule', item.module, 'Failed to find module: testoptional');
          +        Assert.areSame('mysubmodule', item.submodule, 'Failed to find submodule: testoptional');
          +        Assert.areSame('method', item.itemtype, 'Should be a method');
          +
          +        var keys = [ 'file', 'line', 'description', 'itemtype', 'name', 'params', 'evil', 'injects', 'return', 'example', 'class', 'module', 'submodule' ];
          +        
          +        ArrayAssert.itemsAreSame(keys, Object.keys(item), 'Item missing from output');
          +
          +        Assert.areSame('', item.evil, 'Single tag not found');
          +        Assert.areSame('HTML', item.injects.type, 'Injection type not found');
          +
          +        Assert.isUndefined(item.return.type, 'Type should be missing');
          +        Assert.areSame(2, item.example.length, 'Should have 2 example snippets');
          +
          +        var item2 = this.findByName('testobjectparam', 'myclass');
          +        Assert.areSame('String', item2.return.type, 'Type should not be missing');
          +    },
          +    'test: parameter parsing': function() {
          +        var item = this.findByName('testoptional', 'myclass');
          +        Assert.isArray(item.params, 'Params should be an array');
          +        Assert.areSame(5, item.params.length, 'Failed to parse all 5 parameters');
          +
          +        Assert.areSame('notype', item.params[0].name, 'Name missing');
          +        Assert.isUndefined(item.params[0].type, 'Type should be missing');
          +
          +        Assert.areSame('namesecond', item.params[1].name, 'Name missing');
          +        Assert.areSame('Int', item.params[1].type, 'Type should be Int');
          +
          +        Assert.areSame('optionalvar', item.params[3].name, 'Name missing');
          +        Assert.isTrue(item.params[3].optional, 'Parameter should be optional');
          +        Assert.isUndefined(item.params[3].optdefault, 'Optional Default value should be undefined');
          +
          +
          +        Assert.areSame('optionalwithdefault', item.params[4].name, 'Name missing');
          +        Assert.isTrue(item.params[4].optional, 'Parameter should be optional');
          +        Assert.areSame('"defaultval"', item.params[4].optdefault, 'Optional Default value is incorrect');
          +
          +        var item2 = this.findByName('test0ton', 'myclass');
          +        Assert.isArray(item2.params, 'Params should be an array');
          +        Assert.areSame(1, item2.params.length, 'Failed to parse all 5 parameters');
          +        Assert.isTrue(item2.params[0].optional, 'Optional not set');
          +        Assert.isTrue(item2.params[0].multiple, 'Multiple not set');
          +        Assert.isUndefined(item2.return.type, 'Type should be missing');
          +
          +        var item2 = this.findByName('test1ton', 'myclass');
          +        Assert.isArray(item2.params, 'Params should be an array');
          +        Assert.areSame(1, item2.params.length, 'Failed to parse all 5 parameters');
          +        Assert.isUndefined(item2.params[0].optional, 'Optional should not be set');
          +        Assert.isTrue(item2.params[0].multiple, 'Multiple not set');
          +        Assert.isUndefined(item2.return.type, 'Type should be missing');
          +
          +    },
          +    'test: object parameters': function() {
          +        var item = this.findByName('testobjectparam', 'myclass');
          +
          +        Assert.areSame('testobjectparam', item.name, 'Failed to find item: testobjectparam');
          +        Assert.areSame('myclass', item.class, 'Failed to find class: testobjectparam');
          +        Assert.areSame('mymodule', item.module, 'Failed to find module: testobjectparam');
          +        Assert.areSame('mysubmodule', item.submodule, 'Failed to find submodule: testobjectparam');
          +        Assert.areSame('method', item.itemtype, 'Should be a method');
          +        Assert.areSame(1, item.params.length, 'More than one param found');
          +
          +        var props = item.params[0].props;
          +        Assert.areSame(2, props.length, 'First param should have props');
          +        Assert.areSame('prop1', props[0].name, 'Invalid item');
          +        Assert.areSame('prop1', props[0].description, 'Invalid item');
          +        Assert.areSame('String', props[0].type, 'Invalid item');
          +
          +        Assert.areSame('prop2', props[1].name, 'Invalid item');
          +        Assert.areSame('prop2', props[1].description, 'Invalid item');
          +        Assert.areSame('Bool', props[1].type, 'Invalid item');
          +    },
          +    'test: tag fixing': function() {
          +        var item = this.findByName('testoptional', 'myclass');
          +        
          +        Assert.isObject(item, 'failed to find item');
          +        Assert.isNotUndefined(item.return, 'Failed to replace returns with return');
          +
          +        item = this.findByName('_positionChangeHandler', 'Axis');
          +        Assert.isObject(item, 'failed to find item');
          +        Assert.areEqual(1, item.params.length, 'Failed to replace parma with param');
          +
          +        item = this.findByName('crashTest', 'OtherClass2');
          +        Assert.isObject(item, 'failed to find item');
          +        Assert.areEqual(1, item.params.length, 'Failed to replace params with param');
          +
          +        
          +    },
          +    'test: double namespaces': function() {
          +        var cls = this.data.classes;
          +        var mod_bad = cls['Foo.Bar.Foo.Bar'];
          +        var mod_good = cls['Foo.Bar'];
          +        Assert.isUndefined(mod_bad, 'Found class Foo.Bar.Foo.Bar');
          +        Assert.isObject(mod_good, 'Failed to parse Foo.Bar namespace');
          +    },
          +    'test: inherited methods': function() {
          +        var item = this.findByName('myMethod', 'mywidget.SubWidget');
          +        Assert.isObject(item, 'Failed to parse second method');
          +    },
          +    'test: case tags': function() {
          +        var item = this.findByName('testMethod', 'OtherClass2');
          +        Assert.isObject(item, 'Failed to parse second method');
          +        Assert.areSame('method', item.itemtype, 'Failed to parse Cased Method tag');
          +        Assert.isArray(item.params, 'Failed to parse Cased Params');
          +        Assert.areSame(1, item.params.length, 'Failed to parse number of cased params');
          +    },
          +    'test: required attribute': function() {
          +        var item = this.findByName('requiredAttr', 'OtherClass2');
          +        Assert.isObject(item, 'Failed to parse attribute');
          +        Assert.areSame('attribute', item.itemtype, 'Failed to parse itemtype');
          +        Assert.areSame(1, item.required, 'Failed to find required short tag');
          +    },
          +    'test: optional attribute': function() {
          +        var item = this.findByName('optionalAttr', 'OtherClass2');
          +        Assert.isObject(item, 'Failed to parse attribute');
          +        Assert.areSame('attribute', item.itemtype, 'Failed to parse itemtype');
          +        Assert.areSame(1, item.optional, 'Failed to find optional short tag');
          +    },
          +    'test: module with example meta': function() {
          +        var item = this.data.modules.ExampleModule;
          +        Assert.isObject(item, 'Failed to parse module');
          +        Assert.isArray(item.example, 'Failed to parse module example data');
          +    },
          +    'test: class with example meta': function() {
          +        var item = this.data.classes['mywidget.SuperWidget'];
          +        Assert.isObject(item, 'Failed to parse class');
          +        Assert.isArray(item.example, 'Failed to parse class example data');
          +    }
          +}));
          +
          +YUITest.TestRunner.add(suite);
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/external-small.png b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/external-small.png
          new file mode 100644
          index 000000000..759a1cdcb
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/external-small.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/logo.png b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/logo.png
          new file mode 100644
          index 000000000..609b336c7
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/logo.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/main.css b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/main.css
          new file mode 100644
          index 000000000..f8f7ee711
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/css/main.css
          @@ -0,0 +1,782 @@
          +/*
          +Font sizes for all selectors other than the body are given in percentages,
          +with 100% equal to 13px. To calculate a font size percentage, multiply the
          +desired size in pixels by 7.6923076923.
          +
          +Here's a quick lookup table:
          +
          +10px - 76.923%
          +11px - 84.615%
          +12px - 92.308%
          +13px - 100%
          +14px - 107.692%
          +15px - 115.385%
          +16px - 123.077%
          +17px - 130.769%
          +18px - 138.462%
          +19px - 146.154%
          +20px - 153.846%
          +*/
          +
          +html {
          +    background: #fff;
          +    color: #333;
          +    overflow-y: scroll;
          +}
          +
          +body {
          +    font: 13px/1.4 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', 'Bitstream Vera Sans', 'Helvetica', 'Arial', sans-serif;
          +    margin: 0;
          +    padding: 0;
          +}
          +
          +/* -- Links ----------------------------------------------------------------- */
          +a {
          +    color: #356de4;
          +    text-decoration: none;
          +}
          +
          +.hidden {
          +    display: none;
          +}
          +
          +a:hover { text-decoration: underline; }
          +
          +/* "Jump to Table of Contents" link is shown to assistive tools, but hidden from
          +   sight until it's focused. */
          +.jump {
          +    position: absolute;
          +    padding: 3px 6px;
          +    left: -99999px;
          +    top: 0;
          +}
          +
          +.jump:focus { left: 40%; }
          +
          +/* -- Paragraphs ------------------------------------------------------------ */
          +p { margin: 1.3em 0; }
          +dd p, td p { margin-bottom: 0; }
          +dd p:first-child, td p:first-child { margin-top: 0; }
          +
          +/* -- Headings -------------------------------------------------------------- */
          +h1, h2, h3, h4, h5, h6 {
          +    color: #D98527;/*was #f80*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.1;
          +    margin: 1.1em 0 0.5em;
          +}
          +
          +h1 {
          +    font-size: 184.6%;
          +    color: #30418C;
          +    margin: 0.75em 0 0.5em;
          +}
          +
          +h2 {
          +    font-size: 153.846%;
          +    color: #E48A2B;
          +}
          +
          +h3 { font-size: 138.462%; }
          +
          +h4 {
          +    border-bottom: 1px solid #DBDFEA;
          +    color: #E48A2B;
          +    font-size: 115.385%;
          +    font-weight: normal;
          +    padding-bottom: 2px;
          +}
          +
          +h5, h6 { font-size: 107.692%; }
          +
          +/* -- Code and examples ----------------------------------------------------- */
          +code, kbd, pre, samp {
          +    font-family: Menlo, Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;
          +    font-size: 92.308%;
          +    line-height: 1.35;
          +}
          +
          +p code, p kbd, p samp {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    padding: 0 3px;
          +}
          +
          +a code, a kbd, a samp,
          +pre code, pre kbd, pre samp,
          +table code, table kbd, table samp,
          +.intro code, .intro kbd, .intro samp,
          +.toc code, .toc kbd, .toc samp {
          +    background: none;
          +    border: none;
          +    padding: 0;
          +}
          +
          +pre.code, pre.terminal, pre.cmd {
          +    overflow-x: auto;
          +    *overflow-x: scroll;
          +    padding: 0.3em 0.6em;
          +}
          +
          +pre.code {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    border-left-width: 5px;
          +}
          +
          +pre.terminal, pre.cmd {
          +    background: #F0EFFC;
          +    border: 1px solid #D0CBFB;
          +    border-left: 5px solid #D0CBFB;
          +}
          +
          +/* Don't reduce the font size of <code>/<kbd>/<samp> elements inside <pre>
          +   blocks. */
          +pre code, pre kbd, pre samp { font-size: 100%; }
          +
          +/* Used to denote text that shouldn't be selectable, such as line numbers or
          +   shell prompts. Guess which browser this doesn't work in. */
          +.noselect {
          +    -moz-user-select: -moz-none;
          +    -khtml-user-select: none;
          +    -webkit-user-select: none;
          +    -o-user-select: none;
          +    user-select: none;
          +}
          +
          +/* -- Lists ----------------------------------------------------------------- */
          +dd { margin: 0.2em 0 0.7em 1em; }
          +dl { margin: 1em 0; }
          +dt { font-weight: bold; }
          +
          +/* -- Tables ---------------------------------------------------------------- */
          +caption, th { text-align: left; }
          +
          +table {
          +    border-collapse: collapse;
          +    width: 100%;
          +}
          +
          +td, th {
          +    border: 1px solid #fff;
          +    padding: 5px 12px;
          +    vertical-align: top;
          +}
          +
          +td { background: #E6E9F5; }
          +td dl { margin: 0; }
          +td dl dl { margin: 1em 0; }
          +td pre:first-child { margin-top: 0; }
          +
          +th {
          +    background: #D2D7E6;/*#97A0BF*/
          +    border-bottom: none;
          +    border-top: none;
          +    color: #000;/*#FFF1D5*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.3;
          +    white-space: nowrap;
          +}
          +
          +
          +/* -- Layout and Content ---------------------------------------------------- */
          +#doc {
          +    margin: auto;
          +    min-width: 1024px;
          +}
          +
          +.content { padding: 0 20px 0 25px; }
          +
          +.sidebar {
          +    padding: 0 15px 0 10px;
          +}
          +#bd {
          +    padding: 7px 0 130px;
          +    position: relative;
          +    width: 99%;
          +}
          +
          +/* -- Table of Contents ----------------------------------------------------- */
          +
          +/* The #toc id refers to the single global table of contents, while the .toc
          +   class refers to generic TOC lists that could be used throughout the page. */
          +
          +.toc code, .toc kbd, .toc samp { font-size: 100%; }
          +.toc li { font-weight: bold; }
          +.toc li li { font-weight: normal; }
          +
          +/* -- Intro and Example Boxes ----------------------------------------------- */
          +/*
          +.intro, .example { margin-bottom: 2em; }
          +.example {
          +    -moz-border-radius: 4px;
          +    -webkit-border-radius: 4px;
          +    border-radius: 4px;
          +    -moz-box-shadow: 0 0 5px #bfbfbf;
          +    -webkit-box-shadow: 0 0 5px #bfbfbf;
          +    box-shadow: 0 0 5px #bfbfbf;
          +    padding: 1em;
          +}
          +.intro {
          +    background: none repeat scroll 0 0 #F0F1F8; border: 1px solid #D4D8EB; padding: 0 1em;
          +}
          +*/
          +
          +/* -- Other Styles ---------------------------------------------------------- */
          +
          +/* These are probably YUI-specific, and should be moved out of Selleck's default
          +   theme. */
          +
          +.button {
          +    border: 1px solid #dadada;
          +    -moz-border-radius: 3px;
          +    -webkit-border-radius: 3px;
          +    border-radius: 3px;
          +    color: #444;
          +    display: inline-block;
          +    font-family: Helvetica, Arial, sans-serif;
          +    font-size: 92.308%;
          +    font-weight: bold;
          +    padding: 4px 13px 3px;
          +    -moz-text-shadow: 1px 1px 0 #fff;
          +    -webkit-text-shadow: 1px 1px 0 #fff;
          +    text-shadow: 1px 1px 0 #fff;
          +    white-space: nowrap;
          +
          +    background: #EFEFEF; /* old browsers */
          +    background: -moz-linear-gradient(top, #f5f5f5 0%, #efefef 50%, #e5e5e5 51%, #dfdfdf 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(50%,#efefef), color-stop(51%,#e5e5e5), color-stop(100%,#dfdfdf)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#dfdfdf',GradientType=0 ); /* ie */
          +}
          +
          +.button:hover {
          +    border-color: #466899;
          +    color: #fff;
          +    text-decoration: none;
          +    -moz-text-shadow: 1px 1px 0 #222;
          +    -webkit-text-shadow: 1px 1px 0 #222;
          +    text-shadow: 1px 1px 0 #222;
          +
          +    background: #6396D8; /* old browsers */
          +    background: -moz-linear-gradient(top, #6396D8 0%, #5A83BC 50%, #547AB7 51%, #466899 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6396D8), color-stop(50%,#5A83BC), color-stop(51%,#547AB7), color-stop(100%,#466899)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6396D8', endColorstr='#466899',GradientType=0 ); /* ie */
          +}
          +
          +.newwindow { text-align: center; }
          +
          +.header .version em {
          +    display: block;
          +    text-align: right;
          +}
          +
          +
          +#classdocs .item {
          +    border-bottom: 1px solid #466899;
          +    margin: 1em 0;
          +    padding: 1.5em;
          +}
          +
          +#classdocs .item .params p,
          +    #classdocs .item .returns p,{
          +    display: inline;
          +}
          +
          +#classdocs .item em code, #classdocs .item em.comment {
          +    color: green;
          +}
          +
          +#classdocs .item em.comment a {
          +    color: green;
          +    text-decoration: underline;
          +}
          +
          +#classdocs .foundat {
          +    font-size: 11px;
          +    font-style: normal;
          +}
          +
          +.attrs .emits {
          +    margin-left: 2em;
          +    padding: .5em;
          +    border-left: 1px dashed #ccc;
          +}
          +
          +abbr {
          +    border-bottom: 1px dashed #ccc;
          +    font-size: 80%;
          +    cursor: help;
          +}
          +
          +.prettyprint li.L0, 
          +.prettyprint li.L1, 
          +.prettyprint li.L2, 
          +.prettyprint li.L3, 
          +.prettyprint li.L5, 
          +.prettyprint li.L6, 
          +.prettyprint li.L7, 
          +.prettyprint li.L8 {
          +    list-style: decimal;
          +}
          +
          +ul li p {
          +    margin-top: 0;
          +}
          +
          +.method .name {
          +    font-size: 110%;
          +}
          +
          +.apidocs .methods .extends .method,
          +.apidocs .properties .extends .property,
          +.apidocs .attrs .extends .attr,
          +.apidocs .events .extends .event {
          +    font-weight: bold;
          +}
          +
          +.apidocs .methods .extends .inherited,
          +.apidocs .properties .extends .inherited,
          +.apidocs .attrs .extends .inherited,
          +.apidocs .events .extends .inherited {
          +    font-weight: normal;
          +}
          +
          +#hd {
          +    background: whiteSmoke;
          +    background: -moz-linear-gradient(top,#DCDBD9 0,#F6F5F3 100%);
          +    background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#DCDBD9),color-stop(100%,#F6F5F3));
          +    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dcdbd9',endColorstr='#F6F5F3',GradientType=0);
          +    border-bottom: 1px solid #DFDFDF;
          +    padding: 0 15px 1px 20px;
          +    margin-bottom: 15px;
          +}
          +
          +#hd img {
          +    margin-right: 10px;
          +    vertical-align: middle;
          +}
          +
          +
          +/* -- API Docs CSS ---------------------------------------------------------- */
          +
          +/*
          +This file is organized so that more generic styles are nearer the top, and more
          +specific styles are nearer the bottom of the file. This allows us to take full
          +advantage of the cascade to avoid redundant style rules. Please respect this
          +convention when making changes.
          +*/
          +
          +/* -- Generic TabView styles ------------------------------------------------ */
          +
          +/*
          +These styles apply to all API doc tabviews. To change styles only for a
          +specific tabview, see the other sections below.
          +*/
          +
          +.yui3-js-enabled .apidocs .tabview {
          +    visibility: hidden; /* Hide until the TabView finishes rendering. */
          +    _visibility: visible;
          +}
          +
          +.apidocs .tabview.yui3-tabview-content { visibility: visible; }
          +.apidocs .tabview .yui3-tabview-panel { background: #fff; }
          +
          +/* -- Generic Content Styles ------------------------------------------------ */
          +
          +/* Headings */
          +h2, h3, h4, h5, h6 {
          +    border: none;
          +    color: #30418C;
          +    font-weight: bold;
          +    text-decoration: none;
          +}
          +
          +.link-docs {
          +    float: right;
          +    font-size: 15px;
          +    margin: 4px 4px 6px;
          +    padding: 6px 30px 5px;
          +}
          +
          +.apidocs { zoom: 1; }
          +
          +/* Generic box styles. */
          +.apidocs .box {
          +    border: 1px solid;
          +    border-radius: 3px;
          +    margin: 1em 0;
          +    padding: 0 1em;
          +}
          +
          +/* A flag is a compact, capsule-like indicator of some kind. It's used to
          +   indicate private and protected items, item return types, etc. in an
          +   attractive and unobtrusive way. */
          +.apidocs .flag {
          +    background: #bababa;
          +    border-radius: 3px;
          +    color: #fff;
          +    font-size: 11px;
          +    margin: 0 0.5em;
          +    padding: 2px 4px 1px;
          +}
          +
          +/* Class/module metadata such as "Uses", "Extends", "Defined in", etc. */
          +.apidocs .meta {
          +    background: #f9f9f9;
          +    border-color: #efefef;
          +    color: #555;
          +    font-size: 11px;
          +    padding: 3px 6px;
          +}
          +
          +.apidocs .meta p { margin: 0; }
          +
          +/* Deprecation warning. */
          +.apidocs .box.deprecated,
          +.apidocs .flag.deprecated {
          +    background: #fdac9f;
          +    border: 1px solid #fd7775;
          +}
          +
          +.apidocs .box.deprecated p { margin: 0.5em 0; }
          +.apidocs .flag.deprecated { color: #333; }
          +
          +/* Module/Class intro description. */
          +.apidocs .intro {
          +    background: #f0f1f8;
          +    border-color: #d4d8eb;
          +}
          +
          +/* Loading spinners. */
          +#bd.loading .apidocs,
          +#api-list.loading .yui3-tabview-panel {
          +    background: #fff url(../img/spinner.gif) no-repeat center 70px;
          +    min-height: 150px;
          +}
          +
          +#bd.loading .apidocs .content,
          +#api-list.loading .yui3-tabview-panel .apis {
          +    display: none;
          +}
          +
          +.apidocs .no-visible-items { color: #666; }
          +
          +/* Generic inline list. */
          +.apidocs ul.inline {
          +    display: inline;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0;
          +}
          +
          +.apidocs ul.inline li { display: inline; }
          +
          +/* Comma-separated list. */
          +.apidocs ul.commas li:after { content: ','; }
          +.apidocs ul.commas li:last-child:after { content: ''; }
          +
          +/* Keyboard shortcuts. */
          +kbd .cmd { font-family: Monaco, Helvetica; }
          +
          +/* -- Generic Access Level styles ------------------------------------------- */
          +.apidocs .item.protected,
          +.apidocs .item.private,
          +.apidocs .index-item.protected,
          +.apidocs .index-item.deprecated,
          +.apidocs .index-item.private {
          +    display: none;
          +}
          +
          +.show-deprecated .item.deprecated,
          +.show-deprecated .index-item.deprecated,
          +.show-protected .item.protected,
          +.show-protected .index-item.protected,
          +.show-private .item.private,
          +.show-private .index-item.private {
          +    display: block;
          +}
          +
          +.hide-inherited .item.inherited,
          +.hide-inherited .index-item.inherited {
          +    display: none;
          +}
          +
          +/* -- Generic Item Index styles --------------------------------------------- */
          +.apidocs .index { margin: 1.5em 0 3em; }
          +
          +.apidocs .index h3 {
          +    border-bottom: 1px solid #efefef;
          +    color: #333;
          +    font-size: 13px;
          +    margin: 2em 0 0.6em;
          +    padding-bottom: 2px;
          +}
          +
          +.apidocs .index .no-visible-items { margin-top: 2em; }
          +
          +.apidocs .index-list {
          +    border-color: #efefef;
          +    font-size: 12px;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0;
          +    -moz-column-count: 4;
          +    -moz-column-gap: 10px;
          +    -moz-column-width: 170px;
          +    -ms-column-count: 4;
          +    -ms-column-gap: 10px;
          +    -ms-column-width: 170px;
          +    -o-column-count: 4;
          +    -o-column-gap: 10px;
          +    -o-column-width: 170px;
          +    -webkit-column-count: 4;
          +    -webkit-column-gap: 10px;
          +    -webkit-column-width: 170px;
          +    column-count: 4;
          +    column-gap: 10px;
          +    column-width: 170px;
          +}
          +
          +.apidocs .no-columns .index-list {
          +    -moz-column-count: 1;
          +    -ms-column-count: 1;
          +    -o-column-count: 1;
          +    -webkit-column-count: 1;
          +    column-count: 1;
          +}
          +
          +.apidocs .index-item { white-space: nowrap; }
          +
          +.apidocs .index-item .flag {
          +    background: none;
          +    border: none;
          +    color: #afafaf;
          +    display: inline;
          +    margin: 0 0 0 0.2em;
          +    padding: 0;
          +}
          +
          +/* -- Generic API item styles ----------------------------------------------- */
          +.apidocs .args {
          +    display: inline;
          +    margin: 0 0.5em;
          +}
          +
          +.apidocs .flag.chainable { background: #46ca3b; }
          +.apidocs .flag.protected { background: #9b86fc; }
          +.apidocs .flag.private { background: #fd6b1b; }
          +.apidocs .flag.async { background: #356de4; }
          +.apidocs .flag.required { background: #e60923; }
          +
          +.apidocs .item {
          +    border-bottom: 1px solid #efefef;
          +    margin: 1.5em 0 2em;
          +    padding-bottom: 2em;
          +}
          +
          +.apidocs .item h4,
          +.apidocs .item h5,
          +.apidocs .item h6 {
          +    color: #333;
          +    font-family: inherit;
          +    font-size: 100%;
          +}
          +
          +.apidocs .item .description p,
          +.apidocs .item pre.code {
          +    margin: 1em 0 0;
          +}
          +
          +.apidocs .item .meta {
          +    background: none;
          +    border: none;
          +    padding: 0;
          +}
          +
          +.apidocs .item .name {
          +    display: inline;
          +    font-size: 14px;
          +}
          +
          +.apidocs .item .type,
          +.apidocs .item .type a,
          +.apidocs .returns-inline {
          +    color: #555;
          +}
          +
          +.apidocs .item .type,
          +.apidocs .returns-inline {
          +    font-size: 11px;
          +    margin: 0 0 0 0;
          +}
          +
          +.apidocs .item .type a { border-bottom: 1px dotted #afafaf; }
          +.apidocs .item .type a:hover { border: none; }
          +
          +/* -- Item Parameter List --------------------------------------------------- */
          +.apidocs .params-list {
          +    list-style: square;
          +    margin: 1em 0 0 2em;
          +    padding: 0;
          +}
          +
          +.apidocs .param { margin-bottom: 1em; }
          +
          +.apidocs .param .type,
          +.apidocs .param .type a {
          +    color: #666;
          +}
          +
          +.apidocs .param .type {
          +    margin: 0 0 0 0.5em;
          +    *margin-left: 0.5em;
          +}
          +
          +.apidocs .param-name { font-weight: bold; }
          +
          +/* -- Item "Emits" block ---------------------------------------------------- */
          +.apidocs .item .emits {
          +    background: #f9f9f9;
          +    border-color: #eaeaea;
          +}
          +
          +/* -- Item "Returns" block -------------------------------------------------- */
          +.apidocs .item .returns .type,
          +.apidocs .item .returns .type a {
          +    font-size: 100%;
          +    margin: 0;
          +}
          +
          +/* -- Class Constructor block ----------------------------------------------- */
          +.apidocs .constructor .item {
          +    border: none;
          +    padding-bottom: 0;
          +}
          +
          +/* -- File Source View ------------------------------------------------------ */
          +.apidocs .file pre.code,
          +#doc .apidocs .file pre.prettyprint {
          +    background: inherit;
          +    border: none;
          +    overflow: visible;
          +    padding: 0;
          +}
          +
          +.apidocs .L0,
          +.apidocs .L1,
          +.apidocs .L2,
          +.apidocs .L3,
          +.apidocs .L4,
          +.apidocs .L5,
          +.apidocs .L6,
          +.apidocs .L7,
          +.apidocs .L8,
          +.apidocs .L9 {
          +    background: inherit;
          +}
          +
          +/* -- Submodule List -------------------------------------------------------- */
          +.apidocs .module-submodule-description {
          +    font-size: 12px;
          +    margin: 0.3em 0 1em;
          +}
          +
          +.apidocs .module-submodule-description p:first-child { margin-top: 0; }
          +
          +/* -- Sidebar TabView ------------------------------------------------------- */
          +#api-tabview { margin-top: 0.6em; }
          +
          +#api-tabview-filter,
          +#api-tabview-panel {
          +    border: 1px solid #dfdfdf;
          +}
          +
          +#api-tabview-filter {
          +    border-bottom: none;
          +    border-top: none;
          +    padding: 0.6em 10px 0 10px;
          +}
          +
          +#api-tabview-panel { border-top: none; }
          +#api-filter { width: 97%; }
          +
          +/* -- Content TabView ------------------------------------------------------- */
          +#classdocs .yui3-tabview-panel { border: none; }
          +
          +/* -- Source File Contents -------------------------------------------------- */
          +.prettyprint li.L0,
          +.prettyprint li.L1,
          +.prettyprint li.L2,
          +.prettyprint li.L3,
          +.prettyprint li.L5,
          +.prettyprint li.L6,
          +.prettyprint li.L7,
          +.prettyprint li.L8 {
          +    list-style: decimal;
          +}
          +
          +/* -- API options ----------------------------------------------------------- */
          +#api-options {
          +    font-size: 11px;
          +    margin-top: 2.2em;
          +    position: absolute;
          +    right: 1.5em;
          +}
          +
          +/*#api-options label { margin-right: 0.6em; }*/
          +
          +/* -- API list -------------------------------------------------------------- */
          +#api-list {
          +    margin-top: 1.5em;
          +    *zoom: 1;
          +}
          +
          +.apis {
          +    font-size: 12px;
          +    line-height: 1.4;
          +    list-style: none;
          +    margin: 0;
          +    padding: 0.5em 0 0.5em 0.4em;
          +}
          +
          +.apis a {
          +    border: 1px solid transparent;
          +    display: block;
          +    margin: 0 0 0 -4px;
          +    padding: 1px 4px 0;
          +    text-decoration: none;
          +    _border: none;
          +    _display: inline;
          +}
          +
          +.apis a:hover,
          +.apis a:focus {
          +    background: #E8EDFC;
          +    background: -moz-linear-gradient(top, #e8edfc 0%, #becef7 100%);
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#E8EDFC), color-stop(100%,#BECEF7));
          +    border-color: #AAC0FA;
          +    border-radius: 3px;
          +    color: #333;
          +    outline: none;
          +}
          +
          +.api-list-item a:hover,
          +.api-list-item a:focus {
          +    font-weight: bold;
          +    text-shadow: 1px 1px 1px #fff;
          +}
          +
          +.apis .message { color: #888; }
          +.apis .result a { padding: 3px 5px 2px; }
          +
          +.apis .result .type {
          +    right: 4px;
          +    top: 7px;
          +}
          +
          +.api-list-item .yui3-highlight {
          +    font-weight: bold;
          +}
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/favicon.png b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/favicon.png
          new file mode 100644
          index 000000000..5a95ddab6
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/favicon.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/img/spinner.gif b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/img/spinner.gif
          new file mode 100644
          index 000000000..44f96ba68
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/img/spinner.gif differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/index.html b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/index.html
          new file mode 100644
          index 000000000..487fe15b2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/index.html
          @@ -0,0 +1,10 @@
          +<!doctype html>
          +<html>
          +    <head>
          +        <title>Redirector</title>
          +        <meta http-equiv="refresh" content="0;url=../">
          +    </head>
          +    <body>
          +        <a href="../">Click here to redirect</a>
          +    </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-filter.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-filter.js
          new file mode 100644
          index 000000000..37aefbab9
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-filter.js
          @@ -0,0 +1,52 @@
          +YUI.add('api-filter', function (Y) {
          +
          +Y.APIFilter = Y.Base.create('apiFilter', Y.Base, [Y.AutoCompleteBase], {
          +    // -- Initializer ----------------------------------------------------------
          +    initializer: function () {
          +        this._bindUIACBase();
          +        this._syncUIACBase();
          +    },
          +    getDisplayName: function(name) {
          +
          +        Y.each(Y.YUIDoc.meta.allModules, function(i) {
          +            if (i.name === name && i.displayName) {
          +                name = i.displayName;
          +            }
          +        });
          +
          +        return name;
          +    }
          +
          +}, {
          +    // -- Attributes -----------------------------------------------------------
          +    ATTRS: {
          +        resultHighlighter: {
          +            value: 'phraseMatch'
          +        },
          +
          +        // May be set to "classes" or "modules".
          +        queryType: {
          +            value: 'classes'
          +        },
          +
          +        source: {
          +            valueFn: function() {
          +                var self = this;
          +                return function(q) {
          +                    var data = Y.YUIDoc.meta[self.get('queryType')],
          +                        out = [];
          +                    Y.each(data, function(v) {
          +                        if (v.toLowerCase().indexOf(q.toLowerCase()) > -1) {
          +                            out.push(v);
          +                        }
          +                    });
          +                    return out;
          +                };
          +            }
          +        }
          +    }
          +});
          +
          +}, '3.4.0', {requires: [
          +    'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-list.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-list.js
          new file mode 100644
          index 000000000..88905b52e
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-list.js
          @@ -0,0 +1,251 @@
          +YUI.add('api-list', function (Y) {
          +
          +var Lang   = Y.Lang,
          +    YArray = Y.Array,
          +
          +    APIList = Y.namespace('APIList'),
          +
          +    classesNode    = Y.one('#api-classes'),
          +    inputNode      = Y.one('#api-filter'),
          +    modulesNode    = Y.one('#api-modules'),
          +    tabviewNode    = Y.one('#api-tabview'),
          +
          +    tabs = APIList.tabs = {},
          +
          +    filter = APIList.filter = new Y.APIFilter({
          +        inputNode : inputNode,
          +        maxResults: 1000,
          +
          +        on: {
          +            results: onFilterResults
          +        }
          +    }),
          +
          +    search = APIList.search = new Y.APISearch({
          +        inputNode : inputNode,
          +        maxResults: 100,
          +
          +        on: {
          +            clear  : onSearchClear,
          +            results: onSearchResults
          +        }
          +    }),
          +
          +    tabview = APIList.tabview = new Y.TabView({
          +        srcNode  : tabviewNode,
          +        panelNode: '#api-tabview-panel',
          +        render   : true,
          +
          +        on: {
          +            selectionChange: onTabSelectionChange
          +        }
          +    }),
          +
          +    focusManager = APIList.focusManager = tabviewNode.plug(Y.Plugin.NodeFocusManager, {
          +        circular   : true,
          +        descendants: '#api-filter, .yui3-tab-panel-selected .api-list-item a, .yui3-tab-panel-selected .result a',
          +        keys       : {next: 'down:40', previous: 'down:38'}
          +    }).focusManager,
          +
          +    LIST_ITEM_TEMPLATE =
          +        '<li class="api-list-item {typeSingular}">' +
          +            '<a href="{rootPath}{typePlural}/{name}.html">{displayName}</a>' +
          +        '</li>';
          +
          +// -- Init ---------------------------------------------------------------------
          +
          +// Duckpunch FocusManager's key event handling to prevent it from handling key
          +// events when a modifier is pressed.
          +Y.before(function (e, activeDescendant) {
          +    if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
          +        return new Y.Do.Prevent();
          +    }
          +}, focusManager, '_focusPrevious', focusManager);
          +
          +Y.before(function (e, activeDescendant) {
          +    if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
          +        return new Y.Do.Prevent();
          +    }
          +}, focusManager, '_focusNext', focusManager);
          +
          +// Create a mapping of tabs in the tabview so we can refer to them easily later.
          +tabview.each(function (tab, index) {
          +    var name = tab.get('label').toLowerCase();
          +
          +    tabs[name] = {
          +        index: index,
          +        name : name,
          +        tab  : tab
          +    };
          +});
          +
          +// Switch tabs on Ctrl/Cmd-Left/Right arrows.
          +tabviewNode.on('key', onTabSwitchKey, 'down:37,39');
          +
          +// Focus the filter input when the `/` key is pressed.
          +Y.one(Y.config.doc).on('key', onSearchKey, 'down:83');
          +
          +// Keep the Focus Manager up to date.
          +inputNode.on('focus', function () {
          +    focusManager.set('activeDescendant', inputNode);
          +});
          +
          +// Update all tabview links to resolved URLs.
          +tabview.get('panelNode').all('a').each(function (link) {
          +    link.setAttribute('href', link.get('href'));
          +});
          +
          +// -- Private Functions --------------------------------------------------------
          +function getFilterResultNode() {
          +    return filter.get('queryType') === 'classes' ? classesNode : modulesNode;
          +}
          +
          +// -- Event Handlers -----------------------------------------------------------
          +function onFilterResults(e) {
          +    var frag         = Y.one(Y.config.doc.createDocumentFragment()),
          +        resultNode   = getFilterResultNode(),
          +        typePlural   = filter.get('queryType'),
          +        typeSingular = typePlural === 'classes' ? 'class' : 'module';
          +
          +    if (e.results.length) {
          +        YArray.each(e.results, function (result) {
          +            frag.append(Lang.sub(LIST_ITEM_TEMPLATE, {
          +                rootPath    : APIList.rootPath,
          +                displayName : filter.getDisplayName(result.highlighted),
          +                name        : result.text,
          +                typePlural  : typePlural,
          +                typeSingular: typeSingular
          +            }));
          +        });
          +    } else {
          +        frag.append(
          +            '<li class="message">' +
          +                'No ' + typePlural + ' found.' +
          +            '</li>'
          +        );
          +    }
          +
          +    resultNode.empty(true);
          +    resultNode.append(frag);
          +
          +    focusManager.refresh();
          +}
          +
          +function onSearchClear(e) {
          +
          +    focusManager.refresh();
          +}
          +
          +function onSearchKey(e) {
          +    var target = e.target;
          +
          +    if (target.test('input,select,textarea')
          +            || target.get('isContentEditable')) {
          +        return;
          +    }
          +
          +    e.preventDefault();
          +
          +    inputNode.focus();
          +    focusManager.refresh();
          +}
          +
          +function onSearchResults(e) {
          +    var frag = Y.one(Y.config.doc.createDocumentFragment());
          +
          +    if (e.results.length) {
          +        YArray.each(e.results, function (result) {
          +            frag.append(result.display);
          +        });
          +    } else {
          +        frag.append(
          +            '<li class="message">' +
          +                'No results found. Maybe you\'ll have better luck with a ' +
          +                'different query?' +
          +            '</li>'
          +        );
          +    }
          +
          +
          +    focusManager.refresh();
          +}
          +
          +function onTabSelectionChange(e) {
          +    var tab  = e.newVal,
          +        name = tab.get('label').toLowerCase();
          +
          +    tabs.selected = {
          +        index: tab.get('index'),
          +        name : name,
          +        tab  : tab
          +    };
          +
          +    switch (name) {
          +    case 'classes': // fallthru
          +    case 'modules':
          +        filter.setAttrs({
          +            minQueryLength: 0,
          +            queryType     : name
          +        });
          +
          +        search.set('minQueryLength', -1);
          +
          +        // Only send a request if this isn't the initially-selected tab.
          +        if (e.prevVal) {
          +            filter.sendRequest(filter.get('value'));
          +        }
          +        break;
          +
          +    case 'everything':
          +        filter.set('minQueryLength', -1);
          +        search.set('minQueryLength', 1);
          +
          +        if (search.get('value')) {
          +            search.sendRequest(search.get('value'));
          +        } else {
          +            inputNode.focus();
          +        }
          +        break;
          +
          +    default:
          +        // WTF? We shouldn't be here!
          +        filter.set('minQueryLength', -1);
          +        search.set('minQueryLength', -1);
          +    }
          +
          +    if (focusManager) {
          +        setTimeout(function () {
          +            focusManager.refresh();
          +        }, 1);
          +    }
          +}
          +
          +function onTabSwitchKey(e) {
          +    var currentTabIndex = tabs.selected.index;
          +
          +    if (!(e.ctrlKey || e.metaKey)) {
          +        return;
          +    }
          +
          +    e.preventDefault();
          +
          +    switch (e.keyCode) {
          +    case 37: // left arrow
          +        if (currentTabIndex > 0) {
          +            tabview.selectChild(currentTabIndex - 1);
          +            inputNode.focus();
          +        }
          +        break;
          +
          +    case 39: // right arrow
          +        if (currentTabIndex < (Y.Object.size(tabs) - 2)) {
          +            tabview.selectChild(currentTabIndex + 1);
          +            inputNode.focus();
          +        }
          +        break;
          +    }
          +}
          +
          +}, '3.4.0', {requires: [
          +    'api-filter', 'api-search', 'event-key', 'node-focusmanager', 'tabview'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-search.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-search.js
          new file mode 100644
          index 000000000..175f6a617
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/api-search.js
          @@ -0,0 +1,98 @@
          +YUI.add('api-search', function (Y) {
          +
          +var Lang   = Y.Lang,
          +    Node   = Y.Node,
          +    YArray = Y.Array;
          +
          +Y.APISearch = Y.Base.create('apiSearch', Y.Base, [Y.AutoCompleteBase], {
          +    // -- Public Properties ----------------------------------------------------
          +    RESULT_TEMPLATE:
          +        '<li class="result {resultType}">' +
          +            '<a href="{url}">' +
          +                '<h3 class="title">{name}</h3>' +
          +                '<span class="type">{resultType}</span>' +
          +                '<div class="description">{description}</div>' +
          +                '<span class="className">{class}</span>' +
          +            '</a>' +
          +        '</li>',
          +
          +    // -- Initializer ----------------------------------------------------------
          +    initializer: function () {
          +        this._bindUIACBase();
          +        this._syncUIACBase();
          +    },
          +
          +    // -- Protected Methods ----------------------------------------------------
          +    _apiResultFilter: function (query, results) {
          +        // Filter components out of the results.
          +        return YArray.filter(results, function (result) {
          +            return result.raw.resultType === 'component' ? false : result;
          +        });
          +    },
          +
          +    _apiResultFormatter: function (query, results) {
          +        return YArray.map(results, function (result) {
          +            var raw  = Y.merge(result.raw), // create a copy
          +                desc = raw.description || '';
          +
          +            // Convert description to text and truncate it if necessary.
          +            desc = Node.create('<div>' + desc + '</div>').get('text');
          +
          +            if (desc.length > 65) {
          +                desc = Y.Escape.html(desc.substr(0, 65)) + ' &hellip;';
          +            } else {
          +                desc = Y.Escape.html(desc);
          +            }
          +
          +            raw['class'] || (raw['class'] = '');
          +            raw.description = desc;
          +
          +            // Use the highlighted result name.
          +            raw.name = result.highlighted;
          +
          +            return Lang.sub(this.RESULT_TEMPLATE, raw);
          +        }, this);
          +    },
          +
          +    _apiTextLocator: function (result) {
          +        return result.displayName || result.name;
          +    }
          +}, {
          +    // -- Attributes -----------------------------------------------------------
          +    ATTRS: {
          +        resultFormatter: {
          +            valueFn: function () {
          +                return this._apiResultFormatter;
          +            }
          +        },
          +
          +        resultFilters: {
          +            valueFn: function () {
          +                return this._apiResultFilter;
          +            }
          +        },
          +
          +        resultHighlighter: {
          +            value: 'phraseMatch'
          +        },
          +
          +        resultListLocator: {
          +            value: 'data.results'
          +        },
          +
          +        resultTextLocator: {
          +            valueFn: function () {
          +                return this._apiTextLocator;
          +            }
          +        },
          +
          +        source: {
          +            value: '/api/v1/search?q={query}&count={maxResults}'
          +        }
          +    }
          +});
          +
          +}, '3.4.0', {requires: [
          +    'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources',
          +    'escape'
          +]});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/apidocs.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/apidocs.js
          new file mode 100644
          index 000000000..fc0cacc0f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/apidocs.js
          @@ -0,0 +1,351 @@
          +YUI().use(
          +    'yuidoc-meta',
          +    'api-list', 'history-hash', 'node-screen', 'node-style', 'pjax',
          +function (Y) {
          +
          +var win          = Y.config.win,
          +    localStorage = win.localStorage,
          +
          +    bdNode = Y.one('#bd'),
          +
          +    pjax,
          +
          +    classTabView,
          +    selectedTab;
          +
          +// Kill pjax functionality unless serving over HTTP.
          +if (!Y.getLocation().protocol.match(/^https?\:/)) {
          +    Y.Router.html5 = false;
          +}
          +
          +pjax = new Y.Pjax({
          +    container      : '#docs-main',
          +    contentSelector: '#docs-main > .content',
          +    linkSelector   : '#bd a',
          +    titleSelector  : '#xhr-title',
          +
          +    navigateOnHash: true,
          +    root          : '/',
          +    routes        : [
          +        // -- / ----------------------------------------------------------------
          +        {path: '/(index.html)?', callback: '_defaultRoute'},
          +
          +        // -- /classes/* -------------------------------------------------------
          +        {path: '/classes/:class.html*', callback: 'handleClasses'},
          +        {path: '/classes/:class.html*', callback: '_defaultRoute'},
          +
          +        // -- /files/* ---------------------------------------------------------
          +        {path: '/files/*file', callback: 'handleFiles'},
          +        {path: '/files/*file', callback: '_defaultRoute'},
          +
          +        // -- /modules/* -------------------------------------------------------
          +        {path: '/modules/:module.html*', callback: '_defaultRoute'}
          +    ]
          +});
          +
          +// -- Utility Functions --------------------------------------------------------
          +
          +pjax.checkVisibility = function (tab) {
          +    tab || (tab = selectedTab);
          +
          +    if (!tab) { return; }
          +
          +    var panelNode = tab.get('panelNode'),
          +        visibleItems;
          +
          +    // If no items are visible in the tab panel due to the current visibility
          +    // settings, display a message to that effect.
          +    visibleItems = panelNode.all('.item,.index-item').some(function (itemNode) {
          +        if (itemNode.getComputedStyle('display') !== 'none') {
          +            return true;
          +        }
          +    });
          +
          +    panelNode.all('.no-visible-items').remove();
          +
          +    if (!visibleItems) {
          +        if (Y.one('#index .index-item')) {
          +            panelNode.append(
          +                '<div class="no-visible-items">' +
          +                    '<p>' +
          +                    'Some items are not shown due to the current visibility ' +
          +                    'settings. Use the checkboxes at the upper right of this ' +
          +                    'page to change the visibility settings.' +
          +                    '</p>' +
          +                '</div>'
          +            );
          +        } else {
          +            panelNode.append(
          +                '<div class="no-visible-items">' +
          +                    '<p>' +
          +                    'This class doesn\'t provide any methods, properties, ' +
          +                    'attributes, or events.' +
          +                    '</p>' +
          +                '</div>'
          +            );
          +        }
          +    }
          +
          +    // Hide index sections without any visible items.
          +    Y.all('.index-section').each(function (section) {
          +        var items        = 0,
          +            visibleItems = 0;
          +
          +        section.all('.index-item').each(function (itemNode) {
          +            items += 1;
          +
          +            if (itemNode.getComputedStyle('display') !== 'none') {
          +                visibleItems += 1;
          +            }
          +        });
          +
          +        section.toggleClass('hidden', !visibleItems);
          +        section.toggleClass('no-columns', visibleItems < 4);
          +    });
          +};
          +
          +pjax.initClassTabView = function () {
          +    if (!Y.all('#classdocs .api-class-tab').size()) {
          +        return;
          +    }
          +
          +    if (classTabView) {
          +        classTabView.destroy();
          +        selectedTab = null;
          +    }
          +
          +    classTabView = new Y.TabView({
          +        srcNode: '#classdocs',
          +
          +        on: {
          +            selectionChange: pjax.onTabSelectionChange
          +        }
          +    });
          +
          +    pjax.updateTabState();
          +    classTabView.render();
          +};
          +
          +pjax.initLineNumbers = function () {
          +    var hash      = win.location.hash.substring(1),
          +        container = pjax.get('container'),
          +        hasLines, node;
          +
          +    // Add ids for each line number in the file source view.
          +    container.all('.linenums>li').each(function (lineNode, index) {
          +        lineNode.set('id', 'l' + (index + 1));
          +        lineNode.addClass('file-line');
          +        hasLines = true;
          +    });
          +
          +    // Scroll to the desired line.
          +    if (hasLines && /^l\d+$/.test(hash)) {
          +        if ((node = container.getById(hash))) {
          +            win.scroll(0, node.getY());
          +        }
          +    }
          +};
          +
          +pjax.initRoot = function () {
          +    var terminators = /^(?:classes|files|modules)$/,
          +        parts       = pjax._getRoot().split('/'),
          +        root        = [],
          +        i, len, part;
          +
          +    for (i = 0, len = parts.length; i < len; i += 1) {
          +        part = parts[i];
          +
          +        if (part.match(terminators)) {
          +            // Makes sure the path will end with a "/".
          +            root.push('');
          +            break;
          +        }
          +
          +        root.push(part);
          +    }
          +
          +    pjax.set('root', root.join('/'));
          +};
          +
          +pjax.updateTabState = function (src) {
          +    var hash = win.location.hash.substring(1),
          +        defaultTab, node, tab, tabPanel;
          +
          +    function scrollToNode() {
          +        if (node.hasClass('protected')) {
          +            Y.one('#api-show-protected').set('checked', true);
          +            pjax.updateVisibility();
          +        }
          +
          +        if (node.hasClass('private')) {
          +            Y.one('#api-show-private').set('checked', true);
          +            pjax.updateVisibility();
          +        }
          +
          +        setTimeout(function () {
          +            // For some reason, unless we re-get the node instance here,
          +            // getY() always returns 0.
          +            var node = Y.one('#classdocs').getById(hash);
          +            win.scrollTo(0, node.getY() - 70);
          +        }, 1);
          +    }
          +
          +    if (!classTabView) {
          +        return;
          +    }
          +
          +    if (src === 'hashchange' && !hash) {
          +        defaultTab = 'index';
          +    } else {
          +        if (localStorage) {
          +            defaultTab = localStorage.getItem('tab_' + pjax.getPath()) ||
          +                'index';
          +        } else {
          +            defaultTab = 'index';
          +        }
          +    }
          +
          +    if (hash && (node = Y.one('#classdocs').getById(hash))) {
          +        if ((tabPanel = node.ancestor('.api-class-tabpanel', true))) {
          +            if ((tab = Y.one('#classdocs .api-class-tab.' + tabPanel.get('id')))) {
          +                if (classTabView.get('rendered')) {
          +                    Y.Widget.getByNode(tab).set('selected', 1);
          +                } else {
          +                    tab.addClass('yui3-tab-selected');
          +                }
          +            }
          +        }
          +
          +        // Scroll to the desired element if this is a hash URL.
          +        if (node) {
          +            if (classTabView.get('rendered')) {
          +                scrollToNode();
          +            } else {
          +                classTabView.once('renderedChange', scrollToNode);
          +            }
          +        }
          +    } else {
          +        tab = Y.one('#classdocs .api-class-tab.' + defaultTab);
          +
          +        if (classTabView.get('rendered')) {
          +            Y.Widget.getByNode(tab).set('selected', 1);
          +        } else {
          +            tab.addClass('yui3-tab-selected');
          +        }
          +    }
          +};
          +
          +pjax.updateVisibility = function () {
          +    var container = pjax.get('container');
          +
          +    container.toggleClass('hide-inherited',
          +            !Y.one('#api-show-inherited').get('checked'));
          +
          +    container.toggleClass('show-deprecated',
          +            Y.one('#api-show-deprecated').get('checked'));
          +
          +    container.toggleClass('show-protected',
          +            Y.one('#api-show-protected').get('checked'));
          +
          +    container.toggleClass('show-private',
          +            Y.one('#api-show-private').get('checked'));
          +
          +    pjax.checkVisibility();
          +};
          +
          +// -- Route Handlers -----------------------------------------------------------
          +
          +pjax.handleClasses = function (req, res, next) {
          +    pjax.onceAfter(['error', 'load'], function (e) {
          +        if (e.type === 'pjax:load') {
          +            pjax.initClassTabView();
          +        }
          +    });
          +
          +    next();
          +};
          +
          +pjax.handleFiles = function (req, res, next) {
          +    pjax.onceAfter(['error', 'load'], function (e) {
          +        if (e.type === 'pjax:load') {
          +            pjax.initLineNumbers();
          +        }
          +    });
          +
          +    next();
          +};
          +
          +// -- Event Handlers -----------------------------------------------------------
          +
          +pjax.afterContent = function (e) {
          +    // Enable syntax highlighting on the loaded content.
          +    prettyPrint();
          +
          +    bdNode.removeClass('loading');
          +};
          +
          +pjax.onNavigate = function (e) {
          +    var hash         = e.hash,
          +        originTarget = e.originEvent && e.originEvent.target,
          +        tab;
          +
          +    if (hash) {
          +        tab = originTarget && originTarget.ancestor('.yui3-tab', true);
          +
          +        if (hash === win.location.hash) {
          +            pjax.updateTabState('hashchange');
          +        } else if (!tab) {
          +            win.location.hash = hash;
          +        }
          +
          +        e.preventDefault();
          +        return;
          +    }
          +
          +    // Only scroll to the top of the page when the URL doesn't have a hash.
          +    this.set('scrollToTop', !e.url.match(/#.+$/));
          +
          +    bdNode.addClass('loading');
          +};
          +
          +pjax.onOptionClick = function (e) {
          +    pjax.updateVisibility();
          +};
          +
          +pjax.onTabSelectionChange = function (e) {
          +    var tab   = e.newVal,
          +        tabId = tab.get('contentBox').getAttribute('href').substring(1);
          +
          +    selectedTab = tab;
          +
          +    // If switching from a previous tab (i.e., this is not the default tab),
          +    // replace the history entry with a hash URL that will cause this tab to
          +    // be selected if the user navigates away and then returns using the back
          +    // or forward buttons.
          +    if (e.prevVal && localStorage) {
          +        localStorage.setItem('tab_' + pjax.getPath(), tabId);
          +    }
          +
          +    pjax.checkVisibility(tab);
          +};
          +
          +// -- Init ---------------------------------------------------------------------
          +
          +pjax.on('navigate', pjax.onNavigate);
          +pjax.after(['error', 'load'], pjax.afterContent);
          +
          +pjax.initRoot();
          +pjax.initClassTabView();
          +pjax.initLineNumbers();
          +pjax.updateVisibility();
          +pjax.upgrade();
          +
          +Y.APIList.rootPath = pjax.get('root');
          +
          +Y.one('#api-options').delegate('click', pjax.onOptionClick, 'input');
          +
          +Y.on('hashchange', function (e) {
          +    pjax.updateTabState('hashchange');
          +}, win);
          +
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/yui-prettify.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/yui-prettify.js
          new file mode 100644
          index 000000000..18de86495
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/js/yui-prettify.js
          @@ -0,0 +1,17 @@
          +YUI().use('node', function(Y) {
          +    var code = Y.all('.prettyprint.linenums');
          +    if (code.size()) {
          +        code.each(function(c) {
          +            var lis = c.all('ol li'),
          +                l = 1;
          +            lis.each(function(n) {
          +                n.prepend('<a name="LINENUM_' + l + '"></a>');
          +                l++;
          +            });
          +        });
          +        var h = location.hash;
          +        location.hash = '';
          +        h = h.replace('LINE_', 'LINENUM_');
          +        location.hash = h;
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/CHANGES.html b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/CHANGES.html
          new file mode 100644
          index 000000000..b50b84149
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/CHANGES.html
          @@ -0,0 +1,130 @@
          +<html>
          +  <head>
          +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +    <title>Change Log</title>
          +  </head>
          +  <body bgcolor="white">
          +    <a style="float:right" href="README.html">README</a>
          +
          +    <h1>Known Issues</h1>
          +    <ul>
          +      <li>Perl formatting is really crappy.  Partly because the author is lazy and
          +      partly because Perl is
          +      <a href="http://www.perlmonks.org/?node_id=663393">hard</a> to parse.
          +      <li>On some browsers, <code>&lt;code&gt;</code> elements with newlines in the text
          +      which use CSS to specify <code>white-space:pre</code> will have the newlines
          +      improperly stripped if the element is not attached to the document at the time
          +      the stripping is done.  Also, on IE 6, all newlines will be stripped from
          +      <code>&lt;code&gt;</code> elements because of the way IE6 produces
          +      <code>innerHTML</code>.  Workaround: use <code>&lt;pre&gt;</code> for code with
          +      newlines.
          +    </ul>
          +
          +    <h1>Change Log</h1>
          +    <h2>29 March 2007</h2>
          +    <ul>
          +      <li>Added <a href="tests/prettify_test.html#PHP">tests</a> for PHP support
          +        to address 
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=3"
          +       >issue 3</a>.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=6"
          +       >bug</a>: <code>prettyPrintOne</code> was not halting.  This was not
          +        reachable through the normal entry point.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >bug</a>: recursing into a script block or PHP tag that was not properly
          +        closed would not silently drop the content.
          +        (<a href="tests/prettify_test.html#issue4">test</a>)
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=8"
          +       >bug</a>: was eating tabs
          +        (<a href="tests/prettify_test.html#issue8">test</a>)
          +      <li>Fixed entity handling so that the caveat
          +        <blockquote>
          +          <p>Caveats: please properly escape less-thans.  <tt>x&amp;lt;y</tt>
          +          instead of <tt>x&lt;y</tt>, and use <tt>&quot;</tt> instead of 
          +          <tt>&amp;quot;</tt> for string delimiters.</p>
          +        </blockquote>
          +        is no longer applicable.
          +      <li>Added noisefree's C#
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >patch</a>
          +      <li>Added a <a href="http://google-code-prettify.googlecode.com/files/prettify-small.zip">distribution</a> that has comments and
          +        whitespace removed to reduce download size from 45.5kB to 12.8kB.
          +    </ul>
          +    <h2>4 Jul 2008</h2>
          +    <ul>
          +      <li>Added <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=17">language specific formatters</a> that are triggered by the presence
          +      of a <code>lang-&lt;language-file-extension&gt;</code></li>
          +      <li>Fixed <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=29">bug</a>: python handling of <code>'''string'''</code>
          +      <li>Fixed bug: <code>/</code> in regex <code>[charsets] should not end regex</code>
          +    </ul>
          +    <h2>5 Jul 2008</h2>
          +    <ul>
          +      <li>Defined language extensions for Lisp and Lua</code>
          +    </ul>
          +    <h2>14 Jul 2008</h2>
          +    <ul>
          +      <li>Language handlers for F#, OCAML, SQL</code>
          +      <li>Support for <code>nocode</code> spans to allow embedding of line
          +      numbers and code annotations which should not be styled or otherwise
          +      affect the tokenization of prettified code.
          +      See the issue 22
          +      <a href="tests/prettify_test.html#issue22">testcase</a>.</code>
          +    </ul>
          +    <h2>6 Jan 2009</h2>
          +    <ul>
          +      <li>Language handlers for Visual Basic, Haskell, CSS, and WikiText</li>
          +      <li>Added <tt>.mxml</tt> extension to the markup style handler for
          +        Flex <a href="http://en.wikipedia.org/wiki/MXML">MXML files</a>.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=37"
          +        >issue 37</a>.
          +      <li>Added <tt>.m</tt> extension to the C style handler so that Objective
          +        C source files properly highlight.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=58"
          +       >issue 58</a>.
          +      <li>Changed HTML lexer to use the same embedded source mechanism as the
          +        wiki language handler, and changed to use the registered
          +        CSS handler for STYLE element content.
          +    </ul>
          +    <h2>21 May 2009</h2>
          +    <ul>
          +      <li>Rewrote to improve performance on large files.
          +        See <a href="http://mikesamuel.blogspot.com/2009/05/efficient-parsing-in-javascript.html">benchmarks</a>.</li>
          +      <li>Fixed bugs with highlighting of Haskell line comments, Lisp
          +        number literals, Lua strings, C preprocessor directives,
          +        newlines in Wiki code on Windows, and newlines in IE6.</li>
          +    </ul>
          +    <h2>14 August 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of <code>&lt;code&gt;</code> blocks with embedded newlines.
          +    </ul>
          +    <h2>3 October 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of XML/HTML tags that contain uppercase letters.
          +    </ul>
          +    <h2>19 July 2010</h2>
          +    <ul>
          +      <li>Added support for line numbers.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=22"
          +         >22</a></li>
          +      <li>Added YAML support.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=123"
          +         >123</a></li>
          +      <li>Added VHDL support courtesy Le Poussin.</li>
          +      <li>IE performance improvements.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=102"
          +         >102</a> courtesy jacobly.</li>
          +      <li>A variety of markup formatting fixes courtesy smain and thezbyg.</li>
          +      <li>Fixed copy and paste in IE[678].
          +      <li>Changed output to use <code>&amp;#160;</code> instead of
          +        <code>&amp;nbsp;</code> so that the output works when embedded in XML.
          +        Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=108"
          +         >108</a>.</li>
          +    </ul>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/COPYING b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/COPYING
          new file mode 100644
          index 000000000..d64569567
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/COPYING
          @@ -0,0 +1,202 @@
          +
          +                                 Apache License
          +                           Version 2.0, January 2004
          +                        http://www.apache.org/licenses/
          +
          +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
          +
          +   1. Definitions.
          +
          +      "License" shall mean the terms and conditions for use, reproduction,
          +      and distribution as defined by Sections 1 through 9 of this document.
          +
          +      "Licensor" shall mean the copyright owner or entity authorized by
          +      the copyright owner that is granting the License.
          +
          +      "Legal Entity" shall mean the union of the acting entity and all
          +      other entities that control, are controlled by, or are under common
          +      control with that entity. For the purposes of this definition,
          +      "control" means (i) the power, direct or indirect, to cause the
          +      direction or management of such entity, whether by contract or
          +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
          +      outstanding shares, or (iii) beneficial ownership of such entity.
          +
          +      "You" (or "Your") shall mean an individual or Legal Entity
          +      exercising permissions granted by this License.
          +
          +      "Source" form shall mean the preferred form for making modifications,
          +      including but not limited to software source code, documentation
          +      source, and configuration files.
          +
          +      "Object" form shall mean any form resulting from mechanical
          +      transformation or translation of a Source form, including but
          +      not limited to compiled object code, generated documentation,
          +      and conversions to other media types.
          +
          +      "Work" shall mean the work of authorship, whether in Source or
          +      Object form, made available under the License, as indicated by a
          +      copyright notice that is included in or attached to the work
          +      (an example is provided in the Appendix below).
          +
          +      "Derivative Works" shall mean any work, whether in Source or Object
          +      form, that is based on (or derived from) the Work and for which the
          +      editorial revisions, annotations, elaborations, or other modifications
          +      represent, as a whole, an original work of authorship. For the purposes
          +      of this License, Derivative Works shall not include works that remain
          +      separable from, or merely link (or bind by name) to the interfaces of,
          +      the Work and Derivative Works thereof.
          +
          +      "Contribution" shall mean any work of authorship, including
          +      the original version of the Work and any modifications or additions
          +      to that Work or Derivative Works thereof, that is intentionally
          +      submitted to Licensor for inclusion in the Work by the copyright owner
          +      or by an individual or Legal Entity authorized to submit on behalf of
          +      the copyright owner. For the purposes of this definition, "submitted"
          +      means any form of electronic, verbal, or written communication sent
          +      to the Licensor or its representatives, including but not limited to
          +      communication on electronic mailing lists, source code control systems,
          +      and issue tracking systems that are managed by, or on behalf of, the
          +      Licensor for the purpose of discussing and improving the Work, but
          +      excluding communication that is conspicuously marked or otherwise
          +      designated in writing by the copyright owner as "Not a Contribution."
          +
          +      "Contributor" shall mean Licensor and any individual or Legal Entity
          +      on behalf of whom a Contribution has been received by Licensor and
          +      subsequently incorporated within the Work.
          +
          +   2. Grant of Copyright License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      copyright license to reproduce, prepare Derivative Works of,
          +      publicly display, publicly perform, sublicense, and distribute the
          +      Work and such Derivative Works in Source or Object form.
          +
          +   3. Grant of Patent License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      (except as stated in this section) patent license to make, have made,
          +      use, offer to sell, sell, import, and otherwise transfer the Work,
          +      where such license applies only to those patent claims licensable
          +      by such Contributor that are necessarily infringed by their
          +      Contribution(s) alone or by combination of their Contribution(s)
          +      with the Work to which such Contribution(s) was submitted. If You
          +      institute patent litigation against any entity (including a
          +      cross-claim or counterclaim in a lawsuit) alleging that the Work
          +      or a Contribution incorporated within the Work constitutes direct
          +      or contributory patent infringement, then any patent licenses
          +      granted to You under this License for that Work shall terminate
          +      as of the date such litigation is filed.
          +
          +   4. Redistribution. You may reproduce and distribute copies of the
          +      Work or Derivative Works thereof in any medium, with or without
          +      modifications, and in Source or Object form, provided that You
          +      meet the following conditions:
          +
          +      (a) You must give any other recipients of the Work or
          +          Derivative Works a copy of this License; and
          +
          +      (b) You must cause any modified files to carry prominent notices
          +          stating that You changed the files; and
          +
          +      (c) You must retain, in the Source form of any Derivative Works
          +          that You distribute, all copyright, patent, trademark, and
          +          attribution notices from the Source form of the Work,
          +          excluding those notices that do not pertain to any part of
          +          the Derivative Works; and
          +
          +      (d) If the Work includes a "NOTICE" text file as part of its
          +          distribution, then any Derivative Works that You distribute must
          +          include a readable copy of the attribution notices contained
          +          within such NOTICE file, excluding those notices that do not
          +          pertain to any part of the Derivative Works, in at least one
          +          of the following places: within a NOTICE text file distributed
          +          as part of the Derivative Works; within the Source form or
          +          documentation, if provided along with the Derivative Works; or,
          +          within a display generated by the Derivative Works, if and
          +          wherever such third-party notices normally appear. The contents
          +          of the NOTICE file are for informational purposes only and
          +          do not modify the License. You may add Your own attribution
          +          notices within Derivative Works that You distribute, alongside
          +          or as an addendum to the NOTICE text from the Work, provided
          +          that such additional attribution notices cannot be construed
          +          as modifying the License.
          +
          +      You may add Your own copyright statement to Your modifications and
          +      may provide additional or different license terms and conditions
          +      for use, reproduction, or distribution of Your modifications, or
          +      for any such Derivative Works as a whole, provided Your use,
          +      reproduction, and distribution of the Work otherwise complies with
          +      the conditions stated in this License.
          +
          +   5. Submission of Contributions. Unless You explicitly state otherwise,
          +      any Contribution intentionally submitted for inclusion in the Work
          +      by You to the Licensor shall be under the terms and conditions of
          +      this License, without any additional terms or conditions.
          +      Notwithstanding the above, nothing herein shall supersede or modify
          +      the terms of any separate license agreement you may have executed
          +      with Licensor regarding such Contributions.
          +
          +   6. Trademarks. This License does not grant permission to use the trade
          +      names, trademarks, service marks, or product names of the Licensor,
          +      except as required for reasonable and customary use in describing the
          +      origin of the Work and reproducing the content of the NOTICE file.
          +
          +   7. Disclaimer of Warranty. Unless required by applicable law or
          +      agreed to in writing, Licensor provides the Work (and each
          +      Contributor provides its Contributions) on an "AS IS" BASIS,
          +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
          +      implied, including, without limitation, any warranties or conditions
          +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
          +      PARTICULAR PURPOSE. You are solely responsible for determining the
          +      appropriateness of using or redistributing the Work and assume any
          +      risks associated with Your exercise of permissions under this License.
          +
          +   8. Limitation of Liability. In no event and under no legal theory,
          +      whether in tort (including negligence), contract, or otherwise,
          +      unless required by applicable law (such as deliberate and grossly
          +      negligent acts) or agreed to in writing, shall any Contributor be
          +      liable to You for damages, including any direct, indirect, special,
          +      incidental, or consequential damages of any character arising as a
          +      result of this License or out of the use or inability to use the
          +      Work (including but not limited to damages for loss of goodwill,
          +      work stoppage, computer failure or malfunction, or any and all
          +      other commercial damages or losses), even if such Contributor
          +      has been advised of the possibility of such damages.
          +
          +   9. Accepting Warranty or Additional Liability. While redistributing
          +      the Work or Derivative Works thereof, You may choose to offer,
          +      and charge a fee for, acceptance of support, warranty, indemnity,
          +      or other liability obligations and/or rights consistent with this
          +      License. However, in accepting such obligations, You may act only
          +      on Your own behalf and on Your sole responsibility, not on behalf
          +      of any other Contributor, and only if You agree to indemnify,
          +      defend, and hold each Contributor harmless for any liability
          +      incurred by, or claims asserted against, such Contributor by reason
          +      of your accepting any such warranty or additional liability.
          +
          +   END OF TERMS AND CONDITIONS
          +
          +   APPENDIX: How to apply the Apache License to your work.
          +
          +      To apply the Apache License to your work, attach the following
          +      boilerplate notice, with the fields enclosed by brackets "[]"
          +      replaced with your own identifying information. (Don't include
          +      the brackets!)  The text should be enclosed in the appropriate
          +      comment syntax for the file format. We also recommend that a
          +      file or class name and description of purpose be included on the
          +      same "printed page" as the copyright notice for easier
          +      identification within third-party archives.
          +
          +   Copyright [yyyy] [name of copyright owner]
          +
          +   Licensed under the Apache License, Version 2.0 (the "License");
          +   you may not use this file except in compliance with the License.
          +   You may obtain a copy of the License at
          +
          +       http://www.apache.org/licenses/LICENSE-2.0
          +
          +   Unless required by applicable law or agreed to in writing, software
          +   distributed under the License is distributed on an "AS IS" BASIS,
          +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          +   See the License for the specific language governing permissions and
          +   limitations under the License.
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/README.html b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/README.html
          new file mode 100644
          index 000000000..c6fe1a32c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/README.html
          @@ -0,0 +1,203 @@
          +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          +
          +<html>
          +  <head>
          +    <title>Javascript code prettifier</title>
          +
          +    <link href="src/prettify.css" type="text/css" rel="stylesheet" />
          +
          +    <script src="src/prettify.js" type="text/javascript"></script>
          +
          +    <style type="text/css">
          +      body { margin-left: .5in }
          +      h1, h2, h3, h4, .footer { margin-left: -.4in; }
          +    </style>
          +  </head>
          +
          +  <body onload="prettyPrint()" bgcolor="white">
          +    <small style="float: right">Languages : <a href="README-zh-Hans.html">CH</a></small>
          +    <h1>Javascript code prettifier</h1>
          +
          +    <h2>Setup</h2>
          +    <ol>
          +      <li><a href="http://code.google.com/p/google-code-prettify/downloads/list">Download</a> a distribution
          +      <li>Include the script and stylesheets in your document
          +        (you will need to make sure the css and js file are on your server, and
          +         adjust the paths in the <tt>script</tt> and <tt>link</tt> tag)
          +        <pre class="prettyprint">
          +&lt;link href="prettify.css" type="text/css" rel="stylesheet" />
          +&lt;script type="text/javascript" src="prettify.js">&lt;/script></pre>
          +      <li>Add <code class="prettyprint lang-html">onload="prettyPrint()"</code> to your
          +      document's body tag.
          +      <li>Modify the stylesheet to get the coloring you prefer</li>
          +    </ol>
          +
          +    <h2>Usage</h2>
          +    <p>Put code snippets in
          +    <tt>&lt;pre class="prettyprint"&gt;...&lt;/pre&gt;</tt>
          +    or <tt>&lt;code class="prettyprint"&gt;...&lt;/code&gt;</tt>
          +    and it will automatically be pretty printed.
          +
          +    <table summary="code examples">
          +      <tr>
          +        <th>The original
          +        <th>Prettier
          +      <tr>
          +        <td><pre style="border: 1px solid #888;padding: 2px"
          +             ><a name="voila1"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila1">tags</a>.
          +}</pre>
          +
          +        <td><pre class="prettyprint"><a name="voila2"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila2">tags</a>.
          +}</pre>
          +    </table>
          +
          +    <h2>FAQ</h2>
          +    <h3 id="langs">Which languages does it work for?</h3>
          +    <p>The comments in <tt>prettify.js</tt> are authoritative but the lexer
          +    should work on a number of languages including C and friends,
          +    Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles.
          +    It works passably on Ruby, PHP, VB, and Awk and a decent subset of Perl
          +    and Ruby, but, because of commenting conventions, doesn't work on
          +    Smalltalk, or CAML-like languages.</p>
          +
          +    <p>LISPy languages are supported via an extension:
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lisp.js"
          +     ><code>lang-lisp.js</code></a>.</p>
          +    <p>And similarly for
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-css.js"
          +     ><code>CSS</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-hs.js"
          +     ><code>Haskell</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lua.js"
          +     ><code>Lua</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-ml.js"
          +     ><code>OCAML, SML, F#</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-vb.js"
          +     ><code>Visual Basic</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js"
          +     ><code>SQL</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-proto.js"
          +     ><code>Protocol Buffers</code></a>, and
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-wiki.js"
          +     ><code>WikiText</code></a>..
          +
          +    <p>If you'd like to add an extension for your favorite language, please
          +    look at <tt>src/lang-lisp.js</tt> and file an
          +    <a href="http://code.google.com/p/google-code-prettify/issues/list"
          +     >issue</a> including your language extension, and a testcase.</p>
          +
          +    <h3>How do I specify which language my code is in?</h3>
          +    <p>You don't need to specify the language since <code>prettyprint()</code>
          +    will guess.  You can specify a language by specifying the language extension
          +    along with the <code>prettyprint</code> class like so:</p>
          +    <pre class="prettyprint lang-html"
          +>&lt;pre class=&quot;prettyprint <b>lang-html</b>&quot;&gt;
          +  The lang-* class specifies the language file extensions.
          +  File extensions supported by default include
          +    "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
          +    "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
          +    "xhtml", "xml", "xsl".
          +&lt;/pre&gt;</pre>
          +
          +    <h3>It doesn't work on <tt>&lt;obfuscated code sample&gt;</tt>?</h3>
          +    <p>Yes.  Prettifying obfuscated code is like putting lipstick on a pig
          +    &mdash; i.e. outside the scope of this tool.</p>
          +
          +    <h3>Which browsers does it work with?</h3>
          +    <p>It's been tested with IE 6, Firefox 1.5 &amp; 2, and Safari 2.0.4.
          +    Look at <a href="tests/prettify_test.html">the test page</a> to see if it
          +    works in your browser.</p>
          +
          +    <h3>What's changed?</h3>
          +    <p>See the <a href="CHANGES.html">change log</a></p>
          +
          +    <h3>Why doesn't Prettyprinting of strings work on WordPress?</h3>
          +    <p>Apparently wordpress does "smart quoting" which changes close quotes.
          +    This causes end quotes to not match up with open quotes.
          +    <p>This breaks prettifying as well as copying and pasting of code samples.
          +    See
          +    <a href="http://wordpress.org/support/topic/125038"
          +    >WordPress's help center</a> for info on how to stop smart quoting of code
          +    snippets.</p>
          +
          +    <h3 id="linenums">How do I put line numbers in my code?</h3>
          +    <p>You can use the <code>linenums</code> class to turn on line
          +    numbering.  If your code doesn't start at line number 1, you can
          +    add a colon and a line number to the end of that class as in
          +    <code>linenums:52</code>.
          +
          +    <p>For example
          +<pre class="prettyprint">&lt;pre class="prettyprint linenums:<b>4</b>"
          +&gt;// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +&lt;pre&gt;</pre>
          +    produces
          +<pre class="prettyprint linenums:4"
          +>// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +</pre>
          +
          +    <h3>How do I prevent a portion of markup from being marked as code?</h3>
          +    <p>You can use the <code>nocode</code> class to identify a span of markup
          +    that is not code.
          +<pre class="prettyprint">&lt;pre class=prettyprint&gt;
          +int x = foo();  /* This is a comment  &lt;span class="nocode"&gt;This is not code&lt;/span&gt;
          +  Continuation of comment */
          +int y = bar();
          +&lt;/pre&gt;</pre>
          +produces
          +<pre class="prettyprint">
          +int x = foo();  /* This is a comment  <span class="nocode">This is not code</span>
          +  Continuation of comment */
          +int y = bar();
          +</pre>
          +
          +    <p>For a more complete example see the issue22
          +    <a href="tests/prettify_test.html#issue22">testcase</a>.</p>
          +
          +    <h3>I get an error message "a is not a function" or "opt_whenDone is not a function"</h3>
          +    <p>If you are calling <code>prettyPrint</code> via an event handler, wrap it in a function.
          +    Instead of doing
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', prettyPrint, false);</code>
          +    </blockquote>
          +    wrap it in a closure like
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', function (event) { prettyPrint() }, false);</code>
          +    </blockquote>
          +    so that the browser does not pass an event object to <code>prettyPrint</code> which
          +    will confuse it.
          +
          +    <br><br><br>
          +
          +    <div class="footer">
          +<!-- Created: Tue Oct  3 17:51:56 PDT 2006 -->
          +<!-- hhmts start -->
          +Last modified: Wed Jul 19 13:56:00 PST 2010
          +<!-- hhmts end -->
          +    </div>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.css b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.css
          new file mode 100644
          index 000000000..9b554aac5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.css
          @@ -0,0 +1 @@
          +.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.js
          new file mode 100644
          index 000000000..3dec9931c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/assets/vendor/prettify/prettify-min.js
          @@ -0,0 +1,35 @@
          +window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var y=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);y=y?+y[1]:false;window._pr_isIE6=function(){return y};return y};
          +(function(){function y(b){return b.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;")}function H(b,f,i){switch(b.nodeType){case 1:var o=b.tagName.toLowerCase();f.push("<",o);var l=b.attributes,n=l.length;if(n){if(i){for(var r=[],j=n;--j>=0;)r[j]=l[j];r.sort(function(q,m){return q.name<m.name?-1:q.name===m.name?0:1});l=r}for(j=0;j<n;++j){r=l[j];r.specified&&f.push(" ",r.name.toLowerCase(),'="',r.value.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;").replace(X,"&quot;"),'"')}}f.push(">");
          +for(l=b.firstChild;l;l=l.nextSibling)H(l,f,i);if(b.firstChild||!/^(?:br|link|img)$/.test(o))f.push("</",o,">");break;case 3:case 4:f.push(y(b.nodeValue));break}}function O(b){function f(c){if(c.charAt(0)!=="\\")return c.charCodeAt(0);switch(c.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(c.substring(2),16)||c.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(c.substring(1),
          +8);default:return c.charCodeAt(1)}}function i(c){if(c<32)return(c<16?"\\x0":"\\x")+c.toString(16);c=String.fromCharCode(c);if(c==="\\"||c==="-"||c==="["||c==="]")c="\\"+c;return c}function o(c){var d=c.substring(1,c.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));c=[];for(var a=[],k=d[0]==="^",e=k?1:0,h=d.length;e<h;++e){var g=d[e];switch(g){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":c.push(g);
          +continue}g=f(g);var s;if(e+2<h&&"-"===d[e+1]){s=f(d[e+2]);e+=2}else s=g;a.push([g,s]);if(!(s<65||g>122)){s<65||g>90||a.push([Math.max(65,g)|32,Math.min(s,90)|32]);s<97||g>122||a.push([Math.max(97,g)&-33,Math.min(s,122)&-33])}}a.sort(function(v,w){return v[0]-w[0]||w[1]-v[1]});d=[];g=[NaN,NaN];for(e=0;e<a.length;++e){h=a[e];if(h[0]<=g[1]+1)g[1]=Math.max(g[1],h[1]);else d.push(g=h)}a=["["];k&&a.push("^");a.push.apply(a,c);for(e=0;e<d.length;++e){h=d[e];a.push(i(h[0]));if(h[1]>h[0]){h[1]+1>h[0]&&a.push("-");
          +a.push(i(h[1]))}}a.push("]");return a.join("")}function l(c){for(var d=c.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=d.length,k=[],e=0,h=0;e<a;++e){var g=d[e];if(g==="(")++h;else if("\\"===g.charAt(0))if((g=+g.substring(1))&&g<=h)k[g]=-1}for(e=1;e<k.length;++e)if(-1===k[e])k[e]=++n;for(h=e=0;e<a;++e){g=d[e];if(g==="("){++h;if(k[h]===undefined)d[e]="(?:"}else if("\\"===
          +g.charAt(0))if((g=+g.substring(1))&&g<=h)d[e]="\\"+k[h]}for(h=e=0;e<a;++e)if("^"===d[e]&&"^"!==d[e+1])d[e]="";if(c.ignoreCase&&r)for(e=0;e<a;++e){g=d[e];c=g.charAt(0);if(g.length>=2&&c==="[")d[e]=o(g);else if(c!=="\\")d[e]=g.replace(/[a-zA-Z]/g,function(s){s=s.charCodeAt(0);return"["+String.fromCharCode(s&-33,s|32)+"]"})}return d.join("")}for(var n=0,r=false,j=false,q=0,m=b.length;q<m;++q){var t=b[q];if(t.ignoreCase)j=true;else if(/[a-z]/i.test(t.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,
          +""))){r=true;j=false;break}}var p=[];q=0;for(m=b.length;q<m;++q){t=b[q];if(t.global||t.multiline)throw Error(""+t);p.push("(?:"+l(t)+")")}return RegExp(p.join("|"),j?"gi":"g")}function Y(b){var f=0;return function(i){for(var o=null,l=0,n=0,r=i.length;n<r;++n)switch(i.charAt(n)){case "\t":o||(o=[]);o.push(i.substring(l,n));l=b-f%b;for(f+=l;l>=0;l-=16)o.push("                ".substring(0,l));l=n+1;break;case "\n":f=0;break;default:++f}if(!o)return i;o.push(i.substring(l));return o.join("")}}function I(b,
          +f,i,o){if(f){b={source:f,c:b};i(b);o.push.apply(o,b.d)}}function B(b,f){var i={},o;(function(){for(var r=b.concat(f),j=[],q={},m=0,t=r.length;m<t;++m){var p=r[m],c=p[3];if(c)for(var d=c.length;--d>=0;)i[c.charAt(d)]=p;p=p[1];c=""+p;if(!q.hasOwnProperty(c)){j.push(p);q[c]=null}}j.push(/[\0-\uffff]/);o=O(j)})();var l=f.length;function n(r){for(var j=r.c,q=[j,z],m=0,t=r.source.match(o)||[],p={},c=0,d=t.length;c<d;++c){var a=t[c],k=p[a],e=void 0,h;if(typeof k==="string")h=false;else{var g=i[a.charAt(0)];
          +if(g){e=a.match(g[1]);k=g[0]}else{for(h=0;h<l;++h){g=f[h];if(e=a.match(g[1])){k=g[0];break}}e||(k=z)}if((h=k.length>=5&&"lang-"===k.substring(0,5))&&!(e&&typeof e[1]==="string")){h=false;k=P}h||(p[a]=k)}g=m;m+=a.length;if(h){h=e[1];var s=a.indexOf(h),v=s+h.length;if(e[2]){v=a.length-e[2].length;s=v-h.length}k=k.substring(5);I(j+g,a.substring(0,s),n,q);I(j+g+s,h,Q(k,h),q);I(j+g+v,a.substring(v),n,q)}else q.push(j+g,k)}r.d=q}return n}function x(b){var f=[],i=[];if(b.tripleQuotedStrings)f.push([A,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
          +null,"'\""]);else b.multiLineStrings?f.push([A,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):f.push([A,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);b.verbatimStrings&&i.push([A,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);if(b.hashComments)if(b.cStyleComments){f.push([C,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]);i.push([A,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
          +null])}else f.push([C,/^#[^\r\n]*/,null,"#"]);if(b.cStyleComments){i.push([C,/^\/\/[^\r\n]*/,null]);i.push([C,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}b.regexLiterals&&i.push(["lang-regex",RegExp("^"+Z+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);b=b.keywords.replace(/^\s+|\s+$/g,"");b.length&&i.push([R,RegExp("^(?:"+b.replace(/\s+/g,"|")+")\\b"),null]);f.push([z,/^\s+/,null," \r\n\t\u00a0"]);i.push([J,/^@[a-z_$][a-z_$@0-9]*/i,null],[S,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,
          +null],[z,/^[a-z_$][a-z_$@0-9]*/i,null],[J,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],[E,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return B(f,i)}function $(b){function f(D){if(D>r){if(j&&j!==q){n.push("</span>");j=null}if(!j&&q){j=q;n.push('<span class="',j,'">')}var T=y(p(i.substring(r,D))).replace(e?d:c,"$1&#160;");e=k.test(T);n.push(T.replace(a,s));r=D}}var i=b.source,o=b.g,l=b.d,n=[],r=0,j=null,q=null,m=0,t=0,p=Y(window.PR_TAB_WIDTH),c=/([\r\n ]) /g,
          +d=/(^| ) /gm,a=/\r\n?|\n/g,k=/[ \r\n]$/,e=true,h=window._pr_isIE6();h=h?b.b.tagName==="PRE"?h===6?"&#160;\r\n":h===7?"&#160;<br>\r":"&#160;\r":"&#160;<br />":"<br />";var g=b.b.className.match(/\blinenums\b(?::(\d+))?/),s;if(g){for(var v=[],w=0;w<10;++w)v[w]=h+'</li><li class="L'+w+'">';var F=g[1]&&g[1].length?g[1]-1:0;n.push('<ol class="linenums"><li class="L',F%10,'"');F&&n.push(' value="',F+1,'"');n.push(">");s=function(){var D=v[++F%10];return j?"</span>"+D+'<span class="'+j+'">':D}}else s=h;
          +for(;;)if(m<o.length?t<l.length?o[m]<=l[t]:true:false){f(o[m]);if(j){n.push("</span>");j=null}n.push(o[m+1]);m+=2}else if(t<l.length){f(l[t]);q=l[t+1];t+=2}else break;f(i.length);j&&n.push("</span>");g&&n.push("</li></ol>");b.a=n.join("")}function u(b,f){for(var i=f.length;--i>=0;){var o=f[i];if(G.hasOwnProperty(o))"console"in window&&console.warn("cannot override language handler %s",o);else G[o]=b}}function Q(b,f){b&&G.hasOwnProperty(b)||(b=/^\s*</.test(f)?"default-markup":"default-code");return G[b]}
          +function U(b){var f=b.f,i=b.e;b.a=f;try{var o,l=f.match(aa);f=[];var n=0,r=[];if(l)for(var j=0,q=l.length;j<q;++j){var m=l[j];if(m.length>1&&m.charAt(0)==="<"){if(!ba.test(m))if(ca.test(m)){f.push(m.substring(9,m.length-3));n+=m.length-12}else if(da.test(m)){f.push("\n");++n}else if(m.indexOf(V)>=0&&m.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)){var t=m.match(W)[2],p=1,c;c=j+1;a:for(;c<q;++c){var d=l[c].match(W);if(d&&
          +d[2]===t)if(d[1]==="/"){if(--p===0)break a}else++p}if(c<q){r.push(n,l.slice(j,c+1).join(""));j=c}else r.push(n,m)}else r.push(n,m)}else{var a;p=m;var k=p.indexOf("&");if(k<0)a=p;else{for(--k;(k=p.indexOf("&#",k+1))>=0;){var e=p.indexOf(";",k);if(e>=0){var h=p.substring(k+3,e),g=10;if(h&&h.charAt(0)==="x"){h=h.substring(1);g=16}var s=parseInt(h,g);isNaN(s)||(p=p.substring(0,k)+String.fromCharCode(s)+p.substring(e+1))}}a=p.replace(ea,"<").replace(fa,">").replace(ga,"'").replace(ha,'"').replace(ia," ").replace(ja,
          +"&")}f.push(a);n+=a.length}}o={source:f.join(""),h:r};var v=o.source;b.source=v;b.c=0;b.g=o.h;Q(i,v)(b);$(b)}catch(w){if("console"in window)console.log(w&&w.stack?w.stack:w)}}var A="str",R="kwd",C="com",S="typ",J="lit",E="pun",z="pln",P="src",V="nocode",Z=function(){for(var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=",
          +"~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],f="(?:^^|[+-]",i=0;i<b.length;++i)f+="|"+b[i].replace(/([^=<>:&a-z])/g,"\\$1");f+=")\\s*";return f}(),L=/&/g,M=/</g,N=/>/g,X=/\"/g,ea=/&lt;/g,fa=/&gt;/g,ga=/&apos;/g,ha=/&quot;/g,ja=/&amp;/g,ia=/&nbsp;/g,ka=/[\r\n]/g,K=null,aa=RegExp("[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z](?:[^>\"']|'[^']*'|\"[^\"]*\")*>|<","g"),ba=/^<\!--/,ca=/^<!\[CDATA\[/,da=/^<br\b/i,W=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/,
          +la=x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
          +hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true}),G={};u(la,["default-code"]);u(B([],[[z,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[C,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[E,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup",
          +"htm","html","mxml","xhtml","xml","xsl"]);u(B([[z,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[E,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],
          +["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);u(B([],[["atv",/^[\s\S]+/]]),["uq.val"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where ",
          +hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);u(x({keywords:"null true false"}),["json"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
          +hashComments:true,cStyleComments:true,verbatimStrings:true}),["cs"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",
          +cStyleComments:true}),["java"]);u(x({keywords:"break continue do else for if return while case done elif esac eval fi function in local set then until ",hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);u(x({keywords:"break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);
          +u(x({keywords:"caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);u(x({keywords:"break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",hashComments:true,
          +multiLineStrings:true,regexLiterals:true}),["rb"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN ",cStyleComments:true,regexLiterals:true}),["js"]);u(B([],[[A,/^[\s\S]+/]]),
          +["regex"]);window.PR_normalizedHtml=H;window.prettyPrintOne=function(b,f){var i={f:b,e:f};U(i);return i.a};window.prettyPrint=function(b){function f(){for(var t=window.PR_SHOULD_USE_CONTINUATION?j.now()+250:Infinity;q<o.length&&j.now()<t;q++){var p=o[q];if(p.className&&p.className.indexOf("prettyprint")>=0){var c=p.className.match(/\blang-(\w+)\b/);if(c)c=c[1];for(var d=false,a=p.parentNode;a;a=a.parentNode)if((a.tagName==="pre"||a.tagName==="code"||a.tagName==="xmp")&&a.className&&a.className.indexOf("prettyprint")>=
          +0){d=true;break}if(!d){a=p;if(null===K){d=document.createElement("PRE");d.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));K=!/</.test(d.innerHTML)}if(K){d=a.innerHTML;if("XMP"===a.tagName)d=y(d);else{a=a;if("PRE"===a.tagName)a=true;else if(ka.test(d)){var k="";if(a.currentStyle)k=a.currentStyle.whiteSpace;else if(window.getComputedStyle)k=window.getComputedStyle(a,null).whiteSpace;a=!k||k==="pre"}else a=true;a||(d=d.replace(/(<br\s*\/?>)[\r\n]+/g,"$1").replace(/(?:[\r\n]+[ \t]*)+/g,
          +" "))}d=d}else{d=[];for(a=a.firstChild;a;a=a.nextSibling)H(a,d);d=d.join("")}d=d.replace(/(?:\r\n?|\n)$/,"");m={f:d,e:c,b:p};U(m);if(p=m.a){c=m.b;if("XMP"===c.tagName){d=document.createElement("PRE");for(a=0;a<c.attributes.length;++a){k=c.attributes[a];if(k.specified)if(k.name.toLowerCase()==="class")d.className=k.value;else d.setAttribute(k.name,k.value)}d.innerHTML=p;c.parentNode.replaceChild(d,c)}else c.innerHTML=p}}}}if(q<o.length)setTimeout(f,250);else b&&b()}for(var i=[document.getElementsByTagName("pre"),
          +document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],o=[],l=0;l<i.length;++l)for(var n=0,r=i[l].length;n<r;++n)o.push(i[l][n]);i=null;var j=Date;j.now||(j={now:function(){return(new Date).getTime()}});var q=0,m;f()};window.PR={combinePrefixPatterns:O,createSimpleLexer:B,registerLangHandler:u,sourceDecorator:x,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:C,PR_DECLARATION:"dec",PR_KEYWORD:R,PR_LITERAL:J,PR_NOCODE:V,PR_PLAIN:z,PR_PUNCTUATION:E,PR_SOURCE:P,PR_STRING:A,
          +PR_TAG:"tag",PR_TYPE:S}})()
          +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
          +["com",/^(?:<!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#(?:[0-9a-f]{3}){1,2}/i],["pln",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],["pun",/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^\)\"\']+/]]),["css-str"])
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/main.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/main.handlebars
          new file mode 100644
          index 000000000..d0a031417
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/main.handlebars
          @@ -0,0 +1,55 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>{{htmlTitle}}</title>
          +    <link rel="stylesheet" href="{{yuiGridsUrl}}">
          +    <link rel="stylesheet" href="{{projectAssets}}/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="{{projectAssets}}/css/main.css" id="site_styles">
          +    <link rel="shortcut icon" type="image/png" href="{{projectAssets}}/favicon.png">
          +    <script src="{{yuiSeedUrl}}"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            {{#if projectLogo}}
          +                <h1><img src="{{projectLogo}}" title="{{projectName}}"></h1>
          +            {{else}}
          +                <h1><img src="{{projectAssets}}/css/logo.png" title="{{projectName}}"></h1>
          +            {{/if}}
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: {{projectVersion}}</em>
          +        </div>
          +    </div>
          +    <div id="bd" class="yui3-g">
          +
          +        <div class="yui3-u-1-4">
          +            <div id="docs-sidebar" class="sidebar apidocs">
          +                {{>sidebar}}
          +            </div>
          +        </div>
          +        <div class="yui3-u-3-4">
          +            {{>options}}
          +            <div class="apidocs">
          +                <div id="docs-main">
          +                    <div class="content">
          +                        {{>layout_content}}
          +                    </div>
          +                </div>
          +            </div>
          +        </div>
          +    </div>
          +</div>
          +<script src="{{projectAssets}}/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="{{projectAssets}}/js/yui-prettify.js"></script>
          +<script src="{{projectAssets}}/../api.js"></script>
          +<script src="{{projectAssets}}/js/api-filter.js"></script>
          +<script src="{{projectAssets}}/js/api-list.js"></script>
          +<script src="{{projectAssets}}/js/api-search.js"></script>
          +<script src="{{projectAssets}}/js/apidocs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/xhr.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/xhr.handlebars
          new file mode 100644
          index 000000000..63a9f6b73
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/layouts/xhr.handlebars
          @@ -0,0 +1,7 @@
          +<div id="docs-main">
          +    <div class="content">
          +        {{>layout_content}}
          +    </div>
          +</div>
          +
          +<div id="xhr-title" class="hidden">{{title}}</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/attrs.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/attrs.handlebars
          new file mode 100644
          index 000000000..a9181949f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/attrs.handlebars
          @@ -0,0 +1,137 @@
          +<div id="attr_{{name}}" class="attr item{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if extended_from}} inherited{{/if}}">
          +    <a name="config_{{name}}"></a> {{! For backwards compatibility }}
          +    <h3 class="name"><code>{{name}}</code></h3>
          +    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +
          +    {{#if deprecated}}
          +        <span class="flag deprecated"{{#if deprecationMessage}} title="{{deprecationMessage}}"{{/if}}>deprecated</span>
          +    {{/if}}
          +
          +    {{#if access}}
          +        <span class="flag {{access}}">{{access}}</span>
          +    {{/if}}
          +
          +    {{#if final}}
          +        <span class="flag final">final</span>
          +    {{/if}}
          +
          +    {{#if static}}
          +        <span class="flag static">static</span>
          +    {{/if}}
          +
          +    {{#if optional}}
          +        <span class="flag optional">optional</span>
          +    {{/if}}
          +
          +    {{#if required}}
          +        <span class="flag required">required</span>
          +    {{/if}}
          +
          +    <div class="meta">
          +        {{#if overwritten_from}}
          +            <p>Inherited from
          +            <a href="{{crossLinkRaw overwritten_from/class}}#attr_{{overwritten_from/name}}">
          +                {{overwritten_from/class}}
          +            </a>
          +            {{#if foundAt}}
          +            but overwritten in
          +            {{/if}}
          +        {{else}}
          +            {{#if extended_from}}
          +                <p>Inherited from
          +                <a href="{{crossLinkRaw extended_from}}#attr_{{name}}">{{extended_from}}</a>:
          +            {{else}}
          +                {{#providedBy}}
          +                    <p>Provided by the <a href="../modules/{{.}}.html">{{.}}</a> module.</p>
          +                {{/providedBy}}
          +                <p>
          +                {{#if foundAt}}
          +                Defined in
          +                {{/if}}
          +            {{/if}}
          +        {{/if}}
          +        {{#if foundAt}}
          +        <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        {{/if}}
          +        </p>
          +
          +        {{#if deprecationMessage}}
          +            <p>Deprecated: {{deprecationMessage}}</p>
          +        {{/if}}
          +
          +        {{#if since}}
          +            <p>Available since {{since}}</p>
          +        {{/if}}
          +    </div>
          +
          +    <div class="description">
          +        {{{attrDescription}}}
          +    </div>
          +
          +    {{#if default}}
          +        <p><strong>Default:</strong> {{default}}</p>
          +    {{/if}}
          +
          +    {{#if emit}}
          +        <div class="emits box">
          +            <h4>Fires event <code>{{name}}Change</code></h4>
          +
          +            <p>
          +            Fires when the value for the configuration attribute `{{{name}}}` is
          +            changed. You can listen for the event using the `on` method if you
          +            wish to be notified before the attribute's value has changed, or
          +            using the `after` method if you wish to be notified after the
          +            attribute's value has changed.
          +            </p>
          +
          +            <div class="params">
          +                <h4>Parameters:</h4>
          +
          +                <ul class="params-list">
          +                    <li class="param">
          +                        <code class="param-name">e</code>
          +                        <span class="type">{{#crossLink "EventFacade"}}{{/crossLink}}</span>
          +
          +                        <div class="param-description">
          +                            An Event Facade object with the following
          +                            attribute-specific properties added:
          +                        </div>
          +
          +                        <ul class="params-list">
          +                            <li class="param">
          +                                <code class="param-name">prevVal</code>
          +                                <span class="type">Any</span>
          +                                <div class="param-description">The value of the attribute, prior to it being set.</div>
          +                            </li>
          +                            <li class="param">
          +                                <code class="param-name">newVal</code>
          +                                <span class="type">Any</span>
          +                                <div class="param-description">The value the attribute is to be set to.</div>
          +                            </li>
          +                            <li class="param">
          +                                <code class="param-name">attrName</code>
          +                                <span class="type">{{#crossLink "String"}}{{/crossLink}}</span>
          +                                <div class="param-description">The name of the attribute being set.</div>
          +                            </li>
          +                            <li class="param">
          +                                <code class="param-name">subAttrName</code>
          +                                <span class="type">{{#crossLink "String"}}{{/crossLink}}</span>
          +                                <div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
          +                            </li>
          +                        </ul>
          +                    </li>
          +                </ul>
          +            </div>
          +        </div>
          +    {{/if}}
          +
          +    {{#example}}
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                {{{.}}}
          +            </div>
          +        </div>
          +    {{/example}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/classes.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/classes.handlebars
          new file mode 100644
          index 000000000..eeeb4cee6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/classes.handlebars
          @@ -0,0 +1,203 @@
          +<h1>{{name}} Class</h1>
          +<div class="box meta">
          +    {{#if uses}}
          +        <div class="uses">
          +            Uses
          +            <ul class="inline commas">
          +                {{#uses}}
          +                    <li><a href="{{.}}.html">{{.}}</a></li>
          +                {{/uses}}
          +            </ul>
          +        </div>
          +    {{/if}}
          +
          +    {{#if extends}}
          +        <div class="extends">
          +            Extends {{#crossLink extends}}{{/crossLink}}
          +        </div>
          +    {{/if}}
          +
          +    {{#if foundAt}}
          +        <div class="foundat">
          +            Defined in: <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        </div>
          +    {{/if}}
          +
          +    {{#if module}}
          +        {{#if submodule}}
          +            Module: {{#crossLinkModule submodule}}{{/crossLinkModule}}<br>
          +            Parent Module: {{#crossLinkModule module}}{{/crossLinkModule}}
          +        {{else}}
          +            Module: {{#crossLinkModule module}}{{/crossLinkModule}}
          +        {{/if}}
          +    {{/if}}
          +
          +    {{#if since}}
          +        <p>Available since {{since}}</p>
          +    {{/if}}
          +</div>
          +
          +{{#if deprecated}}
          +    <div class="box deprecated">
          +        <p>
          +        {{#if deprecationMessage}}
          +            <strong>Deprecated:</strong> {{deprecationMessage}}
          +        {{else}}
          +            This class is deprecated.
          +        {{/if}}
          +        </p>
          +    </div>
          +{{/if}}
          +
          +<div class="box intro">
          +    {{{classDescription}}}
          +</div>
          +
          +{{#is_constructor}}
          +    <div class="constructor">
          +        <h2>Constructor</h2>
          +        {{>method}}
          +    </div>
          +{{/is_constructor}}
          +
          +<div id="classdocs" class="tabview">
          +    <ul class="api-class-tabs">
          +        <li class="api-class-tab index"><a href="#index">Index</a></li>
          +
          +        {{#if methods}}
          +            <li class="api-class-tab methods"><a href="#methods">Methods</a></li>
          +        {{/if}}
          +        {{#if properties}}
          +            <li class="api-class-tab properties"><a href="#properties">Properties</a></li>
          +        {{/if}}
          +        {{#if attrs}}
          +            <li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
          +        {{/if}}
          +        {{#if events}}
          +            <li class="api-class-tab events"><a href="#events">Events</a></li>
          +        {{/if}}
          +    </ul>
          +
          +    <div>
          +        <div id="index" class="api-class-tabpanel index">
          +            <h2 class="off-left">Item Index</h2>
          +
          +            {{#if methods}}
          +                <div class="index-section methods">
          +                    <h3>Methods</h3>
          +
          +                    <ul class="index-list methods{{#if extends}} extends{{/if}}">
          +                        {{#methods}}
          +                            <li class="index-item method{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if overwritten_from}} inherited{{/if}}{{#if extended_from}} inherited{{/if}}">
          +                                <a href="#method_{{name}}">{{name}}</a>
          +
          +                                {{#if static}}
          +                                    <span class="flag static">static</span>
          +                                {{/if}}
          +                                {{#if deprecated}}
          +                                    <span class="flag deprecated">deprecated</span>
          +                                {{/if}}
          +                            </li>
          +                        {{/methods}}
          +                    </ul>
          +                </div>
          +            {{/if}}
          +
          +            {{#if properties}}
          +                <div class="index-section properties">
          +                    <h3>Properties</h3>
          +
          +                    <ul class="index-list properties{{#if extends}} extends{{/if}}">
          +                        {{#properties}}
          +                            <li class="index-item property{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if overwritten_from}} inherited{{/if}}{{#if extended_from}} inherited{{/if}}">
          +                                <a href="#property_{{name}}">{{name}}</a>
          +
          +                                {{#if static}}
          +                                    <span class="flag static">static</span>
          +                                {{/if}}
          +                                {{#if deprecated}}
          +                                    <span class="flag deprecated">deprecated</span>
          +                                {{/if}}
          +                            </li>
          +                        {{/properties}}
          +                    </ul>
          +                </div>
          +            {{/if}}
          +
          +            {{#if attrs}}
          +                <div class="index-section attrs">
          +                    <h3>Attributes</h3>
          +
          +                    <ul class="index-list attrs{{#if extends}} extends{{/if}}">
          +                        {{#attrs}}
          +                            <li class="index-item attr{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if overwritten_from}} inherited{{/if}}{{#if extended_from}} inherited{{/if}}">
          +                                <a href="#attr_{{name}}">{{name}}</a>
          +                            </li>
          +                        {{/attrs}}
          +                    </ul>
          +                </div>
          +            {{/if}}
          +
          +            {{#if events}}
          +                <div class="index-section events">
          +                    <h3>Events</h3>
          +
          +                    <ul class="index-list events{{#if extends}} extends{{/if}}">
          +                        {{#events}}
          +                            <li class="index-item event{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if overwritten_from}} inherited{{/if}}{{#if extended_from}} inherited{{/if}}">
          +                                <a href="#event_{{name}}">{{name}}</a>
          +
          +                                {{#if static}}
          +                                    <span class="flag static">static</span>
          +                                {{/if}}
          +                                {{#if deprecated}}
          +                                    <span class="flag deprecated">deprecated</span>
          +                                {{/if}}
          +                            </li>
          +                        {{/events}}
          +                    </ul>
          +                </div>
          +            {{/if}}
          +        </div>
          +
          +        {{#if methods}}
          +            <div id="methods" class="api-class-tabpanel">
          +                <h2 class="off-left">Methods</h2>
          +
          +                {{#methods}}
          +                    {{>method}}
          +                {{/methods}}
          +            </div>
          +        {{/if}}
          +
          +        {{#if properties}}
          +            <div id="properties" class="api-class-tabpanel">
          +                <h2 class="off-left">Properties</h2>
          +
          +                {{#properties}}
          +                    {{>props}}
          +                {{/properties}}
          +            </div>
          +        {{/if}}
          +
          +        {{#if attrs}}
          +            <div id="attrs" class="api-class-tabpanel">
          +                <h2 class="off-left">Attributes</h2>
          +
          +                {{#attrs}}
          +                    {{>attrs}}
          +                {{/attrs}}
          +            </div>
          +        {{/if}}
          +
          +        {{#if events}}
          +            <div id="events" class="api-class-tabpanel">
          +                <h2 class="off-left">Events</h2>
          +
          +                {{#events}}
          +                    {{>events}}
          +                {{/events}}
          +            </div>
          +        {{/if}}
          +    </div>
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/events.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/events.handlebars
          new file mode 100644
          index 000000000..646323404
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/events.handlebars
          @@ -0,0 +1,131 @@
          +<div id="event_{{name}}" class="events item{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if extended_from}} inherited{{/if}}">
          +    <h3 class="name"><code>{{name}}</code></h3>
          +    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +
          +    {{#if deprecated}}
          +        <span class="flag deprecated"{{#if deprecationMessage}} title="{{deprecationMessage}}"{{/if}}>deprecated</span>
          +    {{/if}}
          +
          +    {{#if access}}
          +        <span class="flag {{access}}">{{access}}</span>
          +    {{/if}}
          +
          +    {{#if final}}
          +        <span class="flag final">final</span>
          +    {{/if}}
          +
          +    {{#if static}}
          +        <span class="flag static">static</span>
          +    {{/if}}
          +
          +    <div class="meta">
          +        {{#if overwritten_from}}
          +            <p>Inherited from
          +            <a href="{{crossLinkRaw overwritten_from/class}}#event_{{overwritten_from/name}}">
          +                {{overwritten_from/class}}
          +            </a>
          +            {{#if foundAt}}
          +            but overwritten in
          +            {{/if}}
          +        {{else}}
          +            {{#if extended_from}}
          +                <p>Inherited from
          +                <a href="{{crossLinkRaw extended_from}}#event_{{name}}">{{extended_from}}</a>:
          +            {{else}}
          +                {{#providedBy}}
          +                    <p>Provided by the <a href="../modules/{{.}}.html">{{.}}</a> module.</p>
          +                {{/providedBy}}
          +                <p>
          +                {{#if foundAt}}
          +                Defined in
          +                {{/if}}
          +            {{/if}}
          +        {{/if}}
          +        {{#if foundAt}}
          +        <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        {{/if}}
          +        </p>
          +
          +        {{#if deprecationMessage}}
          +            <p>Deprecated: {{deprecationMessage}}</p>
          +        {{/if}}
          +
          +        {{#if since}}
          +            <p>Available since {{since}}</p>
          +        {{/if}}
          +    </div>
          +
          +    <div class="description">
          +        {{{eventDescription}}}
          +    </div>
          +
          +    {{#if params}}
          +        <div class="params">
          +            <h4>Event Payload:</h4>
          +
          +            <ul class="params-list">
          +            {{#params}}
          +                <li class="param">
          +                    {{#if optional}}
          +                        <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                        <span class="flag optional" title="This parameter is optional.">optional</span>
          +                    {{else}}
          +                        <code class="param-name">{{name}}</code>
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                    {{/if}}
          +
          +                    {{#if multiple}}
          +                        <span class="flag multiple" title="This parameter may occur one or more times.">Multiple</span>
          +                    {{/if}}
          +
          +                    <div class="param-description">
          +                        {{{description}}}
          +                    </div>
          +
          +                    {{#if props}}
          +                        <ul class="params-list">
          +                            {{#props}}
          +                            <li class="param">
          +                                <code class="param-name">{{name}}</code>
          +                                <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +
          +                                <div class="param-description">
          +                                    {{{description}}}
          +                                </div>
          +
          +                                {{#if props}}
          +                                    <ul class="params-list">
          +                                        {{#props}}
          +                                        <li class="param">
          +                                            <code class="param-name">{{name}}</code>
          +                                            <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +
          +                                            <div class="param-description">
          +                                                {{{description}}}
          +                                            </div>
          +                                        </li>
          +                                        {{/props}}
          +                                    </ul>
          +                                {{/if}}
          +                            </li>
          +                            {{/props}}
          +                        </ul>
          +                    {{/if}}
          +                </li>
          +            {{/params}}
          +            </ul>
          +        </div>
          +    {{/if}}
          +
          +
          +    {{#example}}
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                {{{.}}}
          +            </div>
          +        </div>
          +    {{/example}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/files.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/files.handlebars
          new file mode 100644
          index 000000000..fccd4767b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/files.handlebars
          @@ -0,0 +1,7 @@
          +<h1 class="file-heading">File: {{fileName}}</h1>
          +
          +<div class="file">
          +    <pre class="code prettyprint linenums">
          +{{fileData}}
          +    </pre>
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/index.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/index.handlebars
          new file mode 100644
          index 000000000..29a0e85ed
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/index.handlebars
          @@ -0,0 +1,21 @@
          +    <div class="apidocs">
          +        <div id="docs-main" class="content">
          +            <p>
          +            Browse to a module or class using the sidebar to view its API documentation.
          +            </p>
          +
          +            <h2>Keyboard Shortcuts</h2>
          +
          +            <ul>
          +                <li><p>Press <kbd>s</kbd> to focus the API search box.</p></li>
          +
          +                <li><p>Use <kbd>Up</kbd> and <kbd>Down</kbd> to select classes, modules, and search results.</p></li>
          +
          +                <li class="mac-only"><p>With the API search box or sidebar focused, use <kbd><span class="cmd">&#x2318;</span>-Left</kbd> or <kbd><span class="cmd">&#x2318;</span>-Right</kbd> to switch sidebar tabs.</p></li>
          +
          +                <li class="pc-only"><p>With the API search box or sidebar focused, use <kbd>Ctrl+Left</kbd> and <kbd>Ctrl+Right</kbd> to switch sidebar tabs.</p></li>
          +            </ul>
          +        </div>
          +    </div>
          +
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/method.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/method.handlebars
          new file mode 100644
          index 000000000..3a34573fc
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/method.handlebars
          @@ -0,0 +1,193 @@
          +<div id="method_{{name}}" class="method item{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if extended_from}} inherited{{/if}}">
          +    <h3 class="name"><code>{{name}}</code></h3>
          +
          +    {{#if params}}
          +        <div class="args">
          +            <span class="paren">(</span><ul class="args-list inline commas">
          +            {{#params}}
          +                <li class="arg">
          +                    {{#if optional}}
          +                        <code class="optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                    {{else}}
          +                        <code>{{name}}</code>
          +                    {{/if}}
          +                </li>
          +            {{/params}}
          +            </ul><span class="paren">)</span>
          +        </div>
          +    {{else}}
          +        <span class="paren">()</span>
          +    {{/if}}
          +
          +    {{#if return}}
          +        <span class="returns-inline">
          +            <span class="type">{{#crossLink returnType}}{{/crossLink}}</span>
          +        </span>
          +    {{/if}}
          +
          +    {{#if deprecated}}
          +        <span class="flag deprecated"{{#if deprecationMessage}} title="{{deprecationMessage}}"{{/if}}>deprecated</span>
          +    {{/if}}
          +
          +    {{#if access}}
          +        <span class="flag {{access}}">{{access}}</span>
          +    {{/if}}
          +
          +    {{#if final}}
          +        <span class="flag final">final</span>
          +    {{/if}}
          +
          +    {{#if static}}
          +        <span class="flag static">static</span>
          +    {{/if}}
          +
          +    {{#if chainable}}
          +        <span class="flag chainable">chainable</span>
          +    {{/if}}
          +
          +    {{#if async}}
          +        <span class="flag async">async</span>
          +    {{/if}}
          +
          +    <div class="meta">
          +        {{#if overwritten_from}}
          +            <p>Inherited from
          +            <a href="{{crossLinkRaw overwritten_from/class}}#method_{{overwritten_from/name}}">
          +                {{overwritten_from/class}}
          +            </a>
          +            {{#if foundAt}}
          +            but overwritten in
          +            {{/if}}
          +        {{else}}
          +            {{#if extended_from}}
          +                <p>Inherited from
          +                <a href="{{crossLinkRaw extended_from}}#method_{{name}}">{{extended_from}}</a>:
          +            {{else}}
          +                {{#providedBy}}
          +                    <p>Provided by the <a href="../modules/{{.}}.html">{{.}}</a> module.</p>
          +                {{/providedBy}}
          +                <p>
          +                {{#if foundAt}}
          +                Defined in
          +                {{/if}}
          +            {{/if}}
          +        {{/if}}
          +        {{#if foundAt}}
          +        <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        {{/if}}
          +        </p>
          +
          +
          +        {{#if deprecationMessage}}
          +            <p>Deprecated: {{deprecationMessage}}</p>
          +        {{/if}}
          +
          +        {{#if since}}
          +            <p>Available since {{since}}</p>
          +        {{/if}}
          +    </div>
          +
          +    <div class="description">
          +        {{{methodDescription}}}
          +    </div>
          +
          +    {{#if params}}
          +        <div class="params">
          +            <h4>Parameters:</h4>
          +
          +            <ul class="params-list">
          +            {{#params}}
          +                <li class="param">
          +                    {{#if optional}}
          +                        <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                        <span class="flag optional" title="This parameter is optional.">optional</span>
          +                    {{else}}
          +                        <code class="param-name">{{name}}</code>
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                    {{/if}}
          +
          +                    {{#if multiple}}
          +                        <span class="flag multiple" title="This argument may occur one or more times.">multiple</span>
          +                    {{/if}}
          +
          +                    <div class="param-description">
          +                        {{{description}}}
          +                    </div>
          +
          +                    {{#if props}}
          +                        <ul class="params-list">
          +                            {{#props}}
          +                            <li class="param">
          +                                {{#if optional}}
          +                                    <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                                    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                                    <span class="flag optional" title="This parameter is optional.">optional</span>
          +                                {{else}}
          +                                    <code class="param-name">{{name}}</code>
          +                                    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                                {{/if}}
          +
          +                                <div class="param-description">
          +                                    {{{description}}}
          +                                </div>
          +
          +                                {{#if props}}
          +                                    <ul class="params-list">
          +                                        {{#props}}
          +                                        <li class="param">
          +                                            {{#if optional}}
          +                                                <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                                                <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                                                <span class="flag optional" title="This parameter is optional.">optional</span>
          +                                            {{else}}
          +                                                <code class="param-name">{{name}}</code>
          +                                                <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                                            {{/if}}
          +
          +                                            <div class="param-description">
          +                                                {{{description}}}
          +                                            </div>
          +                                        </li>
          +                                        {{/props}}
          +                                    </ul>
          +                                {{/if}}
          +                            </li>
          +                            {{/props}}
          +                        </ul>
          +                    {{/if}}
          +                </li>
          +            {{/params}}
          +            </ul>
          +        </div>
          +    {{/if}}
          +
          +    {{#return}}
          +        <div class="returns">
          +            <h4>Returns:</h4>
          +
          +            <div class="returns-description">
          +                {{#if description}}
          +                    {{#if type}}
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>:
          +                    {{/if}}
          +                    {{{description}}}
          +                {{else}}
          +                    {{#if type}}
          +                        <span class="type">{{#crossLink type}}{{/crossLink}}</span>:
          +                    {{/if}}
          +                {{/if}}
          +            </div>
          +        </div>
          +    {{/return}}
          +
          +    {{#example}}
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                {{{.}}}
          +            </div>
          +        </div>
          +    {{/example}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/module.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/module.handlebars
          new file mode 100644
          index 000000000..190007f70
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/module.handlebars
          @@ -0,0 +1,92 @@
          +<h1>{{name}} Module</h1>
          +<div class="box clearfix meta">
          +    {{#extra}}
          +        {{#selleck}}
          +            <a class="button link-docs" href="/yui/docs/{{name}}">User Guide &amp; Examples</a>
          +        {{/selleck}}
          +    {{/extra}}
          +
          +    {{#if requires}}
          +        <div class="uses">
          +            Requires
          +            <ul class="inline commas">
          +                {{#requires}}
          +                    <li>{{#crossLinkModule .}}{{/crossLinkModule}}</li>
          +                {{/requires}}
          +            </ul>
          +        </div>
          +    {{/if}}
          +
          +    {{#if foundAt}}
          +        <div class="foundat">
          +            Defined in: <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        </div>
          +    {{/if}}
          +
          +    {{#if since}}
          +        <p>Available since {{since}}</p>
          +    {{/if}}
          +</div>
          +
          +{{#if deprecated}}
          +    <div class="box deprecated">
          +        <p>
          +        {{#if deprecationMessage}}
          +            <strong>Deprecated:</strong> {{deprecationMessage}}
          +        {{else}}
          +            This module is deprecated.
          +        {{/if}}
          +        </p>
          +    </div>
          +{{/if}}
          +
          +<div class="box intro">
          +    {{{moduleDescription}}}
          +</div>
          +
          +{{#example}}
          +    <div class="example">
          +        <h4>Example:</h4>
          +        <div class="example-content">
          +            {{{.}}}
          +        </div>
          +    </div>
          +{{/example}}
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        {{#if moduleClasses}}
          +            <p>This module provides the following classes:</p>
          +
          +            <ul class="module-classes">
          +            {{#moduleClasses}}
          +                <li class="module-class">
          +                    <a href="{{../projectRoot}}classes/{{name}}.html">
          +                        {{displayName}}
          +                    </a>
          +                </li>
          +            {{/moduleClasses}}
          +            </ul>
          +        {{/if}}
          +    </div>
          +
          +    <div class="yui3-u-1-2">
          +        {{#if subModules}}
          +            <p>This module is a rollup of the following modules:</p>
          +
          +            <ul class="module-submodules">
          +            {{#subModules}}
          +                <li class="module-submodule">
          +                    <a href="{{../projectRoot}}modules/{{name}}.html">
          +                        {{displayName}}
          +                    </a>
          +
          +                    <div class="module-submodule-description">
          +                        {{{description}}}
          +                    </div>
          +                </li>
          +            {{/subModules}}
          +            </ul>
          +        {{/if}}
          +    </div>
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/options.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/options.handlebars
          new file mode 100644
          index 000000000..2b26210a2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/options.handlebars
          @@ -0,0 +1,23 @@
          +    <div id="api-options">
          +        Show:
          +        <label for="api-show-inherited">
          +            <input type="checkbox" id="api-show-inherited" checked>
          +            Inherited
          +        </label>
          +
          +        <label for="api-show-protected">
          +            <input type="checkbox" id="api-show-protected">
          +            Protected
          +        </label>
          +
          +        <label for="api-show-private">
          +            <input type="checkbox" id="api-show-private">
          +            Private
          +        </label>
          +        <label for="api-show-deprecated">
          +            <input type="checkbox" id="api-show-deprecated">
          +            Deprecated
          +        </label>
          +
          +    </div>
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/props.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/props.handlebars
          new file mode 100644
          index 000000000..696e7209d
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/props.handlebars
          @@ -0,0 +1,119 @@
          +<div id="property_{{name}}" class="property item{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if extended_from}} inherited{{/if}}">
          +    <h3 class="name"><code>{{name}}</code></h3>
          +    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +
          +    {{#if deprecated}}
          +        <span class="flag deprecated"{{#if deprecationMessage}} title="{{deprecationMessage}}"{{/if}}>deprecated</span>
          +    {{/if}}
          +
          +    {{#if access}}
          +        <span class="flag {{access}}">{{access}}</span>
          +    {{/if}}
          +
          +    {{#if final}}
          +        <span class="flag final">final</span>
          +    {{/if}}
          +
          +    {{#if static}}
          +        <span class="flag static">static</span>
          +    {{/if}}
          +
          +    <div class="meta">
          +        {{#if overwritten_from}}
          +            <p>Inherited from
          +            <a href="{{crossLinkRaw overwritten_from/class}}#property_{{overwritten_from/name}}">
          +                {{overwritten_from/class}}
          +            </a>
          +            {{#if foundAt}}
          +            but overwritten in
          +            {{/if}}
          +        {{else}}
          +            {{#if extended_from}}
          +                <p>Inherited from
          +                <a href="{{crossLinkRaw extended_from}}#property_{{name}}">{{extended_from}}</a>:
          +            {{else}}
          +                {{#providedBy}}
          +                    <p>Provided by the <a href="../modules/{{.}}.html">{{.}}</a> module.</p>
          +                {{/providedBy}}
          +                <p>
          +                {{#if foundAt}}
          +                Defined in
          +                {{/if}}
          +            {{/if}}
          +        {{/if}}
          +        {{#if foundAt}}
          +        <a href="{{foundAt}}">`{{{file}}}:{{{line}}}`</a>
          +        {{/if}}
          +        </p>
          +
          +        {{#if deprecationMessage}}
          +            <p>Deprecated: {{deprecationMessage}}</p>
          +        {{/if}}
          +
          +        {{#if since}}
          +            <p>Available since {{since}}</p>
          +        {{/if}}
          +    </div>
          +
          +    <div class="description">
          +        {{{propertyDescription}}}
          +    </div>
          +
          +    {{#if default}}
          +        <p><strong>Default:</strong> {{default}}</p>
          +    {{/if}}
          +
          +    {{#example}}
          +        <div class="example">
          +            <h4>Example:</h4>
          +
          +            <div class="example-content">
          +                {{{.}}}
          +            </div>
          +        </div>
          +    {{/example}}
          +
          +    {{#if subprops}}
          +        <h4>Sub-properties:</h4>
          +
          +        <ul class="params-list">
          +            {{#subprops}}
          +            <li class="param">
          +                {{#if optional}}
          +                    <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                    <span class="flag optional" title="This property is optional.">optional</span>
          +                {{else}}
          +                    <code class="param-name">{{name}}</code>
          +                    <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                {{/if}}
          +
          +                <div class="param-description">
          +                    {{{description}}}
          +                </div>
          +
          +                {{#if subprops}}
          +                    <ul class="params-list">
          +                        {{#subprops}}
          +                        <li class="param">
          +                            {{#if optional}}
          +                                <code class="param-name optional">[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]</code>
          +                                <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                                <span class="flag optional" title="This property is optional.">optional</span>
          +                            {{else}}
          +                                <code class="param-name">{{name}}</code>
          +                                <span class="type">{{#crossLink type}}{{/crossLink}}</span>
          +                            {{/if}}
          +
          +                            <div class="param-description">
          +                                {{{description}}}
          +                            </div>
          +                        </li>
          +                        {{/subprops}}
          +                    </ul>
          +                {{/if}}
          +            </li>
          +            {{/subprops}}
          +        </ul>
          +    {{/if}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/sidebar.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/sidebar.handlebars
          new file mode 100644
          index 000000000..a8500c512
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/partials/sidebar.handlebars
          @@ -0,0 +1,27 @@
          +<div id="api-list">
          +    <h2 class="off-left">APIs</h2>
          +    <div id="api-tabview" class="tabview">
          +        <ul class="tabs">
          +            <li><a href="#api-classes">Classes</a></li>
          +            <li><a href="#api-modules">Modules</a></li>
          +        </ul>
          +
          +        <div id="api-tabview-filter">
          +            <input type="search" id="api-filter" placeholder="Type to filter APIs">
          +        </div>
          +
          +        <div id="api-tabview-panel">
          +            <ul id="api-classes" class="apis classes">
          +            {{#classes}}
          +                <li><a href="{{../projectRoot}}classes/{{name}}.html">{{displayName}}</a></li>
          +            {{/classes}}
          +            </ul>
          +
          +            <ul id="api-modules" class="apis modules">
          +            {{#allModules}}
          +                <li><a href="{{../projectRoot}}modules/{{name}}.html">{{displayName}}</a></li>
          +            {{/allModules}}
          +            </ul>
          +        </div>
          +    </div>
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/theme.json b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/theme.json
          new file mode 100644
          index 000000000..1eb5edc7b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/default/theme.json
          @@ -0,0 +1,4 @@
          +{
          +    "yuiGridsUrl": "http://yui.yahooapis.com/3.5.1/build/cssgrids/cssgrids-min.css",
          +    "yuiSeedUrl": "http://yui.yahooapis.com/combo?3.5.1/build/yui/yui-min.js"
          +}
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/external-small.png b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/external-small.png
          new file mode 100644
          index 000000000..759a1cdcb
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/external-small.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/logo.png b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/logo.png
          new file mode 100644
          index 000000000..609b336c7
          Binary files /dev/null and b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/logo.png differ
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/main.css b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/main.css
          new file mode 100644
          index 000000000..5b6e4db88
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/css/main.css
          @@ -0,0 +1,429 @@
          +/*
          +Font sizes for all selectors other than the body are given in percentages,
          +with 100% equal to 13px. To calculate a font size percentage, multiply the
          +desired size in pixels by 7.6923076923.
          +
          +Here's a quick lookup table:
          +
          +10px - 76.923%
          +11px - 84.615%
          +12px - 92.308%
          +13px - 100%
          +14px - 107.692%
          +15px - 115.385%
          +16px - 123.077%
          +17px - 130.769%
          +18px - 138.462%
          +19px - 146.154%
          +20px - 153.846%
          +*/
          +
          +html {
          +    background: #fff;
          +    color: #333;
          +    overflow-y: scroll;
          +}
          +
          +body {
          +    font: 13px/1.4 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', 'Bitstream Vera Sans', 'Helvetica', 'Arial', sans-serif;
          +    margin: 0;
          +    padding: 0;
          +}
          +
          +/* -- Links ----------------------------------------------------------------- */
          +a {
          +    color: #356de4;
          +    text-decoration: none;
          +}
          +
          +a:hover { text-decoration: underline; }
          +
          +/* "Jump to Table of Contents" link is shown to assistive tools, but hidden from
          +   sight until it's focused. */
          +.jump {
          +    position: absolute;
          +    padding: 3px 6px;
          +    left: -99999px;
          +    top: 0;
          +}
          +
          +.jump:focus { left: 40%; }
          +
          +/* -- Paragraphs ------------------------------------------------------------ */
          +p { margin: 1.3em 0; }
          +dd p, td p { margin-bottom: 0; }
          +dd p:first-child, td p:first-child { margin-top: 0; }
          +
          +/* -- Headings -------------------------------------------------------------- */
          +h1, h2, h3, h4, h5, h6 {
          +    color: #D98527;/*was #f80*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.1;
          +    margin: 1.1em 0 0.5em;
          +}
          +
          +h1 {
          +    font-size: 184.6%;
          +    color: #30418C;
          +    margin: 0.75em 0 0.5em;
          +}
          +
          +h2 {
          +    font-size: 153.846%;
          +    color: #E48A2B;
          +}
          +
          +h3 { font-size: 138.462%; }
          +
          +h4 {
          +    border-bottom: 1px solid #DBDFEA;
          +    color: #E48A2B;
          +    font-size: 115.385%;
          +    font-weight: normal;
          +    padding-bottom: 2px;
          +}
          +
          +h5, h6 { font-size: 107.692%; }
          +
          +/* -- Code and examples ----------------------------------------------------- */
          +code, kbd, pre, samp {
          +    font-family: Menlo, Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;
          +    font-size: 92.308%;
          +    line-height: 1.35;
          +}
          +
          +p code, p kbd, p samp {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    padding: 0 3px;
          +}
          +
          +a code, a kbd, a samp,
          +pre code, pre kbd, pre samp,
          +table code, table kbd, table samp,
          +.intro code, .intro kbd, .intro samp,
          +.toc code, .toc kbd, .toc samp {
          +    background: none;
          +    border: none;
          +    padding: 0;
          +}
          +
          +pre.code, pre.terminal, pre.cmd {
          +    overflow-x: auto;
          +    *overflow-x: scroll;
          +    padding: 0.3em 0.6em;
          +}
          +
          +pre.code {
          +    background: #FCFBFA;
          +    border: 1px solid #EFEEED;
          +    border-left-width: 5px;
          +}
          +
          +pre.terminal, pre.cmd {
          +    background: #F0EFFC;
          +    border: 1px solid #D0CBFB;
          +    border-left: 5px solid #D0CBFB;
          +}
          +
          +/* Don't reduce the font size of <code>/<kbd>/<samp> elements inside <pre>
          +   blocks. */
          +pre code, pre kbd, pre samp { font-size: 100%; }
          +
          +/* Used to denote text that shouldn't be selectable, such as line numbers or
          +   shell prompts. Guess which browser this doesn't work in. */
          +.noselect {
          +    -moz-user-select: -moz-none;
          +    -khtml-user-select: none;
          +    -webkit-user-select: none;
          +    -o-user-select: none;
          +    user-select: none;
          +}
          +
          +/* -- Lists ----------------------------------------------------------------- */
          +dd { margin: 0.2em 0 0.7em 1em; }
          +dl { margin: 1em 0; }
          +dt { font-weight: bold; }
          +
          +/* -- Tables ---------------------------------------------------------------- */
          +caption, th { text-align: left; }
          +
          +table {
          +    border-collapse: collapse;
          +    width: 100%;
          +}
          +
          +td, th {
          +    border: 1px solid #fff;
          +    padding: 5px 12px;
          +    vertical-align: top;
          +}
          +
          +td { background: #E6E9F5; }
          +td dl { margin: 0; }
          +td dl dl { margin: 1em 0; }
          +td pre:first-child { margin-top: 0; }
          +
          +th {
          +    background: #D2D7E6;/*#97A0BF*/
          +    border-bottom: none;
          +    border-top: none;
          +    color: #000;/*#FFF1D5*/
          +    font-family: 'Trebuchet MS', sans-serif;
          +    font-weight: bold;
          +    line-height: 1.3;
          +    white-space: nowrap;
          +}
          +
          +
          +/* -- Layout and Content ---------------------------------------------------- */
          +#doc {
          +    margin: auto;
          +    min-width: 1024px;
          +}
          +
          +#main { width: 754px; }
          +#sidebar { width: 270px; margin: 0 15px; }
          +
          +.content { padding: 0 20px 0 25px; }
          +
          +/* -- Sidebar --------------------------------------------------------------- */
          +.sidebox {
          +    background: #F9F9FC;/*E6E9F5*/
          +    border: 1px solid #D4D8EB;
          +
          +    -moz-border-radius: 4px;
          +    -webkit-border-radius: 4px;
          +    border-radius: 4px;
          +    -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
          +    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
          +    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
          +    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'Helvetica', 'Arial', sans-serif;
          +    margin: 0 0 15px 0;
          +    padding-bottom: 1px;
          +}
          +
          +.sidebox h2 {
          +    background: #E5E6F1;
          +    -moz-border-radius: 4px 4px 0 0;
          +    -webkit-border-radius: 4px 4px 0 0;
          +    border-radius: 4px 4px 0 0;
          +    color: #5E6BA4;
          +    font-weight: bold;
          +    font-size: 107.692%;
          +    margin: 0;
          +    padding: 4px 7px 5px;
          +}
          +
          +.sidebox .bd {
          +    font-size: 84.615%;
          +    padding: 0 5px 0 8px;
          +}
          +
          +.sidebox li { list-style-type: disc; color:#D4D5E3; }
          +
          +.sidebox ol, .sidebox ul {
          +    margin-left: 0;
          +    padding-left: 16px;
          +}
          +
          +.sidebox ol ol, .sidebox ol ul,
          +.sidebox ul ol, .sidebox ul ul {
          +    margin: 0;
          +    padding-left: 16px;
          +}
          +
          +/* -- Table of Contents ----------------------------------------------------- */
          +
          +/* The #toc id refers to the single global table of contents, while the .toc
          +   class refers to generic TOC lists that could be used throughout the page. */
          +
          +.toc code, .toc kbd, .toc samp { font-size: 100%; }
          +.toc li { font-weight: bold; }
          +.toc li li { font-weight: normal; }
          +
          +/* -- Intro and Example Boxes ----------------------------------------------- */
          +.intro, .example { margin-bottom: 2em; }
          +
          +.example {
          +    -moz-border-radius: 4px;
          +    -webkit-border-radius: 4px;
          +    border-radius: 4px;
          +    -moz-box-shadow: 0 0 5px #bfbfbf;
          +    -webkit-box-shadow: 0 0 5px #bfbfbf;
          +    box-shadow: 0 0 5px #bfbfbf;
          +    padding: 1em;
          +}
          +
          +.intro {
          +    background: none repeat scroll 0 0 #F0F1F8; border: 1px solid #D4D8EB; padding: 0 1em;
          +}
          +
          +/* -- Other Styles ---------------------------------------------------------- */
          +
          +/* These are probably YUI-specific, and should be moved out of Selleck's default
          +   theme. */
          +
          +.button {
          +    border: 1px solid #dadada;
          +    -moz-border-radius: 3px;
          +    -webkit-border-radius: 3px;
          +    border-radius: 3px;
          +    color: #444;
          +    display: inline-block;
          +    font-family: Helvetica, Arial, sans-serif;
          +    font-size: 92.308%;
          +    font-weight: bold;
          +    padding: 4px 13px 3px;
          +    -moz-text-shadow: 1px 1px 0 #fff;
          +    -webkit-text-shadow: 1px 1px 0 #fff;
          +    text-shadow: 1px 1px 0 #fff;
          +    white-space: nowrap;
          +
          +    background: #EFEFEF; /* old browsers */
          +    background: -moz-linear-gradient(top, #f5f5f5 0%, #efefef 50%, #e5e5e5 51%, #dfdfdf 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(50%,#efefef), color-stop(51%,#e5e5e5), color-stop(100%,#dfdfdf)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#dfdfdf',GradientType=0 ); /* ie */
          +}
          +
          +.button:hover {
          +    border-color: #466899;
          +    color: #fff;
          +    text-decoration: none;
          +    -moz-text-shadow: 1px 1px 0 #222;
          +    -webkit-text-shadow: 1px 1px 0 #222;
          +    text-shadow: 1px 1px 0 #222;
          +
          +    background: #6396D8; /* old browsers */
          +    background: -moz-linear-gradient(top, #6396D8 0%, #5A83BC 50%, #547AB7 51%, #466899 100%); /* firefox */
          +    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6396D8), color-stop(50%,#5A83BC), color-stop(51%,#547AB7), color-stop(100%,#466899)); /* webkit */
          +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6396D8', endColorstr='#466899',GradientType=0 ); /* ie */
          +}
          +
          +.newwindow { text-align: center; }
          +
          +.header .version em {
          +    display: block;
          +    text-align: right;
          +}
          +
          +.yui3-skin-sam #classdocs .yui3-tabview-panel {
          +    background-color: transparent;
          +}
          +
          +.yui3-skin-sam #classdocs .yui3-tabview-panel {
          +    border: none;
          +}
          +
          +.yui3-skin-sam .yui3-tabview .yui3-tab,
          +.yui3-skin-sam .yui3-tabview .yui3-tab-selected,
          +.yui3-skin-sam .yui3-tabview .yui3-tab-hover {
          +    background: -moz-linear-gradient(center top , #F4F0EC 0%, #D6D2CE 100%) repeat scroll 0 0 transparent;
          +    border-bottom: 1px solid #DEDCD9;
          +    border-right: 1px solid #CDCBC8;
          +    border-left: 1px solid #CDCBC8;
          +    border-top: 1px solid #DADADA;
          +    color: #333333;
          +    text-decoration: none;
          +}
          +.yui3-skin-sam .yui3-tabview .yui3-tab-label,
          +.yui3-skin-sam .yui3-tabview .yui3-tab-selected .yui3-tab-label {
          +    border: none;
          +    background: none;
          +    font-size: 100%;
          +    color: #000;
          +}
          +
          +.yui3-skin-sam .yui3-tabview .yui3-tab-selected,
          +.yui3-skin-sam .yui3-tabview .yui3-tab-hover {
          +    background: none;
          +    background-color: #fff;
          +    border-bottom-color: #FFFFFF;
          +    border-top: 2px solid #8193C9;
          +    font-weight: bold;
          +    color: #000;
          +
          +}
          +
          +.yui3-skin-sam .yui3-tabview-list {
          +    border-color: #DFDFDF;
          +    border-width: 0 0 1px; 
          +}
          +
          +
          +a.external {
          +    background-image: url(external-small.png);
          +    background-repeat: no-repeat;
          +    background-position: 0 0;
          +    padding-left: 16px;
          +}
          +
          +#classdocs .item {
          +    border-bottom: 1px solid #466899;
          +    margin: 1em 0;
          +    padding: 1.5em;
          +}
          +
          +#classdocs .item .params p,
          +    #classdocs .item .returns p,{
          +    display: inline;
          +}
          +
          +#classdocs .item em code, #classdocs .item em.comment {
          +    color: green;
          +}
          +
          +#classdocs .item em.comment a {
          +    color: green;
          +    text-decoration: underline;
          +}
          +
          +#classdocs .foundat {
          +    font-size: 11px;
          +    font-style: normal;
          +}
          +
          +.attrs .emits {
          +    margin-left: 2em;
          +    padding: .5em;
          +    border-left: 1px dashed #ccc;
          +}
          +
          +abbr {
          +    border-bottom: 1px dashed #ccc;
          +    font-size: 80%;
          +    cursor: help;
          +}
          +
          +.prettyprint li.L0, 
          +.prettyprint li.L1, 
          +.prettyprint li.L2, 
          +.prettyprint li.L3, 
          +.prettyprint li.L5, 
          +.prettyprint li.L6, 
          +.prettyprint li.L7, 
          +.prettyprint li.L8 {
          +    list-style: decimal;
          +}
          +
          +ul li p {
          +    margin-top: 0;
          +}
          +
          +.method .name {
          +    font-size: 110%;
          +}
          +
          +#hd {
          +    background: -moz-linear-gradient(center top , #DCDBD9 0%, #F6F5F3 100%) repeat scroll 0 0 transparent;
          +    border-bottom: 1px solid #DFDFDF;
          +    padding: 0 15px 1px 20px;
          +    margin-bottom: 15px;
          +}
          +
          +#hd img {
          +    margin-right: 10px;
          +    vertical-align: middle;
          +}
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/tabs.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/tabs.js
          new file mode 100644
          index 000000000..77ab37c7f
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/tabs.js
          @@ -0,0 +1,38 @@
          +YUI({
          +    insertBefore: 'site_styles'
          +}).use('tabview', function(Y) {
          +    var classdocs = Y.one('#classdocs'),
          +        tabviewIndexTable = {};
          +    if (classdocs) {
          +        if (classdocs.all('li').size()) {
          +            var tabview = new Y.TabView({ srcNode: classdocs });
          +            tabview.render();
          +			classdocs.all('li a').each(function (item, index) {
          +				var hash = item.get(['hash']);
          +					type = hash.substring(1);
          +				if (!tabviewIndexTable[type]) {
          +					tabviewIndexTable[type] = index;
          +				}
          +			})
          +			Y.all('.sidebox.on-page').each(function (item, index) {
          +				var children = item.all('li a');
          +				children.each(function (cItem, cIndex) {
          +					return function () {
          +						var handleClick = function (e) {
          +							var node      = Y.one(this),
          +								hash      = node.get(['hash']),
          +								hashValue = hash.substring(1).split('_'),
          +								type      = hashValue.shift(),
          +								ogKey     = hashValue.join('_'); // in case the hash had other underscores
          +							if (tabviewIndexTable[type] > -1 && tabviewIndexTable[type] !== currentTab) {
          +								currentTab = tabviewIndexTable[type];
          +								tabview.selectChild(tabviewIndexTable[type]);
          +							}
          +						}
          +						Y.on('click', handleClick, cItem)
          +					}()
          +				})
          +			});
          +        }
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/yui-prettify.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/yui-prettify.js
          new file mode 100644
          index 000000000..18de86495
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/js/yui-prettify.js
          @@ -0,0 +1,17 @@
          +YUI().use('node', function(Y) {
          +    var code = Y.all('.prettyprint.linenums');
          +    if (code.size()) {
          +        code.each(function(c) {
          +            var lis = c.all('ol li'),
          +                l = 1;
          +            lis.each(function(n) {
          +                n.prepend('<a name="LINENUM_' + l + '"></a>');
          +                l++;
          +            });
          +        });
          +        var h = location.hash;
          +        location.hash = '';
          +        h = h.replace('LINE_', 'LINENUM_');
          +        location.hash = h;
          +    }
          +});
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/CHANGES.html b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/CHANGES.html
          new file mode 100644
          index 000000000..b50b84149
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/CHANGES.html
          @@ -0,0 +1,130 @@
          +<html>
          +  <head>
          +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          +    <title>Change Log</title>
          +  </head>
          +  <body bgcolor="white">
          +    <a style="float:right" href="README.html">README</a>
          +
          +    <h1>Known Issues</h1>
          +    <ul>
          +      <li>Perl formatting is really crappy.  Partly because the author is lazy and
          +      partly because Perl is
          +      <a href="http://www.perlmonks.org/?node_id=663393">hard</a> to parse.
          +      <li>On some browsers, <code>&lt;code&gt;</code> elements with newlines in the text
          +      which use CSS to specify <code>white-space:pre</code> will have the newlines
          +      improperly stripped if the element is not attached to the document at the time
          +      the stripping is done.  Also, on IE 6, all newlines will be stripped from
          +      <code>&lt;code&gt;</code> elements because of the way IE6 produces
          +      <code>innerHTML</code>.  Workaround: use <code>&lt;pre&gt;</code> for code with
          +      newlines.
          +    </ul>
          +
          +    <h1>Change Log</h1>
          +    <h2>29 March 2007</h2>
          +    <ul>
          +      <li>Added <a href="tests/prettify_test.html#PHP">tests</a> for PHP support
          +        to address 
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=3"
          +       >issue 3</a>.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=6"
          +       >bug</a>: <code>prettyPrintOne</code> was not halting.  This was not
          +        reachable through the normal entry point.
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >bug</a>: recursing into a script block or PHP tag that was not properly
          +        closed would not silently drop the content.
          +        (<a href="tests/prettify_test.html#issue4">test</a>)
          +      <li>Fixed
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=8"
          +       >bug</a>: was eating tabs
          +        (<a href="tests/prettify_test.html#issue8">test</a>)
          +      <li>Fixed entity handling so that the caveat
          +        <blockquote>
          +          <p>Caveats: please properly escape less-thans.  <tt>x&amp;lt;y</tt>
          +          instead of <tt>x&lt;y</tt>, and use <tt>&quot;</tt> instead of 
          +          <tt>&amp;quot;</tt> for string delimiters.</p>
          +        </blockquote>
          +        is no longer applicable.
          +      <li>Added noisefree's C#
          +      <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=4"
          +       >patch</a>
          +      <li>Added a <a href="http://google-code-prettify.googlecode.com/files/prettify-small.zip">distribution</a> that has comments and
          +        whitespace removed to reduce download size from 45.5kB to 12.8kB.
          +    </ul>
          +    <h2>4 Jul 2008</h2>
          +    <ul>
          +      <li>Added <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=17">language specific formatters</a> that are triggered by the presence
          +      of a <code>lang-&lt;language-file-extension&gt;</code></li>
          +      <li>Fixed <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=29">bug</a>: python handling of <code>'''string'''</code>
          +      <li>Fixed bug: <code>/</code> in regex <code>[charsets] should not end regex</code>
          +    </ul>
          +    <h2>5 Jul 2008</h2>
          +    <ul>
          +      <li>Defined language extensions for Lisp and Lua</code>
          +    </ul>
          +    <h2>14 Jul 2008</h2>
          +    <ul>
          +      <li>Language handlers for F#, OCAML, SQL</code>
          +      <li>Support for <code>nocode</code> spans to allow embedding of line
          +      numbers and code annotations which should not be styled or otherwise
          +      affect the tokenization of prettified code.
          +      See the issue 22
          +      <a href="tests/prettify_test.html#issue22">testcase</a>.</code>
          +    </ul>
          +    <h2>6 Jan 2009</h2>
          +    <ul>
          +      <li>Language handlers for Visual Basic, Haskell, CSS, and WikiText</li>
          +      <li>Added <tt>.mxml</tt> extension to the markup style handler for
          +        Flex <a href="http://en.wikipedia.org/wiki/MXML">MXML files</a>.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=37"
          +        >issue 37</a>.
          +      <li>Added <tt>.m</tt> extension to the C style handler so that Objective
          +        C source files properly highlight.  See
          +        <a
          +        href="http://code.google.com/p/google-code-prettify/issues/detail?id=58"
          +       >issue 58</a>.
          +      <li>Changed HTML lexer to use the same embedded source mechanism as the
          +        wiki language handler, and changed to use the registered
          +        CSS handler for STYLE element content.
          +    </ul>
          +    <h2>21 May 2009</h2>
          +    <ul>
          +      <li>Rewrote to improve performance on large files.
          +        See <a href="http://mikesamuel.blogspot.com/2009/05/efficient-parsing-in-javascript.html">benchmarks</a>.</li>
          +      <li>Fixed bugs with highlighting of Haskell line comments, Lisp
          +        number literals, Lua strings, C preprocessor directives,
          +        newlines in Wiki code on Windows, and newlines in IE6.</li>
          +    </ul>
          +    <h2>14 August 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of <code>&lt;code&gt;</code> blocks with embedded newlines.
          +    </ul>
          +    <h2>3 October 2009</h2>
          +    <ul>
          +      <li>Fixed prettifying of XML/HTML tags that contain uppercase letters.
          +    </ul>
          +    <h2>19 July 2010</h2>
          +    <ul>
          +      <li>Added support for line numbers.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=22"
          +         >22</a></li>
          +      <li>Added YAML support.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=123"
          +         >123</a></li>
          +      <li>Added VHDL support courtesy Le Poussin.</li>
          +      <li>IE performance improvements.  Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=102"
          +         >102</a> courtesy jacobly.</li>
          +      <li>A variety of markup formatting fixes courtesy smain and thezbyg.</li>
          +      <li>Fixed copy and paste in IE[678].
          +      <li>Changed output to use <code>&amp;#160;</code> instead of
          +        <code>&amp;nbsp;</code> so that the output works when embedded in XML.
          +        Bug
          +        <a href="http://code.google.com/p/google-code-prettify/issues/detail?id=108"
          +         >108</a>.</li>
          +    </ul>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/COPYING b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/COPYING
          new file mode 100644
          index 000000000..d64569567
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/COPYING
          @@ -0,0 +1,202 @@
          +
          +                                 Apache License
          +                           Version 2.0, January 2004
          +                        http://www.apache.org/licenses/
          +
          +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
          +
          +   1. Definitions.
          +
          +      "License" shall mean the terms and conditions for use, reproduction,
          +      and distribution as defined by Sections 1 through 9 of this document.
          +
          +      "Licensor" shall mean the copyright owner or entity authorized by
          +      the copyright owner that is granting the License.
          +
          +      "Legal Entity" shall mean the union of the acting entity and all
          +      other entities that control, are controlled by, or are under common
          +      control with that entity. For the purposes of this definition,
          +      "control" means (i) the power, direct or indirect, to cause the
          +      direction or management of such entity, whether by contract or
          +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
          +      outstanding shares, or (iii) beneficial ownership of such entity.
          +
          +      "You" (or "Your") shall mean an individual or Legal Entity
          +      exercising permissions granted by this License.
          +
          +      "Source" form shall mean the preferred form for making modifications,
          +      including but not limited to software source code, documentation
          +      source, and configuration files.
          +
          +      "Object" form shall mean any form resulting from mechanical
          +      transformation or translation of a Source form, including but
          +      not limited to compiled object code, generated documentation,
          +      and conversions to other media types.
          +
          +      "Work" shall mean the work of authorship, whether in Source or
          +      Object form, made available under the License, as indicated by a
          +      copyright notice that is included in or attached to the work
          +      (an example is provided in the Appendix below).
          +
          +      "Derivative Works" shall mean any work, whether in Source or Object
          +      form, that is based on (or derived from) the Work and for which the
          +      editorial revisions, annotations, elaborations, or other modifications
          +      represent, as a whole, an original work of authorship. For the purposes
          +      of this License, Derivative Works shall not include works that remain
          +      separable from, or merely link (or bind by name) to the interfaces of,
          +      the Work and Derivative Works thereof.
          +
          +      "Contribution" shall mean any work of authorship, including
          +      the original version of the Work and any modifications or additions
          +      to that Work or Derivative Works thereof, that is intentionally
          +      submitted to Licensor for inclusion in the Work by the copyright owner
          +      or by an individual or Legal Entity authorized to submit on behalf of
          +      the copyright owner. For the purposes of this definition, "submitted"
          +      means any form of electronic, verbal, or written communication sent
          +      to the Licensor or its representatives, including but not limited to
          +      communication on electronic mailing lists, source code control systems,
          +      and issue tracking systems that are managed by, or on behalf of, the
          +      Licensor for the purpose of discussing and improving the Work, but
          +      excluding communication that is conspicuously marked or otherwise
          +      designated in writing by the copyright owner as "Not a Contribution."
          +
          +      "Contributor" shall mean Licensor and any individual or Legal Entity
          +      on behalf of whom a Contribution has been received by Licensor and
          +      subsequently incorporated within the Work.
          +
          +   2. Grant of Copyright License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      copyright license to reproduce, prepare Derivative Works of,
          +      publicly display, publicly perform, sublicense, and distribute the
          +      Work and such Derivative Works in Source or Object form.
          +
          +   3. Grant of Patent License. Subject to the terms and conditions of
          +      this License, each Contributor hereby grants to You a perpetual,
          +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          +      (except as stated in this section) patent license to make, have made,
          +      use, offer to sell, sell, import, and otherwise transfer the Work,
          +      where such license applies only to those patent claims licensable
          +      by such Contributor that are necessarily infringed by their
          +      Contribution(s) alone or by combination of their Contribution(s)
          +      with the Work to which such Contribution(s) was submitted. If You
          +      institute patent litigation against any entity (including a
          +      cross-claim or counterclaim in a lawsuit) alleging that the Work
          +      or a Contribution incorporated within the Work constitutes direct
          +      or contributory patent infringement, then any patent licenses
          +      granted to You under this License for that Work shall terminate
          +      as of the date such litigation is filed.
          +
          +   4. Redistribution. You may reproduce and distribute copies of the
          +      Work or Derivative Works thereof in any medium, with or without
          +      modifications, and in Source or Object form, provided that You
          +      meet the following conditions:
          +
          +      (a) You must give any other recipients of the Work or
          +          Derivative Works a copy of this License; and
          +
          +      (b) You must cause any modified files to carry prominent notices
          +          stating that You changed the files; and
          +
          +      (c) You must retain, in the Source form of any Derivative Works
          +          that You distribute, all copyright, patent, trademark, and
          +          attribution notices from the Source form of the Work,
          +          excluding those notices that do not pertain to any part of
          +          the Derivative Works; and
          +
          +      (d) If the Work includes a "NOTICE" text file as part of its
          +          distribution, then any Derivative Works that You distribute must
          +          include a readable copy of the attribution notices contained
          +          within such NOTICE file, excluding those notices that do not
          +          pertain to any part of the Derivative Works, in at least one
          +          of the following places: within a NOTICE text file distributed
          +          as part of the Derivative Works; within the Source form or
          +          documentation, if provided along with the Derivative Works; or,
          +          within a display generated by the Derivative Works, if and
          +          wherever such third-party notices normally appear. The contents
          +          of the NOTICE file are for informational purposes only and
          +          do not modify the License. You may add Your own attribution
          +          notices within Derivative Works that You distribute, alongside
          +          or as an addendum to the NOTICE text from the Work, provided
          +          that such additional attribution notices cannot be construed
          +          as modifying the License.
          +
          +      You may add Your own copyright statement to Your modifications and
          +      may provide additional or different license terms and conditions
          +      for use, reproduction, or distribution of Your modifications, or
          +      for any such Derivative Works as a whole, provided Your use,
          +      reproduction, and distribution of the Work otherwise complies with
          +      the conditions stated in this License.
          +
          +   5. Submission of Contributions. Unless You explicitly state otherwise,
          +      any Contribution intentionally submitted for inclusion in the Work
          +      by You to the Licensor shall be under the terms and conditions of
          +      this License, without any additional terms or conditions.
          +      Notwithstanding the above, nothing herein shall supersede or modify
          +      the terms of any separate license agreement you may have executed
          +      with Licensor regarding such Contributions.
          +
          +   6. Trademarks. This License does not grant permission to use the trade
          +      names, trademarks, service marks, or product names of the Licensor,
          +      except as required for reasonable and customary use in describing the
          +      origin of the Work and reproducing the content of the NOTICE file.
          +
          +   7. Disclaimer of Warranty. Unless required by applicable law or
          +      agreed to in writing, Licensor provides the Work (and each
          +      Contributor provides its Contributions) on an "AS IS" BASIS,
          +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
          +      implied, including, without limitation, any warranties or conditions
          +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
          +      PARTICULAR PURPOSE. You are solely responsible for determining the
          +      appropriateness of using or redistributing the Work and assume any
          +      risks associated with Your exercise of permissions under this License.
          +
          +   8. Limitation of Liability. In no event and under no legal theory,
          +      whether in tort (including negligence), contract, or otherwise,
          +      unless required by applicable law (such as deliberate and grossly
          +      negligent acts) or agreed to in writing, shall any Contributor be
          +      liable to You for damages, including any direct, indirect, special,
          +      incidental, or consequential damages of any character arising as a
          +      result of this License or out of the use or inability to use the
          +      Work (including but not limited to damages for loss of goodwill,
          +      work stoppage, computer failure or malfunction, or any and all
          +      other commercial damages or losses), even if such Contributor
          +      has been advised of the possibility of such damages.
          +
          +   9. Accepting Warranty or Additional Liability. While redistributing
          +      the Work or Derivative Works thereof, You may choose to offer,
          +      and charge a fee for, acceptance of support, warranty, indemnity,
          +      or other liability obligations and/or rights consistent with this
          +      License. However, in accepting such obligations, You may act only
          +      on Your own behalf and on Your sole responsibility, not on behalf
          +      of any other Contributor, and only if You agree to indemnify,
          +      defend, and hold each Contributor harmless for any liability
          +      incurred by, or claims asserted against, such Contributor by reason
          +      of your accepting any such warranty or additional liability.
          +
          +   END OF TERMS AND CONDITIONS
          +
          +   APPENDIX: How to apply the Apache License to your work.
          +
          +      To apply the Apache License to your work, attach the following
          +      boilerplate notice, with the fields enclosed by brackets "[]"
          +      replaced with your own identifying information. (Don't include
          +      the brackets!)  The text should be enclosed in the appropriate
          +      comment syntax for the file format. We also recommend that a
          +      file or class name and description of purpose be included on the
          +      same "printed page" as the copyright notice for easier
          +      identification within third-party archives.
          +
          +   Copyright [yyyy] [name of copyright owner]
          +
          +   Licensed under the Apache License, Version 2.0 (the "License");
          +   you may not use this file except in compliance with the License.
          +   You may obtain a copy of the License at
          +
          +       http://www.apache.org/licenses/LICENSE-2.0
          +
          +   Unless required by applicable law or agreed to in writing, software
          +   distributed under the License is distributed on an "AS IS" BASIS,
          +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          +   See the License for the specific language governing permissions and
          +   limitations under the License.
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/README.html b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/README.html
          new file mode 100644
          index 000000000..c6fe1a32c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/README.html
          @@ -0,0 +1,203 @@
          +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          +
          +<html>
          +  <head>
          +    <title>Javascript code prettifier</title>
          +
          +    <link href="src/prettify.css" type="text/css" rel="stylesheet" />
          +
          +    <script src="src/prettify.js" type="text/javascript"></script>
          +
          +    <style type="text/css">
          +      body { margin-left: .5in }
          +      h1, h2, h3, h4, .footer { margin-left: -.4in; }
          +    </style>
          +  </head>
          +
          +  <body onload="prettyPrint()" bgcolor="white">
          +    <small style="float: right">Languages : <a href="README-zh-Hans.html">CH</a></small>
          +    <h1>Javascript code prettifier</h1>
          +
          +    <h2>Setup</h2>
          +    <ol>
          +      <li><a href="http://code.google.com/p/google-code-prettify/downloads/list">Download</a> a distribution
          +      <li>Include the script and stylesheets in your document
          +        (you will need to make sure the css and js file are on your server, and
          +         adjust the paths in the <tt>script</tt> and <tt>link</tt> tag)
          +        <pre class="prettyprint">
          +&lt;link href="prettify.css" type="text/css" rel="stylesheet" />
          +&lt;script type="text/javascript" src="prettify.js">&lt;/script></pre>
          +      <li>Add <code class="prettyprint lang-html">onload="prettyPrint()"</code> to your
          +      document's body tag.
          +      <li>Modify the stylesheet to get the coloring you prefer</li>
          +    </ol>
          +
          +    <h2>Usage</h2>
          +    <p>Put code snippets in
          +    <tt>&lt;pre class="prettyprint"&gt;...&lt;/pre&gt;</tt>
          +    or <tt>&lt;code class="prettyprint"&gt;...&lt;/code&gt;</tt>
          +    and it will automatically be pretty printed.
          +
          +    <table summary="code examples">
          +      <tr>
          +        <th>The original
          +        <th>Prettier
          +      <tr>
          +        <td><pre style="border: 1px solid #888;padding: 2px"
          +             ><a name="voila1"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila1">tags</a>.
          +}</pre>
          +
          +        <td><pre class="prettyprint"><a name="voila2"></a>class Voila {
          +public:
          +  // Voila
          +  static const string VOILA = "Voila";
          +
          +  // will not interfere with embedded <a href="#voila2">tags</a>.
          +}</pre>
          +    </table>
          +
          +    <h2>FAQ</h2>
          +    <h3 id="langs">Which languages does it work for?</h3>
          +    <p>The comments in <tt>prettify.js</tt> are authoritative but the lexer
          +    should work on a number of languages including C and friends,
          +    Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles.
          +    It works passably on Ruby, PHP, VB, and Awk and a decent subset of Perl
          +    and Ruby, but, because of commenting conventions, doesn't work on
          +    Smalltalk, or CAML-like languages.</p>
          +
          +    <p>LISPy languages are supported via an extension:
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lisp.js"
          +     ><code>lang-lisp.js</code></a>.</p>
          +    <p>And similarly for
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-css.js"
          +     ><code>CSS</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-hs.js"
          +     ><code>Haskell</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lua.js"
          +     ><code>Lua</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-ml.js"
          +     ><code>OCAML, SML, F#</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-vb.js"
          +     ><code>Visual Basic</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js"
          +     ><code>SQL</code></a>,
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-proto.js"
          +     ><code>Protocol Buffers</code></a>, and
          +    <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-wiki.js"
          +     ><code>WikiText</code></a>..
          +
          +    <p>If you'd like to add an extension for your favorite language, please
          +    look at <tt>src/lang-lisp.js</tt> and file an
          +    <a href="http://code.google.com/p/google-code-prettify/issues/list"
          +     >issue</a> including your language extension, and a testcase.</p>
          +
          +    <h3>How do I specify which language my code is in?</h3>
          +    <p>You don't need to specify the language since <code>prettyprint()</code>
          +    will guess.  You can specify a language by specifying the language extension
          +    along with the <code>prettyprint</code> class like so:</p>
          +    <pre class="prettyprint lang-html"
          +>&lt;pre class=&quot;prettyprint <b>lang-html</b>&quot;&gt;
          +  The lang-* class specifies the language file extensions.
          +  File extensions supported by default include
          +    "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
          +    "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
          +    "xhtml", "xml", "xsl".
          +&lt;/pre&gt;</pre>
          +
          +    <h3>It doesn't work on <tt>&lt;obfuscated code sample&gt;</tt>?</h3>
          +    <p>Yes.  Prettifying obfuscated code is like putting lipstick on a pig
          +    &mdash; i.e. outside the scope of this tool.</p>
          +
          +    <h3>Which browsers does it work with?</h3>
          +    <p>It's been tested with IE 6, Firefox 1.5 &amp; 2, and Safari 2.0.4.
          +    Look at <a href="tests/prettify_test.html">the test page</a> to see if it
          +    works in your browser.</p>
          +
          +    <h3>What's changed?</h3>
          +    <p>See the <a href="CHANGES.html">change log</a></p>
          +
          +    <h3>Why doesn't Prettyprinting of strings work on WordPress?</h3>
          +    <p>Apparently wordpress does "smart quoting" which changes close quotes.
          +    This causes end quotes to not match up with open quotes.
          +    <p>This breaks prettifying as well as copying and pasting of code samples.
          +    See
          +    <a href="http://wordpress.org/support/topic/125038"
          +    >WordPress's help center</a> for info on how to stop smart quoting of code
          +    snippets.</p>
          +
          +    <h3 id="linenums">How do I put line numbers in my code?</h3>
          +    <p>You can use the <code>linenums</code> class to turn on line
          +    numbering.  If your code doesn't start at line number 1, you can
          +    add a colon and a line number to the end of that class as in
          +    <code>linenums:52</code>.
          +
          +    <p>For example
          +<pre class="prettyprint">&lt;pre class="prettyprint linenums:<b>4</b>"
          +&gt;// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +&lt;pre&gt;</pre>
          +    produces
          +<pre class="prettyprint linenums:4"
          +>// This is line 4.
          +foo();
          +bar();
          +baz();
          +boo();
          +far();
          +faz();
          +</pre>
          +
          +    <h3>How do I prevent a portion of markup from being marked as code?</h3>
          +    <p>You can use the <code>nocode</code> class to identify a span of markup
          +    that is not code.
          +<pre class="prettyprint">&lt;pre class=prettyprint&gt;
          +int x = foo();  /* This is a comment  &lt;span class="nocode"&gt;This is not code&lt;/span&gt;
          +  Continuation of comment */
          +int y = bar();
          +&lt;/pre&gt;</pre>
          +produces
          +<pre class="prettyprint">
          +int x = foo();  /* This is a comment  <span class="nocode">This is not code</span>
          +  Continuation of comment */
          +int y = bar();
          +</pre>
          +
          +    <p>For a more complete example see the issue22
          +    <a href="tests/prettify_test.html#issue22">testcase</a>.</p>
          +
          +    <h3>I get an error message "a is not a function" or "opt_whenDone is not a function"</h3>
          +    <p>If you are calling <code>prettyPrint</code> via an event handler, wrap it in a function.
          +    Instead of doing
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', prettyPrint, false);</code>
          +    </blockquote>
          +    wrap it in a closure like
          +    <blockquote>
          +      <code class="prettyprint lang-js"
          +       >addEventListener('load', function (event) { prettyPrint() }, false);</code>
          +    </blockquote>
          +    so that the browser does not pass an event object to <code>prettyPrint</code> which
          +    will confuse it.
          +
          +    <br><br><br>
          +
          +    <div class="footer">
          +<!-- Created: Tue Oct  3 17:51:56 PDT 2006 -->
          +<!-- hhmts start -->
          +Last modified: Wed Jul 19 13:56:00 PST 2010
          +<!-- hhmts end -->
          +    </div>
          +  </body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.css b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.css
          new file mode 100644
          index 000000000..9b554aac5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.css
          @@ -0,0 +1 @@
          +.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.js b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.js
          new file mode 100644
          index 000000000..3dec9931c
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/assets/vendor/prettify/prettify-min.js
          @@ -0,0 +1,35 @@
          +window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var y=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);y=y?+y[1]:false;window._pr_isIE6=function(){return y};return y};
          +(function(){function y(b){return b.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;")}function H(b,f,i){switch(b.nodeType){case 1:var o=b.tagName.toLowerCase();f.push("<",o);var l=b.attributes,n=l.length;if(n){if(i){for(var r=[],j=n;--j>=0;)r[j]=l[j];r.sort(function(q,m){return q.name<m.name?-1:q.name===m.name?0:1});l=r}for(j=0;j<n;++j){r=l[j];r.specified&&f.push(" ",r.name.toLowerCase(),'="',r.value.replace(L,"&amp;").replace(M,"&lt;").replace(N,"&gt;").replace(X,"&quot;"),'"')}}f.push(">");
          +for(l=b.firstChild;l;l=l.nextSibling)H(l,f,i);if(b.firstChild||!/^(?:br|link|img)$/.test(o))f.push("</",o,">");break;case 3:case 4:f.push(y(b.nodeValue));break}}function O(b){function f(c){if(c.charAt(0)!=="\\")return c.charCodeAt(0);switch(c.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(c.substring(2),16)||c.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(c.substring(1),
          +8);default:return c.charCodeAt(1)}}function i(c){if(c<32)return(c<16?"\\x0":"\\x")+c.toString(16);c=String.fromCharCode(c);if(c==="\\"||c==="-"||c==="["||c==="]")c="\\"+c;return c}function o(c){var d=c.substring(1,c.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));c=[];for(var a=[],k=d[0]==="^",e=k?1:0,h=d.length;e<h;++e){var g=d[e];switch(g){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":c.push(g);
          +continue}g=f(g);var s;if(e+2<h&&"-"===d[e+1]){s=f(d[e+2]);e+=2}else s=g;a.push([g,s]);if(!(s<65||g>122)){s<65||g>90||a.push([Math.max(65,g)|32,Math.min(s,90)|32]);s<97||g>122||a.push([Math.max(97,g)&-33,Math.min(s,122)&-33])}}a.sort(function(v,w){return v[0]-w[0]||w[1]-v[1]});d=[];g=[NaN,NaN];for(e=0;e<a.length;++e){h=a[e];if(h[0]<=g[1]+1)g[1]=Math.max(g[1],h[1]);else d.push(g=h)}a=["["];k&&a.push("^");a.push.apply(a,c);for(e=0;e<d.length;++e){h=d[e];a.push(i(h[0]));if(h[1]>h[0]){h[1]+1>h[0]&&a.push("-");
          +a.push(i(h[1]))}}a.push("]");return a.join("")}function l(c){for(var d=c.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=d.length,k=[],e=0,h=0;e<a;++e){var g=d[e];if(g==="(")++h;else if("\\"===g.charAt(0))if((g=+g.substring(1))&&g<=h)k[g]=-1}for(e=1;e<k.length;++e)if(-1===k[e])k[e]=++n;for(h=e=0;e<a;++e){g=d[e];if(g==="("){++h;if(k[h]===undefined)d[e]="(?:"}else if("\\"===
          +g.charAt(0))if((g=+g.substring(1))&&g<=h)d[e]="\\"+k[h]}for(h=e=0;e<a;++e)if("^"===d[e]&&"^"!==d[e+1])d[e]="";if(c.ignoreCase&&r)for(e=0;e<a;++e){g=d[e];c=g.charAt(0);if(g.length>=2&&c==="[")d[e]=o(g);else if(c!=="\\")d[e]=g.replace(/[a-zA-Z]/g,function(s){s=s.charCodeAt(0);return"["+String.fromCharCode(s&-33,s|32)+"]"})}return d.join("")}for(var n=0,r=false,j=false,q=0,m=b.length;q<m;++q){var t=b[q];if(t.ignoreCase)j=true;else if(/[a-z]/i.test(t.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,
          +""))){r=true;j=false;break}}var p=[];q=0;for(m=b.length;q<m;++q){t=b[q];if(t.global||t.multiline)throw Error(""+t);p.push("(?:"+l(t)+")")}return RegExp(p.join("|"),j?"gi":"g")}function Y(b){var f=0;return function(i){for(var o=null,l=0,n=0,r=i.length;n<r;++n)switch(i.charAt(n)){case "\t":o||(o=[]);o.push(i.substring(l,n));l=b-f%b;for(f+=l;l>=0;l-=16)o.push("                ".substring(0,l));l=n+1;break;case "\n":f=0;break;default:++f}if(!o)return i;o.push(i.substring(l));return o.join("")}}function I(b,
          +f,i,o){if(f){b={source:f,c:b};i(b);o.push.apply(o,b.d)}}function B(b,f){var i={},o;(function(){for(var r=b.concat(f),j=[],q={},m=0,t=r.length;m<t;++m){var p=r[m],c=p[3];if(c)for(var d=c.length;--d>=0;)i[c.charAt(d)]=p;p=p[1];c=""+p;if(!q.hasOwnProperty(c)){j.push(p);q[c]=null}}j.push(/[\0-\uffff]/);o=O(j)})();var l=f.length;function n(r){for(var j=r.c,q=[j,z],m=0,t=r.source.match(o)||[],p={},c=0,d=t.length;c<d;++c){var a=t[c],k=p[a],e=void 0,h;if(typeof k==="string")h=false;else{var g=i[a.charAt(0)];
          +if(g){e=a.match(g[1]);k=g[0]}else{for(h=0;h<l;++h){g=f[h];if(e=a.match(g[1])){k=g[0];break}}e||(k=z)}if((h=k.length>=5&&"lang-"===k.substring(0,5))&&!(e&&typeof e[1]==="string")){h=false;k=P}h||(p[a]=k)}g=m;m+=a.length;if(h){h=e[1];var s=a.indexOf(h),v=s+h.length;if(e[2]){v=a.length-e[2].length;s=v-h.length}k=k.substring(5);I(j+g,a.substring(0,s),n,q);I(j+g+s,h,Q(k,h),q);I(j+g+v,a.substring(v),n,q)}else q.push(j+g,k)}r.d=q}return n}function x(b){var f=[],i=[];if(b.tripleQuotedStrings)f.push([A,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
          +null,"'\""]);else b.multiLineStrings?f.push([A,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):f.push([A,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);b.verbatimStrings&&i.push([A,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);if(b.hashComments)if(b.cStyleComments){f.push([C,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]);i.push([A,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
          +null])}else f.push([C,/^#[^\r\n]*/,null,"#"]);if(b.cStyleComments){i.push([C,/^\/\/[^\r\n]*/,null]);i.push([C,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}b.regexLiterals&&i.push(["lang-regex",RegExp("^"+Z+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);b=b.keywords.replace(/^\s+|\s+$/g,"");b.length&&i.push([R,RegExp("^(?:"+b.replace(/\s+/g,"|")+")\\b"),null]);f.push([z,/^\s+/,null," \r\n\t\u00a0"]);i.push([J,/^@[a-z_$][a-z_$@0-9]*/i,null],[S,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,
          +null],[z,/^[a-z_$][a-z_$@0-9]*/i,null],[J,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],[E,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return B(f,i)}function $(b){function f(D){if(D>r){if(j&&j!==q){n.push("</span>");j=null}if(!j&&q){j=q;n.push('<span class="',j,'">')}var T=y(p(i.substring(r,D))).replace(e?d:c,"$1&#160;");e=k.test(T);n.push(T.replace(a,s));r=D}}var i=b.source,o=b.g,l=b.d,n=[],r=0,j=null,q=null,m=0,t=0,p=Y(window.PR_TAB_WIDTH),c=/([\r\n ]) /g,
          +d=/(^| ) /gm,a=/\r\n?|\n/g,k=/[ \r\n]$/,e=true,h=window._pr_isIE6();h=h?b.b.tagName==="PRE"?h===6?"&#160;\r\n":h===7?"&#160;<br>\r":"&#160;\r":"&#160;<br />":"<br />";var g=b.b.className.match(/\blinenums\b(?::(\d+))?/),s;if(g){for(var v=[],w=0;w<10;++w)v[w]=h+'</li><li class="L'+w+'">';var F=g[1]&&g[1].length?g[1]-1:0;n.push('<ol class="linenums"><li class="L',F%10,'"');F&&n.push(' value="',F+1,'"');n.push(">");s=function(){var D=v[++F%10];return j?"</span>"+D+'<span class="'+j+'">':D}}else s=h;
          +for(;;)if(m<o.length?t<l.length?o[m]<=l[t]:true:false){f(o[m]);if(j){n.push("</span>");j=null}n.push(o[m+1]);m+=2}else if(t<l.length){f(l[t]);q=l[t+1];t+=2}else break;f(i.length);j&&n.push("</span>");g&&n.push("</li></ol>");b.a=n.join("")}function u(b,f){for(var i=f.length;--i>=0;){var o=f[i];if(G.hasOwnProperty(o))"console"in window&&console.warn("cannot override language handler %s",o);else G[o]=b}}function Q(b,f){b&&G.hasOwnProperty(b)||(b=/^\s*</.test(f)?"default-markup":"default-code");return G[b]}
          +function U(b){var f=b.f,i=b.e;b.a=f;try{var o,l=f.match(aa);f=[];var n=0,r=[];if(l)for(var j=0,q=l.length;j<q;++j){var m=l[j];if(m.length>1&&m.charAt(0)==="<"){if(!ba.test(m))if(ca.test(m)){f.push(m.substring(9,m.length-3));n+=m.length-12}else if(da.test(m)){f.push("\n");++n}else if(m.indexOf(V)>=0&&m.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)){var t=m.match(W)[2],p=1,c;c=j+1;a:for(;c<q;++c){var d=l[c].match(W);if(d&&
          +d[2]===t)if(d[1]==="/"){if(--p===0)break a}else++p}if(c<q){r.push(n,l.slice(j,c+1).join(""));j=c}else r.push(n,m)}else r.push(n,m)}else{var a;p=m;var k=p.indexOf("&");if(k<0)a=p;else{for(--k;(k=p.indexOf("&#",k+1))>=0;){var e=p.indexOf(";",k);if(e>=0){var h=p.substring(k+3,e),g=10;if(h&&h.charAt(0)==="x"){h=h.substring(1);g=16}var s=parseInt(h,g);isNaN(s)||(p=p.substring(0,k)+String.fromCharCode(s)+p.substring(e+1))}}a=p.replace(ea,"<").replace(fa,">").replace(ga,"'").replace(ha,'"').replace(ia," ").replace(ja,
          +"&")}f.push(a);n+=a.length}}o={source:f.join(""),h:r};var v=o.source;b.source=v;b.c=0;b.g=o.h;Q(i,v)(b);$(b)}catch(w){if("console"in window)console.log(w&&w.stack?w.stack:w)}}var A="str",R="kwd",C="com",S="typ",J="lit",E="pun",z="pln",P="src",V="nocode",Z=function(){for(var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=",
          +"~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],f="(?:^^|[+-]",i=0;i<b.length;++i)f+="|"+b[i].replace(/([^=<>:&a-z])/g,"\\$1");f+=")\\s*";return f}(),L=/&/g,M=/</g,N=/>/g,X=/\"/g,ea=/&lt;/g,fa=/&gt;/g,ga=/&apos;/g,ha=/&quot;/g,ja=/&amp;/g,ia=/&nbsp;/g,ka=/[\r\n]/g,K=null,aa=RegExp("[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z](?:[^>\"']|'[^']*'|\"[^\"]*\")*>|<","g"),ba=/^<\!--/,ca=/^<!\[CDATA\[/,da=/^<br\b/i,W=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/,
          +la=x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
          +hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true}),G={};u(la,["default-code"]);u(B([],[[z,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[C,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[E,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup",
          +"htm","html","mxml","xhtml","xml","xsl"]);u(B([[z,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[E,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],
          +["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);u(B([],[["atv",/^[\s\S]+/]]),["uq.val"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where ",
          +hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);u(x({keywords:"null true false"}),["json"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
          +hashComments:true,cStyleComments:true,verbatimStrings:true}),["cs"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",
          +cStyleComments:true}),["java"]);u(x({keywords:"break continue do else for if return while case done elif esac eval fi function in local set then until ",hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);u(x({keywords:"break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);
          +u(x({keywords:"caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);u(x({keywords:"break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",hashComments:true,
          +multiLineStrings:true,regexLiterals:true}),["rb"]);u(x({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN ",cStyleComments:true,regexLiterals:true}),["js"]);u(B([],[[A,/^[\s\S]+/]]),
          +["regex"]);window.PR_normalizedHtml=H;window.prettyPrintOne=function(b,f){var i={f:b,e:f};U(i);return i.a};window.prettyPrint=function(b){function f(){for(var t=window.PR_SHOULD_USE_CONTINUATION?j.now()+250:Infinity;q<o.length&&j.now()<t;q++){var p=o[q];if(p.className&&p.className.indexOf("prettyprint")>=0){var c=p.className.match(/\blang-(\w+)\b/);if(c)c=c[1];for(var d=false,a=p.parentNode;a;a=a.parentNode)if((a.tagName==="pre"||a.tagName==="code"||a.tagName==="xmp")&&a.className&&a.className.indexOf("prettyprint")>=
          +0){d=true;break}if(!d){a=p;if(null===K){d=document.createElement("PRE");d.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));K=!/</.test(d.innerHTML)}if(K){d=a.innerHTML;if("XMP"===a.tagName)d=y(d);else{a=a;if("PRE"===a.tagName)a=true;else if(ka.test(d)){var k="";if(a.currentStyle)k=a.currentStyle.whiteSpace;else if(window.getComputedStyle)k=window.getComputedStyle(a,null).whiteSpace;a=!k||k==="pre"}else a=true;a||(d=d.replace(/(<br\s*\/?>)[\r\n]+/g,"$1").replace(/(?:[\r\n]+[ \t]*)+/g,
          +" "))}d=d}else{d=[];for(a=a.firstChild;a;a=a.nextSibling)H(a,d);d=d.join("")}d=d.replace(/(?:\r\n?|\n)$/,"");m={f:d,e:c,b:p};U(m);if(p=m.a){c=m.b;if("XMP"===c.tagName){d=document.createElement("PRE");for(a=0;a<c.attributes.length;++a){k=c.attributes[a];if(k.specified)if(k.name.toLowerCase()==="class")d.className=k.value;else d.setAttribute(k.name,k.value)}d.innerHTML=p;c.parentNode.replaceChild(d,c)}else c.innerHTML=p}}}}if(q<o.length)setTimeout(f,250);else b&&b()}for(var i=[document.getElementsByTagName("pre"),
          +document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],o=[],l=0;l<i.length;++l)for(var n=0,r=i[l].length;n<r;++n)o.push(i[l][n]);i=null;var j=Date;j.now||(j={now:function(){return(new Date).getTime()}});var q=0,m;f()};window.PR={combinePrefixPatterns:O,createSimpleLexer:B,registerLangHandler:u,sourceDecorator:x,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:C,PR_DECLARATION:"dec",PR_KEYWORD:R,PR_LITERAL:J,PR_NOCODE:V,PR_PLAIN:z,PR_PUNCTUATION:E,PR_SOURCE:P,PR_STRING:A,
          +PR_TAG:"tag",PR_TYPE:S}})()
          +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
          +["com",/^(?:<!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#(?:[0-9a-f]{3}){1,2}/i],["pln",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],["pun",/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^\)\"\']+/]]),["css-str"])
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/layouts/main.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/layouts/main.handlebars
          new file mode 100644
          index 000000000..8df6a200b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/layouts/main.handlebars
          @@ -0,0 +1,38 @@
          +<!DOCTYPE html>
          +<html lang="en">
          +<head>
          +    <meta charset="utf-8">
          +    <title>{{htmlTitle}}</title>
          +    <link rel="stylesheet" href="{{yuiGridsUrl}}">
          +    <link rel="stylesheet" href="{{projectAssets}}/vendor/prettify/prettify-min.css">
          +    <link rel="stylesheet" href="{{projectAssets}}/css/main.css" id="site_styles">
          +    <script src="{{yuiSeedUrl}}"></script>
          +</head>
          +<body class="yui3-skin-sam">
          +
          +<div id="doc">
          +    <div id="hd" class="yui3-g header">
          +        <div class="yui3-u-3-4">
          +            <h1><a href="{{projectRoot}}index.html"><img src="{{projectAssets}}/css/logo.png">{{title}}</a></h1>
          +        </div>
          +        <div class="yui3-u-1-4 version">
          +            <em>API Docs for: {{projectVersion}}</em>
          +        </div>
          +    </div>
          +    <div class="yui3-g">
          +
          +        <div id="sidebar" class="yui3-u">
          +            {{>sidebar}}
          +        </div>
          +
          +        <div id="main" class="yui3-u">
          +            <div class="content">{{>layout_content}}</div>
          +        </div>
          +    </div>
          +</div>
          +<script src="{{projectAssets}}/vendor/prettify/prettify-min.js"></script>
          +<script>prettyPrint();</script>
          +<script src="{{projectAssets}}/js/yui-prettify.js"></script>
          +<script src="{{projectAssets}}/js/tabs.js"></script>
          +</body>
          +</html>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/attrs.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/attrs.handlebars
          new file mode 100644
          index 000000000..1bfd6f7c6
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/attrs.handlebars
          @@ -0,0 +1,23 @@
          +<a name="attrs_{{name}}"></a>
          +<div class="attrs item">
          +    `{{name}}` {{#if type}}<strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>{{/if}}
          +    {{#if extended_from}}<em>`/* Extended from {{extended_from}} */`</em>{{/if}}
          +    {{#if overwritten_from}}<em>`/* Overwritten from {{name}} */`</em>{{/if}}
          +    <br>
          +    <span class="foundat"><a href="../{{foundAt}}">`{{file}}:{{line}}`</a></span>
          +    {{{attrDescription}}}
          +    {{#if emit}}
          +    <div class="emits">
          +        Fires: <strong>`{{name}}Change(e)`</strong>
          +        <p>Fires when the value for the configuration attribute `{{name}}` is changed. You can listen for the event using the `on` method if you wish to be notified before the attribute's value has changed, or using the `after` method if you wish to be notified after the attribute's value has changed.</p>
          +        <strong>Parameters:</strong><br>
          +        `e` <strong>&lt;EventFacade&gt;</strong> An Event Facade object with the following attribute specific properties added:
          +        <ul>
          +            <li>`prevVal` The value of the attribute, prior to it being set</li>
          +            <li>`newVal` The value the attribute is to be set to</li>
          +            <li>`attrName` The name of the attribute being set</li>
          +            <li>`subAttrName` If setting a property within the attribute's value, the name of the sub-attribute property being set</li>
          +        </ul>
          +    </div>
          +    {{/if}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/classes.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/classes.handlebars
          new file mode 100644
          index 000000000..fc0721d05
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/classes.handlebars
          @@ -0,0 +1,73 @@
          +<h4>Class {{moduleName}}</h4>
          +{{#if uses}}
          +    Uses:
          +    {{#each uses}}
          +        <a href="{{this}}.html">{{this}}</a>
          +    {{/each}}
          +    <br>
          +{{/if}}
          +{{#if extension_for}}
          +    Extension For:
          +    {{#each extension_for}}
          +        <a href="{{this}}.html">{{this}}</a>
          +    {{/each}}
          +    <br>
          +{{/if}}
          +{{#if extends}}
          +    Extends: {{#crossLink extends}}{{/crossLink}}<br>
          +{{/if}}
          +<span class="foundat">Class defined in: <a href="../{{foundAt}}">`{{file}}:{{line}}`</a></span>
          +<div class="intro">{{{classDescription}}}</div>
          +
          +{{#if is_constructor}}
          +    {{#is_constructor}}
          +    {{>method}}
          +    {{/is_constructor}}
          +{{/if}}
          +
          +<div id="classdocs">
          +    <ul>
          +        {{#if methods}}
          +        <li><a href="#methods">Methods</a></li>
          +        {{/if}}
          +        {{#if properties}}
          +        <li><a href="#props">Properties</a></li>
          +        {{/if}}
          +        {{#if attrs}}
          +        <li><a href="#attrs">Attributes</a></li>
          +        {{/if}}
          +        {{#if events}}
          +        <li><a href="#events">Events</a></li>
          +        {{/if}}
          +    </ul>
          +    <div>
          +        {{#if methods}}
          +            <div id="methods">
          +            {{#methods}}
          +                {{>method}}
          +            {{/methods}}
          +            </div>
          +        {{/if}}
          +        {{#if properties}}
          +            <div id="props">
          +            {{#properties}}
          +                {{>props}}
          +            {{/properties}}
          +            </div>
          +        {{/if}}
          +        {{#if attrs}}
          +            <div id="attrs">
          +            {{#attrs}}
          +                {{>attrs}}
          +            {{/attrs}}
          +            </div>
          +        {{/if}}
          +        {{#if events}}
          +            <div id="events">
          +            {{#events}}
          +                {{>events}}
          +            {{/events}}
          +            </div>
          +        {{/if}}
          +    </div>
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/events.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/events.handlebars
          new file mode 100644
          index 000000000..c921a0cfd
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/events.handlebars
          @@ -0,0 +1,35 @@
          +<a name="events_{{name}}"></a>
          +<div class="events item">
          +    `{{name}}` {{#if type}}<strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>{{/if}}
          +    {{#if extended_from}}<em>`/* Extended from {{extended_from}} */</em>`{{/if}}
          +    {{#if overwritten_from}}<em>`/* Overwritten from {{name}} */`</em>{{/if}}
          +    <br>
          +    <span class="foundat"><a href="../{{foundAt}}">`{{file}}:{{line}}`</a></span>
          +    {{{eventDescription}}}
          +    {{#if params}}
          +    <strong>Extra event object properties:</strong>
          +    <ul>
          +    {{#params}}
          +        <li>
          +        {{#if optional}}
          +            `[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>
          +        {{else}}
          +            `{{name}}` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>
          +        {{/if}}
          +        {{#if multiple}}
          +            <abbr title="Denotes that this argument can contain (n) number">(*..n)</abbr>
          +        {{/if}}
          +        {{{description}}}
          +            {{#if props}}
          +            <ul>
          +            {{#props}}
          +                <li>`{{name}}` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong> {{{description}}}
          +            {{/props}}
          +            </ul>
          +            {{/if}}
          +        </li>
          +    {{/params}}
          +    </ul>
          +    {{/if}}
          +</div>
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/files.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/files.handlebars
          new file mode 100644
          index 000000000..84a54403b
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/files.handlebars
          @@ -0,0 +1,6 @@
          +<h4>{{fileName}}</h4>
          +
          +<pre class="code prettyprint linenums">
          +{{fileData}}
          +</pre>
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/index.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/index.handlebars
          new file mode 100644
          index 000000000..92b4afdec
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/index.handlebars
          @@ -0,0 +1,2 @@
          +<h4>API Docs - Main Index</h3>
          +<p>Something smart and pretty should probably go here.</p>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/method.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/method.handlebars
          new file mode 100644
          index 000000000..a24f30ff2
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/method.handlebars
          @@ -0,0 +1,56 @@
          +<a name="methods_{{name}}"></a>
          +<div class="method item{{#if access}} {{access}}{{/if}}">
          +    {{#if final}}<code>final</code> {{/if}}{{#if returnType}}{{#crossLink returnType}}{{/crossLink}} {{/if}}<strong class="name">`{{name}}`</strong>( `{{paramsList}} ` ) {{#if access}}<em>`/* {{access}} method */`</em>{{/if}}
          +    <br>
          +    <span class="foundat">
          +    {{#if overwritten_from}}
          +        Defined in <a href="{{overwritten_from/class}}.html#method_{{overwritten_from/name}}">{{overwritten_from/class}}</a> but overwritten locally: 
          +    {{else}}
          +        {{#if extended_from}} Defined in <a href="{{extended_from}}.html#method_{{name}}">{{extended_from}}</a>: {{/if}}
          +    {{/if}}
          +        <a href="../{{foundAt}}">`{{file}}:{{line}}`</a>
          +    </span><br>
          +    {{{methodDescription}}}
          +    {{#if params}}
          +    <strong>Parameters:</strong>
          +    <ul class="params">
          +    {{#params}}
          +        <li>
          +        {{#if optional}}
          +            `[{{name}}{{#if optdefault}}={{optdefault}}{{/if}}]` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>
          +        {{else}}
          +            `{{name}}` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong>
          +        {{/if}}
          +        {{#if multiple}}
          +            <abbr title="Denotes that this argument can contain (n) number">(*..n)</abbr>
          +        {{/if}}
          +        {{{description}}}
          +            {{#if props}}
          +            <ul>
          +            {{#props}}
          +                <li>`{{name}}` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong> {{{description}}}
          +                {{#if props}}
          +                    <ul>
          +                        {{#props}}
          +                            <li>`{{name}}` <strong>&lt;{{#crossLink type}}{{/crossLink}}&gt;</strong> {{{description}}} </li>
          +                        {{/props}}
          +                    </ul>
          +                {{/if}}
          +                </li>
          +            {{/props}}
          +            </ul>
          +            {{/if}}
          +        </li>
          +    {{/params}}
          +    </ul>
          +    {{/if}}
          +    {{#if return}}
          +    {{#return}}
          +    <br><div class="returns"><strong>Returns:</strong> {{#if type}}&lt;{{#crossLink type}}{{/crossLink}}&gt; {{/if}}{{{description}}}</div>
          +    {{/return}}
          +    {{/if}}
          +    {{#if example}}
          +        <h5>Example</h5>
          +        {{{example}}}
          +    {{/if}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/module.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/module.handlebars
          new file mode 100644
          index 000000000..465c632b5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/module.handlebars
          @@ -0,0 +1,28 @@
          +
          +<h2>{{moduleName}}</h2>
          +<div class="intro">{{{moduleDescription}}}</div>
          +
          +<div class="yui3-g">
          +    <div class="yui3-u-1-2">
          +        {{#if moduleClasses}}
          +        <p>This module has the following classes:</p>
          +        <ul>
          +        {{#moduleClasses}}
          +            <li><a href="{{../projectRoot}}classes/{{name}}.html">{{displayName}}</a></li>
          +        {{/moduleClasses}}
          +        </ul>
          +        {{/if}}
          +    </div>
          +    <div class="yui3-u-1-2">
          +        {{#if subModules}}
          +        <p>This module has the following submodules:</p>
          +        <ul>
          +        {{#subModules}}
          +            <li id="{{name}}"><a href="{{../projectRoot}}modules/{{name}}.html">{{displayName}}</a><p>{{{description}}}</p></li>
          +        {{/subModules}}
          +        </ul>
          +        {{/if}}
          +    </div>
          +</div>
          +<br><br>
          +<span class="foundat">Module description found: <a href="../{{foundAt}}">`{{file}}:{{line}}`</a></span>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/props.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/props.handlebars
          new file mode 100644
          index 000000000..5f6470035
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/props.handlebars
          @@ -0,0 +1,10 @@
          +<a name="props_{{name}}"></a>
          +<div class="props item">
          +    `{{name}}` &lt;<strong>{{#crossLink type}}{{/crossLink}}</strong>&gt;{{#if final}} <em>(final)</em>{{/if}}{{#if static}} <em>(static)</em>{{/if}}<br>
          +    <span class="foundat"><a href="../{{foundAt}}">`{{file}}:{{line}}`</a></span>
          +    {{{propertyDescription}}}
          +    {{#if example}}
          +        <h5>Example</h5>
          +        {{{example}}}
          +    {{/if}}
          +</div>
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/sidebar.handlebars b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/sidebar.handlebars
          new file mode 100644
          index 000000000..e950ff5a5
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/partials/sidebar.handlebars
          @@ -0,0 +1,105 @@
          +<div id="modules" class="sidebox">
          +    <div class="hd">
          +        <h2 class="no-toc">Modules</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#modules}}
          +                <li><a href="{{../projectRoot}}modules/{{name}}.html">{{displayName}}</a>
          +                {{#if submodules}}
          +                    <ul>
          +                        {{#submodules}}
          +                            <li><a href="{{../../../projectRoot}}modules/{{../name}}.html#{{displayName}}">{{displayName}}</a></li>
          +                        {{/submodules}}
          +                    </ul>
          +                {{/if}}
          +                </li>
          +            {{/modules}}
          +        </ul>
          +    </div>
          +</div>
          +
          +<div id="classes" class="sidebox">
          +    <div class="hd">
          +        <h2 class="no-toc">Classes</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#classes}}
          +                <li><a href="{{../projectRoot}}classes/{{name}}.html">{{displayName}}</a></li>
          +            {{/classes}}
          +        </ul>
          +    </div>
          +</div>
          +
          +{{#if methods}}
          +<div id="methods-on-page" class="sidebox on-page">
          +    <div class="hd">
          +        <h2 class="no-toc">Methods On Page</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#methods}}
          +                <li><a href="#methods_{{name}}">{{name}}</a></li>
          +            {{/methods}}
          +        </ul>
          +    </div>
          +</div>
          +{{/if}}
          +
          +{{#if events}}
          +<div id="events-on-page" class="sidebox on-page">
          +    <div class="hd">
          +        <h2 class="no-toc">Events On Page</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#events}}
          +                <li><a href="#events_{{name}}">{{name}}</a></li>
          +            {{/events}}
          +        </ul>
          +    </div>
          +</div>
          +{{/if}}
          +
          +{{#if props}}
          +<div id="props-on-page" class="sidebox">
          +    <div class="hd">
          +        <h2 class="no-toc">Props On Page</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#events}}
          +                <li><a href="#props_{{name}}">{{name}}</a></li>
          +            {{/events}}
          +        </ul>
          +    </div>
          +</div>
          +{{/if}}
          +
          +{{#if attributes}}
          +<div id="attrs-on-page" class="sidebox on-page">
          +    <div class="hd">
          +        <h2 class="no-toc">Attributes On Page</h2>
          +    </div>
          +    <div class="bd">
          +        <ul>
          +            {{#events}}
          +                <li><a href="#attrs_{{name}}">{{name}}</a></li>
          +            {{/events}}
          +        </ul>
          +    </div>
          +</div>
          +{{/if}}
          +
          +{{#if fileTree}}
          +<div id="fileTree" class="sidebox">
          +    <div class="hd">
          +        <h2 class="no-toc">Files</h2>
          +    </div>
          +    <div class="bd">
          +        {{#buildFileTree fileTree}}{{/buildFileTree}}
          +    </div>
          +</div>
          +{{/if}}
          +
          diff --git a/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/theme.json b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/theme.json
          new file mode 100644
          index 000000000..2edd23b38
          --- /dev/null
          +++ b/node_modules/grunt-contrib/node_modules/yuidocjs/themes/simple/theme.json
          @@ -0,0 +1,4 @@
          +{
          +    "yuiGridsUrl": "http://yui.yahooapis.com/3.4.0/build/cssgrids/cssgrids-min.css",
          +    "yuiSeedUrl": "http://yui.yahooapis.com/combo?3.4.0/build/yui/yui-min.js"
          +}
          diff --git a/node_modules/grunt-contrib/package.json b/node_modules/grunt-contrib/package.json
          index 249b9705f..815dd60bf 100644
          --- a/node_modules/grunt-contrib/package.json
          +++ b/node_modules/grunt-contrib/package.json
          @@ -1,7 +1,7 @@
           {
             "name": "grunt-contrib",
             "description": "A collection of common grunt tasks.",
          -  "version": "0.1.0",
          +  "version": "0.1.4",
             "homepage": "https://github.com/gruntjs/grunt-contrib",
             "author": {
               "name": "\"Cowboy\" Ben Alman and contributors",
          @@ -42,7 +42,9 @@
               "tar": "~0.1.13",
               "fstream": "~0.1.18",
               "requirejs": "*",
          -    "handlebars": "~1.0.4"
          +    "handlebars": "~1.0.4",
          +    "yuidocjs": "~0.3.14",
          +    "underscore": "~1.3.3"
             },
             "devDependencies": {
               "grunt": "~0.3.10"
          @@ -50,14 +52,11 @@
             "keywords": [
               "gruntplugin"
             ],
          -  "_id": "grunt-contrib@0.1.0",
          +  "_id": "grunt-contrib@0.1.4",
             "optionalDependencies": {},
             "_engineSupported": true,
             "_npmVersion": "1.1.24",
             "_nodeVersion": "v0.6.19",
             "_defaultsLoaded": true,
          -  "dist": {
          -    "shasum": "f4d2aabfc83aa7e801848225460112a9fc9bd1ad"
          -  },
          -  "_from": "grunt-contrib"
          +  "_from": "grunt-contrib@0.1.4"
           }
          diff --git a/node_modules/grunt-contrib/tasks/clean.js b/node_modules/grunt-contrib/tasks/clean.js
          index fe7440fd8..891452dc9 100644
          --- a/node_modules/grunt-contrib/tasks/clean.js
          +++ b/node_modules/grunt-contrib/tasks/clean.js
          @@ -6,48 +6,29 @@
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          +  "use strict";
           
             grunt.registerMultiTask("clean", "Clear files and folders", function() {
          -    var badPaths = ["*", "/", "\\"];
          -    var config = grunt.config.get("clean");
          -    var paths = this.data;
          -    var validPaths = [];
          +    var options = grunt.helper("options", this);
           
          -    // check if we have a valid config & an invalid target specific config
          -    if (_.isArray(config) === true && _.isArray(paths) === false) {
          -      paths = config;
          -    } else if (_.isArray(paths) === false){
          -      paths = [];
          -    }
          -
          -    paths.forEach(function(path) {
          -      if (_.isString(path)) {
          -        path = grunt.template.process(path);
          +    grunt.verbose.writeflags(options, "Options");
           
          -        if (_.isEmpty(path) === false && _.include(badPaths, path) === false) {
          -          validPaths.push(path);
          -        }
          -      }
          -    });
          +    var paths = grunt.file.expand(this.file.src);
           
          -    if (_.isEmpty(validPaths)) {
          -      grunt.fatal("Clean should have an array of paths by now. Too dangerous to continue.");
          -    }
          -
          -    validPaths.forEach(function(path) {
          +    paths.forEach(function(path) {
                 grunt.helper("clean", path);
               });
             });
           
             grunt.registerHelper("clean", function(path) {
          -    grunt.verbose.writeln('Cleaning "' + path + '"');
          +    grunt.log.write('Cleaning "' + path + '"...');
           
               try {
                 require("rimraf").sync(path);
          -      grunt.log.writeln('Cleaned "' + path + '"');
          +      grunt.log.ok();
               } catch (e) {
          -      grunt.log.error(e);
          +      grunt.log.error();
          +      grunt.verbose.error(e);
                 grunt.fail.warn("Clean operation failed.");
               }
             });
          diff --git a/node_modules/grunt-contrib/tasks/coffee.js b/node_modules/grunt-contrib/tasks/coffee.js
          index 22c8b2a4d..3feeb6423 100644
          --- a/node_modules/grunt-contrib/tasks/coffee.js
          +++ b/node_modules/grunt-contrib/tasks/coffee.js
          @@ -6,30 +6,44 @@
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
           
             grunt.registerMultiTask("coffee", "Compile CoffeeScript files into JavaScript", function() {
               var options = grunt.helper("options", this);
          -    var data = this.data;
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
           
          -      dest = grunt.template.process(dest);
          +    var srcFiles;
          +    var taskOutput;
          +    var sourceCode;
          +    var sourceCompiled;
          +    var helperOptions;
           
          -      var coffeeOutput = [];
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +
          +      taskOutput = [];
           
                 srcFiles.forEach(function(srcFile) {
          -        var coffeeOptions = _.extend({filename: srcFile}, options);
          -        var coffeeSource = grunt.file.read(srcFile);
          +        helperOptions = _.extend({filename: srcFile}, options);
          +        sourceCode = grunt.file.read(srcFile);
          +
          +        sourceCompiled = grunt.helper("coffee", sourceCode, helperOptions);
           
          -        coffeeOutput.push(grunt.helper("coffee", coffeeSource, coffeeOptions));
          +        taskOutput.push(sourceCompiled);
                 });
           
          -      if (coffeeOutput.length > 0) {
          -        grunt.file.write(dest, coffeeOutput.join("\n"));
          -        grunt.log.writeln("File '" + dest + "' created.");
          +      if (taskOutput.length > 0) {
          +        grunt.file.write(file.dest, taskOutput.join("\n"));
          +        grunt.log.writeln("File '" + file.dest + "' created.");
                 }
               });
             });
          diff --git a/node_modules/grunt-contrib/tasks/compress.js b/node_modules/grunt-contrib/tasks/compress.js
          index 55caa8c23..634f5eefd 100644
          --- a/node_modules/grunt-contrib/tasks/compress.js
          +++ b/node_modules/grunt-contrib/tasks/compress.js
          @@ -1,27 +1,109 @@
           /**
          -* Task: compress
          -* Description: Compress files
          -* Dependencies: zipstream / tar / fstream
          -* Contributor: @ctalkington
          -* Inspired by: @jzaefferer (jquery-validation)
          -*/
          + * Task: compress
          + * Description: Compress files
          + * Dependencies: zipstream / tar / fstream
          + * Contributor: @ctalkington
          + */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          -  var async = grunt.utils.async;
          +  "use strict";
          +
          +  var fs = require("fs");
          +  var path = require("path");
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.file.exists = grunt.file.exists || fs.existsSync || path.existsSync;
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var async = grunt.util.async;
          +
          +  var getSize = function(filename) {
          +    try {
          +      return fs.statSync(filename).size;
          +    } catch (e) {
          +      return 0;
          +    }
          +  };
          +
          +  var findBasePath = function(srcFiles) {
          +    var basePaths = [];
          +    var dirName;
          +
          +    srcFiles.forEach(function(srcFile) {
          +      dirName = path.dirname(srcFile);
          +      dirName = path.normalize(dirName);
          +
          +      basePaths.push(dirName.split(path.sep));
          +    });
          +
          +    basePaths = _.intersection.apply([], basePaths);
          +
          +    return path.join.apply(path, basePaths);
          +  };
          +
          +  var tempCopy = function(srcFiles, tempDir, options) {
          +    var newFiles = [];
          +    var newMeta = {};
          +
          +    var filename;
          +    var relative;
          +    var destPath;
          +
          +    var basePath = options.basePath || findBasePath(srcFiles);
          +
          +    srcFiles.forEach(function(srcFile) {
          +      filename = path.basename(srcFile);
          +      relative = path.dirname(srcFile);
          +      relative = path.normalize(relative);
          +
          +      if (options.flatten) {
          +        relative = "";
          +      } else if (basePath && basePath.length > 1) {
          +        relative = _(relative).chain().strRight(basePath).trim(path.sep).value();
          +      }
          +
          +      // make paths outside grunts working dir relative
          +      relative = relative.replace(/\.\.(\/|\\)/g, "");
          +
          +      destPath = path.join(tempDir, relative, filename);
          +
          +      newFiles.push(destPath);
          +      newMeta[destPath] = {name: path.join(relative, filename)};
          +
          +      grunt.verbose.writeln("Adding " + srcFile + " to temporary structure.");
          +      grunt.file.copy(srcFile, destPath);
          +    });
          +
          +    return [newFiles, newMeta];
          +  };
           
             grunt.registerMultiTask("compress", "Compress files.", function() {
          -    var options = grunt.helper("options", this, {mode: null, basePath: null, level: 1});
          +    var options = grunt.helper("options", this, {
          +      mode: null,
          +      basePath: false,
          +      flatten: false,
          +      level: 1
          +    });
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
          +
               var supported = ["zip", "tar", "tgz", "gzip"];
               var helper = options.mode + "Helper";
          -    var data = this.data;
               var done = this.async();
           
          -    if (options.basePath !== null) {
          -      options.basePath = _(options.basePath).rtrim("/");
          +
          +    if (options.basePath) {
          +      options.basePath = path.normalize(options.basePath);
          +      options.basePath = _(options.basePath).trim(path.sep);
               }
           
          -    if (options.mode == 'tgz') {
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    if (options.mode === "tgz") {
                 helper = "tarHelper";
               }
           
          @@ -31,28 +113,24 @@ module.exports = function(grunt) {
                 return;
               }
           
          -    async.forEachSeries(Object.keys(data.files), function(dest, next) {
          -      var src = data.files[dest];
          -      dest = grunt.template.process(dest);
          -
          -      if (_.isArray(src)) {
          -        src.forEach(function(s, k) {
          -          src[k] = grunt.template.process(s);
          -        });
          -      } else {
          -        src = grunt.template.process(src);
          -      }
          +    var srcFiles;
          +    var destDir;
           
          -      var srcFiles = grunt.file.expandFiles(src);
          +    async.forEachSeries(this.files, function(file, next) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +      destDir = path.dirname(file.dest);
           
          -      if (options.mode == 'gzip' && srcFiles.length > 1) {
          -        grunt.warn("Cannot specify multiple input files for gzip compression.");
          +      if (options.mode === "gzip" && srcFiles.length > 1) {
          +        grunt.fail.warn("Cannot specify multiple input files for gzip compression.");
                   srcFiles = srcFiles[0];
                 }
           
          -      grunt.helper(helper, srcFiles, dest, options, function(written) {
          -        grunt.log.writeln('File "' + dest + '" created (' + written + ' bytes written).');
          +      if (grunt.file.exists(destDir) === false) {
          +        grunt.file.mkdir(destDir);
          +      }
           
          +      grunt.helper(helper, srcFiles, file.dest, options, function(written) {
          +        grunt.log.writeln('File "' + file.dest + '" created (' + written + ' bytes written).');
                   next();
                 });
           
          @@ -61,119 +139,85 @@ module.exports = function(grunt) {
               });
             });
           
          -  grunt.registerHelper("zipHelper", function(files, dest, options, callback) {
          -    var fs = require("fs");
          +  grunt.registerHelper("zipHelper", function(srcFiles, dest, options, callback) {
               var zip = require("zipstream").createZip(options);
          -    var destdir = _(dest).strLeftBack("/");
           
          -    if (require("path").existsSync(destdir) === false) {
          -      grunt.file.mkdir(destdir);
          -    }
          +    var destDir = path.dirname(dest);
          +    var tempDir = path.join(destDir, "zip_" + (new Date()).getTime());
           
          -    zip.on("error", function(e) {
          -      grunt.log.error(e);
          -      grunt.fail.warn("zipHelper failed.");
          -    });
          +    var copyResult = tempCopy(srcFiles, tempDir, options);
          +
          +    var zipFiles = _.uniq(copyResult[0]);
          +    var zipMeta = copyResult[1];
           
               zip.pipe(fs.createWriteStream(dest));
           
          -    function addFile(){
          -      if (!files.length) {
          +    var srcFile;
          +
          +    function addFile() {
          +      if (!zipFiles.length) {
                   zip.finalize(function(written) {
          +          grunt.helper("clean", tempDir);
                     callback(written);
                   });
                   return;
                 }
           
          -      var filepath = files.shift();
          -      var filename = _(filepath).strRightBack("/");
          -      var internal = _(filepath).strLeftBack("/");
          +      srcFile = zipFiles.shift();
           
          -      if (options.basePath !== null) {
          -        internal = _(internal).strRightBack(options.basePath);
          -      }
          -
          -      internal = internal + "/" + filename;
          -
          -      grunt.verbose.writeln("Adding " + filepath + " to zip.");
          -      zip.addFile(fs.createReadStream(filepath), {name: internal}, addFile);
          +      zip.addFile(fs.createReadStream(srcFile), zipMeta[srcFile], addFile);
               }
           
               addFile();
          +
          +    // TODO: node-zipstream v0.2.1 has issues that prevents this from working atm!
          +    zip.on("error", function(e) {
          +      grunt.log.error(e);
          +      grunt.fail.warn("zipHelper failed.");
          +    });
             });
           
          -  grunt.registerHelper("tarHelper", function(files, dest, options, callback) {
          +  grunt.registerHelper("tarHelper", function(srcFiles, dest, options, callback) {
               var fstream = require("fstream");
               var tar = require("tar");
               var zlib = require("zlib");
          -    var destdir = _(dest).strLeftBack("/");
          -    var destfile = _(dest).strRight("/");
          -    var tempdir = destdir + "/tar_temp";
          -    var tardir = _(destfile).strLeftBack(".");
          -    var tard;
          -
          -    function getSize(filename) {
          -      try {
          -        return require("fs").statSync(filename).size;
          -      } catch (e) {
          -        return 0;
          -      }
          -    }
           
          -    // support tar.gz naming when getting root folder for tar
          -    if (_(tardir).strRightBack(".") === "tar") {
          -      tardir = _(tardir).strLeftBack(".");
          -    }
          +    var destDir = path.dirname(dest);
          +    var destFile = path.basename(dest);
          +    var destFileExt = path.extname(destFile);
          +    var tempDir = path.join(destDir, "tar_" + (new Date()).getTime());
          +    var tarDir = _(destFile).strLeftBack(destFileExt);
           
          -    tardir = tempdir + "/" + tardir;
          +    var tarProcess;
           
          -    if (require("path").existsSync(destdir) === false) {
          -      grunt.file.mkdir(destdir);
          -    }
          +    tarDir = path.join(tempDir, tarDir);
           
          -    files.forEach(function(filepath) {
          -      var filename = _(filepath).strRightBack("/");
          -      var internal = _(filepath).strLeftBack("/");
          +    tempCopy(srcFiles, tarDir, options);
           
          -      if (options.basePath !== null) {
          -        internal = _(internal).strRightBack(options.basePath);
          -      }
          -
          -      internal = internal + "/" + filename;
          -
          -      grunt.verbose.writeln("Adding " + filepath + " to tar.");
          -      grunt.file.copy(filepath, tardir + internal);
          -    });
          -
          -    var reader = fstream.Reader({path: tardir, type: "Directory"});
          +    var reader = fstream.Reader({path: tarDir, type: "Directory"});
               var packer = tar.Pack();
               var gzipper = zlib.createGzip();
               var writer = fstream.Writer(dest);
           
          -    if (options.mode == 'tgz') {
          -      tard = reader.pipe(packer).pipe(gzipper).pipe(writer);
          +    if (options.mode === "tgz") {
          +      tarProcess = reader.pipe(packer).pipe(gzipper).pipe(writer);
               } else {
          -      tard = reader.pipe(packer).pipe(writer);
          +      tarProcess = reader.pipe(packer).pipe(writer);
               }
           
          -    tard.on("error", function(e) {
          +    tarProcess.on("error", function(e) {
                 grunt.log.error(e);
                 grunt.fail.warn("tarHelper failed.");
               });
           
          -    tard.on("close", function() {
          -      grunt.helper("clean", tempdir);
          +    tarProcess.on("close", function() {
          +      grunt.helper("clean", tempDir);
                 callback(getSize(dest));
               });
             });
           
             grunt.registerHelper("gzipHelper", function(file, dest, options, callback) {
               var zlib = require("zlib");
          -    var destdir = _(dest).strLeftBack("/");
          -
          -    if (require("path").existsSync(destdir) === false) {
          -      grunt.file.mkdir(destdir);
          -    }
           
               zlib.gzip(grunt.file.read(file), function(e, result) {
                 if (!e) {
          diff --git a/node_modules/grunt-contrib/tasks/copy.js b/node_modules/grunt-contrib/tasks/copy.js
          index ce482ffdf..f7ad74b0b 100644
          --- a/node_modules/grunt-contrib/tasks/copy.js
          +++ b/node_modules/grunt-contrib/tasks/copy.js
          @@ -1,64 +1,98 @@
           /**
          -* Task: copy
          -* Description: Copy files into another directory
          -* Contributor: @ctalkington
          -*/
          + * Task: copy
          + * Description: Copy files into another directory
          + * Contributor: @ctalkington
          + */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          -  var kindOf = grunt.utils.kindOf;
          +  "use strict";
          +
          +  var path = require("path");
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var kindOf = grunt.util.kindOf;
          +
          +  var findBasePath = function(srcFiles) {
          +    var basePaths = [];
          +    var dirName;
          +
          +    srcFiles.forEach(function(srcFile) {
          +      dirName = path.dirname(srcFile);
          +      dirName = path.normalize(dirName);
          +
          +      basePaths.push(dirName.split(path.sep));
          +    });
          +
          +    basePaths = _.intersection.apply([], basePaths);
          +
          +    return path.join.apply(path, basePaths);
          +  };
           
             grunt.registerMultiTask("copy", "Copy files into another directory.", function() {
          -    var options = grunt.helper("options", this, {basePath: null, stripString: null});
          -    var data = this.data;
          +    var options = grunt.helper("options", this, {
          +      basePath: false,
          +      flatten: false,
          +      processName: false,
          +      processContent: false,
          +      processContentExclude: []
          +    });
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
          +
          +    var copyOptions = {
          +      process: options.processContent,
          +      noProcess: options.processContentExclude
          +    };
           
          -    if (options.basePath !== null) {
          -      options.basePath = _(options.basePath).trim("/");
          +    if (options.basePath) {
          +      options.basePath = path.normalize(options.basePath);
          +      options.basePath = _(options.basePath).trim(path.sep);
               }
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    var srcFiles;
          +
          +    var basePath;
          +    var filename;
          +    var relative;
          +    var destFile;
           
          -      dest = grunt.template.process(dest);
          -      dest = _(dest).trim("/");
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
           
          -      if (require("path").existsSync(dest) === false) {
          -        grunt.file.mkdir(dest);
          -      }
          +      basePath = options.basePath || findBasePath(srcFiles);
           
          -      var count = 0;
          +      grunt.log.write("Copying file(s)" + ' to "' + file.dest + '"...');
           
                 srcFiles.forEach(function(srcFile) {
          -        var filename = _(srcFile).strRightBack("/");
          -        var relative = _(srcFile).strLeftBack("/");
          +        filename = path.basename(srcFile);
          +        relative = path.dirname(srcFile);
          +        relative = path.normalize(relative);
           
          -        if (relative === filename) {
          +        if (options.flatten) {
                     relative = "";
          +        } else if (basePath && basePath.length > 1) {
          +          relative = _(relative).chain().strRight(basePath).trim(path.sep).value();
                   }
           
          -        if (options.basePath !== null && options.basePath.length > 1) {
          -          relative = _(relative).strRightBack(options.basePath);
          -          relative = _(relative).trim("/");
          +        if (options.processName && kindOf(options.processName) === "function") {
          +          filename = options.processName(filename);
                   }
           
          -        if (options.stripString !== null) {
          -          filename = filename.replace(options.stripString, "");
          -        }
          -
          -        // handle paths outside of grunts working dir
          -        relative = relative.replace(/\.\.\//g, "");
          -
          -        if (relative.length > 0) {
          -          relative = relative + "/";
          -        }
          +        // make paths outside grunts working dir relative
          +        relative = relative.replace(/\.\.(\/|\\)/g, "");
           
          -        grunt.file.copy(srcFile, dest + "/" + relative + filename);
          +        destFile = path.join(file.dest, relative, filename);
           
          -        count++;
          +        grunt.file.copy(srcFile, destFile, copyOptions);
                 });
           
          -      grunt.log.writeln("Copied " + count + ' file(s) to "'  + dest + '".');
          +      grunt.log.ok();
               });
             });
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/tasks/handlebars.js b/node_modules/grunt-contrib/tasks/handlebars.js
          index e59b323c7..20d7837a0 100644
          --- a/node_modules/grunt-contrib/tasks/handlebars.js
          +++ b/node_modules/grunt-contrib/tasks/handlebars.js
          @@ -6,37 +6,47 @@
            */
           
           module.exports = function(grunt) {
          +  "use strict";
          +
             grunt.registerMultiTask("handlebars", "Compile handlebars templates to JST file", function() {
               var options = grunt.helper("options", this, {namespace: "JST"});
          -    var data = this.data;
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
           
          -      dest = grunt.template.process(dest);
          +    var srcFiles;
          +    var taskOutput;
          +    var sourceCode;
          +    var sourceCompiled;
           
          -      var handlebarOutput = [];
          -      var handlebarNamespace = "this['" + options.namespace + "']";
          +    var helperNamespace = "this['" + options.namespace + "']";
           
          -      handlebarOutput.push(handlebarNamespace + " = " + handlebarNamespace + " || {};");
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +
          +      taskOutput = [];
          +      taskOutput.push(helperNamespace + " = " + helperNamespace + " || {};");
           
                 srcFiles.forEach(function(srcFile) {
          -        var handlebarSource = grunt.file.read(srcFile);
          +        sourceCode = grunt.file.read(srcFile);
          +
          +        sourceCompiled = grunt.helper("handlebars", sourceCode, srcFile, helperNamespace);
           
          -        handlebarOutput.push(grunt.helper("handlebars", handlebarSource, srcFile, handlebarNamespace));
          +        taskOutput.push(sourceCompiled);
                 });
           
          -      if (handlebarOutput.length > 0) {
          -        grunt.file.write(dest, handlebarOutput.join("\n\n"));
          -        grunt.log.writeln("File '" + dest + "' created.");
          +      if (taskOutput.length > 0) {
          +        grunt.file.write(file.dest, taskOutput.join("\n\n"));
          +        grunt.log.writeln("File '" + file.dest + "' created.");
                 }
               });
             });
           
             grunt.registerHelper("handlebars", function(source, filepath, namespace) {
               try {
          -      var output = "Handlebars.template("+require("handlebars").precompile(source)+");";
          +      var output = "Handlebars.template(" + require("handlebars").precompile(source) + ");";
                 return namespace + "['" + filepath + "'] = " + output;
               } catch (e) {
                 grunt.log.error(e);
          diff --git a/node_modules/grunt-contrib/tasks/helpers.js b/node_modules/grunt-contrib/tasks/helpers.js
          index ff6fe9f1a..126cfc468 100644
          --- a/node_modules/grunt-contrib/tasks/helpers.js
          +++ b/node_modules/grunt-contrib/tasks/helpers.js
          @@ -5,9 +5,14 @@
            */
           
           module.exports = function(grunt) {
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
             // Helper for consistent options key access across contrib tasks.
             grunt.registerHelper("options", function(data, defaults) {
          -    var _ = grunt.utils._;
          +    var _ = grunt.util._;
               var namespace = data.nameArgs.split(":");
               var task = grunt.config(_.flatten([namespace, "options"]));
               var global_subtask = namespace.length > 1 ? grunt.config(_.flatten(["options", namespace])) : {};
          @@ -15,4 +20,53 @@ module.exports = function(grunt) {
           
               return _.defaults({}, task, global_subtask, global, defaults || {});
             });
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  // Temporary helper for normalizing files object
          +  grunt.registerHelper("normalizeMultiTaskFiles", function(data, target) {
          +    var prop, obj;
          +    var files = [];
          +    if (grunt.util.kindOf(data) === 'object') {
          +      if ('src' in data || 'dest' in data) {
          +        obj = {};
          +        if ('src' in data) { obj.src = data.src; }
          +        if ('dest' in data) { obj.dest = data.dest; }
          +        files.push(obj);
          +      } else if (grunt.util.kindOf(data.files) === 'object') {
          +        for (prop in data.files) {
          +          files.push({src: data.files[prop], dest: prop});
          +        }
          +      } else if (Array.isArray(data.files)) {
          +        data.files.forEach(function(obj) {
          +          var prop;
          +          if ('src' in obj || 'dest' in obj) {
          +            files.push(obj);
          +          } else {
          +            for (prop in obj) {
          +              files.push({src: obj[prop], dest: prop});
          +            }
          +          }
          +        });
          +      }
          +    } else {
          +      files.push({src: data, dest: target});
          +    }
          +
          +    // Process each normalized file object as a template.
          +    files.forEach(function(obj) {
          +      // Process src as a template (recursively, if necessary).
          +      if ('src' in obj) {
          +        obj.src = grunt.util.recurse(obj.src, function(src) {
          +          if (typeof src !== 'string') { return src; }
          +          return grunt.template.process(src);
          +        });
          +      }
          +      if ('dest' in obj) {
          +        // Process dest as a template.
          +        obj.dest = grunt.template.process(obj.dest);
          +      }
          +    });
          +
          +    return files;
          +  });
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/tasks/jade.js b/node_modules/grunt-contrib/tasks/jade.js
          index 9f079cf9a..8d6efd177 100644
          --- a/node_modules/grunt-contrib/tasks/jade.js
          +++ b/node_modules/grunt-contrib/tasks/jade.js
          @@ -1,46 +1,58 @@
           /**
            * Task: jade
            * Description: Compile Jade templates to HTML
          - * Dependencies: jade, path
          + * Dependencies: jade
            * Contributor: @errcw
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var kindOf = grunt.util.kindOf;
           
             grunt.registerMultiTask("jade", "Compile Jade templates into HTML.", function() {
          -    var path = require("path");
          +    var options = grunt.helper("options", this, {data: {}});
           
          -    var options = grunt.helper("options", this);
          -    var data = this.data;
          -    var jadeData = options.data;
          +    grunt.verbose.writeflags(options, "Options");
           
          -    if (_.isEmpty(jadeData) === false) {
          -      _.each(jadeData, function(value, key) {
          -        if (_.isString(value)) {
          -          jadeData[key] = grunt.template.process(value);
          -        }
          -      });
          -    }
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    var helperData = options.data;
           
          -      dest = grunt.template.process(dest);
          +    _.each(helperData, function(value, key) {
          +      if (kindOf(value) === "string") {
          +        helperData[key] = grunt.template.process(value);
          +      }
          +    });
          +
          +    var srcFiles;
          +    var taskOutput;
          +    var sourceCode;
          +    var sourceCompiled;
          +    var helperOptions;
           
          -      var jadeOutput = [];
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +
          +      taskOutput = [];
           
                 srcFiles.forEach(function(srcFile) {
          -        var jadeOptions = _.extend({filename: srcFile}, options);
          -        var jadeSource = grunt.file.read(srcFile);
          +        helperOptions = _.extend({filename: srcFile}, options);
          +        sourceCode = grunt.file.read(srcFile);
          +
          +        sourceCompiled = grunt.helper("jade", sourceCode, helperOptions, helperData);
           
          -        jadeOutput.push(grunt.helper("jade", jadeSource, jadeOptions, jadeData));
          +        taskOutput.push(sourceCompiled);
                 });
           
          -      if (jadeOutput.length > 0) {
          -        grunt.file.write(dest, jadeOutput.join("\n"));
          -        grunt.log.writeln("File '" + dest + "' created.");
          +      if (taskOutput.length > 0) {
          +        grunt.file.write(file.dest, taskOutput.join("\n\n"));
          +        grunt.log.writeln("File '" + file.dest + "' created.");
                 }
               });
             });
          diff --git a/node_modules/grunt-contrib/tasks/jst.js b/node_modules/grunt-contrib/tasks/jst.js
          index e73a8216d..0fa4aa547 100644
          --- a/node_modules/grunt-contrib/tasks/jst.js
          +++ b/node_modules/grunt-contrib/tasks/jst.js
          @@ -6,92 +6,49 @@
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          +  "use strict";
          +
          +  var _ = require("underscore");
           
             grunt.registerMultiTask("jst", "Compile underscore templates to JST file", function() {
               var options = grunt.helper("options", this, {namespace: "JST", templateSettings: {}});
          -    var data = this.data;
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
           
          -      dest = grunt.template.process(dest);
          +    var srcFiles;
          +    var taskOutput;
          +    var sourceCode;
          +    var sourceCompiled;
           
          -      var jstOutput = [];
          -      var jstNamespace = "this['" + options.namespace + "']";
          +    var helperNamespace = "this['" + options.namespace + "']";
           
          -      jstOutput.push(jstNamespace + " = " + jstNamespace + " || {};");
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +
          +      taskOutput = [];
          +      taskOutput.push(helperNamespace + " = " + helperNamespace + " || {};");
           
                 srcFiles.forEach(function(srcFile) {
          -        var jstSource = grunt.file.read(srcFile);
          +        sourceCode = grunt.file.read(srcFile);
          +
          +        sourceCompiled = grunt.helper("jst", sourceCode, srcFile, helperNamespace, options.templateSettings);
           
          -        jstOutput.push(grunt.helper("jst", jstSource, srcFile, jstNamespace, options.templateSettings));
          +        taskOutput.push(sourceCompiled);
                 });
           
          -      if (jstOutput.length > 0) {
          -        grunt.file.write(dest, jstOutput.join("\n\n"));
          -        grunt.log.writeln("File '" + dest + "' created.");
          +      if (taskOutput.length > 0) {
          +        grunt.file.write(file.dest, taskOutput.join("\n\n"));
          +        grunt.log.writeln("File '" + file.dest + "' created.");
                 }
               });
             });
           
             grunt.registerHelper("jst", function(source, filepath, namespace, templateSettings) {
          -    // Derived from underscore 1.3.3
          -    function underscoreTemplating(text, data, settings) {
          -        settings = _.defaults(settings || {}, _.templateSettings);
          -
          -        var noMatch = /.^/;
          -
          -        var escapes = {
          -          '\\':   '\\',
          -          "'":    "'",
          -          r:      '\r',
          -          n:      '\n',
          -          t:      '\t',
          -          u2028:  '\u2028',
          -          u2029:  '\u2029'
          -        };
          -
          -        for (var key in escapes) escapes[escapes[key]] = key;
          -        var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
          -        var unescaper = /\\(\\|'|r|n|t|u2028|u2029)/g;
          -
          -        var unescape = function(code) {
          -          return code.replace(unescaper, function(match, escape) {
          -            return escapes[escape];
          -          });
          -        };
          -
          -        // Compile the template source, taking care to escape characters that
          -        // cannot be included in a string literal and then unescape them in code
          -        // blocks.
          -        var source = "__p+='" + text
          -          .replace(escaper, function(match) {
          -            return '\\' + escapes[match];
          -          })
          -          .replace(settings.escape || noMatch, function(match, code) {
          -            return "'+\n((__t=(" + unescape(code) + "))==null?'':_.escape(__t))+\n'";
          -          })
          -          .replace(settings.interpolate || noMatch, function(match, code) {
          -            return "'+\n((__t=(" + unescape(code) + "))==null?'':__t)+\n'";
          -          })
          -          .replace(settings.evaluate || noMatch, function(match, code) {
          -            return "';\n" + unescape(code) + "\n__p+='";
          -          }) + "';\n";
          -
          -        // If a variable is not specified, place data values in local scope.
          -        if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
          -
          -        source = "var __t,__p='',__j=Array.prototype.join," +
          -        "print=function(){__p+=__j.call(arguments,'')};\n" +
          -        source + "return __p;\n";
          -
          -        return 'function(' + (settings.variable || 'obj') + '){\n' + source + '}';
          -    }
          -
               try {
          -      return namespace + "['" + filepath + "'] = " + underscoreTemplating(source);
          +      return namespace + "['" + filepath + "'] = " + _.template(source, false, templateSettings).source + ";";
               } catch (e) {
                 grunt.log.error(e);
                 grunt.fail.warn("JST failed to compile.");
          diff --git a/node_modules/grunt-contrib/tasks/less.js b/node_modules/grunt-contrib/tasks/less.js
          index a2e4656ac..347a1f243 100644
          --- a/node_modules/grunt-contrib/tasks/less.js
          +++ b/node_modules/grunt-contrib/tasks/less.js
          @@ -6,8 +6,13 @@
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          -  var async = grunt.utils.async;
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var async = grunt.util.async;
           
             var lessError = function(e) {
               var pos = '[' + 'L' + e.line + ':' + ('C' + e.column) + ']';
          @@ -17,27 +22,33 @@ module.exports = function(grunt) {
           
             grunt.registerMultiTask("less", "Compile LESS files to CSS", function() {
               var options = grunt.helper("options", this);
          -    var data = this.data;
          +
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
          +
               var done = this.async();
           
          -    async.forEachSeries(Object.keys(data.files), function(dest, next) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    var srcFiles;
          +    var sourceCode;
          +    var helperOptions;
           
          -      dest = grunt.template.process(dest);
          +    async.forEachSeries(this.files, function(file, next) {
          +     srcFiles = grunt.file.expandFiles(file.src);
           
                 async.concatSeries(srcFiles, function(srcFile, nextConcat) {
          -        var lessOptions = _.extend({filename: srcFile}, options);
          -        var lessSource = grunt.file.read(srcFile);
          +        helperOptions = _.extend({filename: srcFile}, options);
          +        sourceCode = grunt.file.read(srcFile);
           
          -        grunt.helper("less", lessSource, lessOptions, function(css) {
          +        grunt.helper("less", sourceCode, helperOptions, function(css) {
                     nextConcat(css);
                   });
                 }, function(css) {
          -          grunt.file.write(dest, css);
          -          grunt.log.writeln("File '" + dest + "' created.");
          +        grunt.file.write(file.dest, css || "");
          +        grunt.log.writeln("File '" + file.dest + "' created.");
           
          -          next();
          +        next();
                 });
           
               }, function() {
          diff --git a/node_modules/grunt-contrib/tasks/mincss.js b/node_modules/grunt-contrib/tasks/mincss.js
          index ab3a53200..19828147c 100644
          --- a/node_modules/grunt-contrib/tasks/mincss.js
          +++ b/node_modules/grunt-contrib/tasks/mincss.js
          @@ -6,28 +6,34 @@
            */
           
           module.exports = function(grunt) {
          +  "use strict";
          +
             grunt.registerMultiTask("mincss", "Minify CSS files", function() {
               var options = grunt.helper("options", this);
          -    var data = this.data;
           
          -    Object.keys(data.files).forEach(function(dest) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          -      var source = grunt.helper("concat", srcFiles);
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
           
          -      dest = grunt.template.process(dest);
          +    var srcFiles;
          +    var taskOutput;
          +    var sourceCode;
           
          -      var min = grunt.helper("mincss", source);
          +    this.files.forEach(function(file) {
          +      srcFiles = grunt.file.expandFiles(file.src);
          +      sourceCode = grunt.helper("concat", srcFiles);
          +      taskOutput = grunt.helper("mincss", sourceCode);
           
          -      if (min.length > 0) {
          -        grunt.file.write(dest, min);
          -        grunt.log.writeln("File '" + dest + "' created.");
          -        grunt.helper('min_max_info', min, source);
          +      if (taskOutput.length > 0) {
          +        grunt.file.write(file.dest, taskOutput);
          +        grunt.log.writeln("File '" + file.dest + "' created.");
          +        grunt.helper('min_max_info', taskOutput, sourceCode);
                 }
               });
             });
           
          -  grunt.registerHelper("mincss", function(source, callback) {
          +  grunt.registerHelper("mincss", function(source) {
               try {
                 return require("clean-css").process(source);
               } catch (e) {
          diff --git a/node_modules/grunt-contrib/tasks/requirejs.js b/node_modules/grunt-contrib/tasks/requirejs.js
          index 5f4d4f882..276a8d576 100644
          --- a/node_modules/grunt-contrib/tasks/requirejs.js
          +++ b/node_modules/grunt-contrib/tasks/requirejs.js
          @@ -6,12 +6,19 @@
            */
           
           module.exports = function(grunt) {
          +  "use strict";
           
          -  var requirejs = require('requirejs');
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var kindOf = grunt.util.kindOf;
          +
          +  var requirejs = require("requirejs");
           
             // TODO: extend this to send build log to grunt.log.ok / grunt.log.error
             // by overriding the r.js logger (or submit issue to r.js to expand logging support)
          -  requirejs.define('node/print', [], function () {
          +  requirejs.define("node/print", [], function() {
               return function print(msg) {
                 if (msg.substring(0, 5) === "Error") {
                   grunt.log.errorlns(msg);
          @@ -24,6 +31,15 @@ module.exports = function(grunt) {
           
             grunt.registerMultiTask("requirejs", "Build a RequireJS project.", function() {
               var options = grunt.helper("options", this, {logLevel: 0});
          +
          +    _.each(options, function(value, key) {
          +      if (kindOf(value) === "string") {
          +        options[key] = grunt.template.process(value);
          +      }
          +    });
          +
          +    grunt.verbose.writeflags(options, "Options");
          +
               requirejs.optimize(options);
             });
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/tasks/stylus.js b/node_modules/grunt-contrib/tasks/stylus.js
          index 75c82cf1e..801685b2e 100644
          --- a/node_modules/grunt-contrib/tasks/stylus.js
          +++ b/node_modules/grunt-contrib/tasks/stylus.js
          @@ -6,32 +6,43 @@
            */
           
           module.exports = function(grunt) {
          -  var _ = grunt.utils._;
          -  var async = grunt.utils.async;
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var _ = grunt.util._;
          +  var async = grunt.util.async;
           
             grunt.registerMultiTask("stylus", "Compile Stylus files into CSS", function() {
          -    var options = grunt.helper('options', this);
          -    var data = this.data;
          +    var options = grunt.helper("options", this);
          +
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // TODO: ditch this when grunt v0.4 is released
          +    this.files = this.files || grunt.helper("normalizeMultiTaskFiles", this.data, this.target);
          +
               var done = this.async();
           
          -    async.forEachSeries(Object.keys(data.files), function(dest, next) {
          -      var src = data.files[dest];
          -      var srcFiles = grunt.file.expandFiles(src);
          +    var srcFiles;
          +    var sourceCode;
          +    var helperOptions;
           
          -      dest = grunt.template.process(dest);
          +    async.forEachSeries(this.files, function(file, next) {
          +      srcFiles = grunt.file.expandFiles(file.src);
           
                 async.concatSeries(srcFiles, function(srcFile, nextConcat) {
          -        var stylusOptions = _.extend({filename: srcFile}, options);
          -        var stylusSource = grunt.file.read(srcFile);
          +        helperOptions = _.extend({filename: srcFile}, options);
          +        sourceCode = grunt.file.read(srcFile);
           
          -        grunt.helper("stylus", stylusSource, stylusOptions, function(css) {
          +        grunt.helper("stylus", sourceCode, helperOptions, function(css) {
                     nextConcat(css);
                   });
                 }, function(css) {
          -          grunt.file.write(dest, css);
          -          grunt.log.writeln("File '" + dest + "' created.");
          +        grunt.file.write(file.dest, css);
          +        grunt.log.writeln("File '" + file.dest + "' created.");
           
          -          next();
          +        next();
                 });
               }, function() {
                 done();
          @@ -40,17 +51,22 @@ module.exports = function(grunt) {
           
             grunt.registerHelper("stylus", function(source, options, callback) {
               var s = require("stylus")(source);
          +    
          +    // load nib if available
          +    try {
          +      s.use(require("nib")());
          +    } catch (e) {}
           
               _.each(options, function(value, key) {
                 s.set(key, value);
               });
           
          -    s.render(function(e, css) {
          -      if (!e) {
          -        callback(css);
          -      } else {
          -        grunt.log.error(e);
          +    s.render(function(err, css) {
          +      if (err) {
          +        grunt.log.error(err);
                   grunt.fail.warn("Stylus failed to compile.");
          +      } else {
          +        callback(css);
                 }
               });
             });
          diff --git a/node_modules/grunt-contrib/tasks/yuidoc.js b/node_modules/grunt-contrib/tasks/yuidoc.js
          new file mode 100644
          index 000000000..3187836f8
          --- /dev/null
          +++ b/node_modules/grunt-contrib/tasks/yuidoc.js
          @@ -0,0 +1,65 @@
          +/**
          + * Task: yuidoc
          + * Description: Generates YUIDocs for the provided directory
          + * Dependencies: yuidocjs
          + * Contributor: @gcpantazis
          + */
          +
          +module.exports = function(grunt) {
          +  "use strict";
          +
          +  // TODO: ditch this when grunt v0.4 is released
          +  grunt.util = grunt.util || grunt.utils;
          +
          +  var kindOf = grunt.util.kindOf;
          +
          +  grunt.registerMultiTask("yuidoc", "Create YUIDocs", function() {
          +
          +    var Y = require("yuidocjs");
          +    var done = this.async();
          +    var starttime = (new Date()).getTime();
          +    var json;
          +
          +    var options = grunt.helper("options", this, {
          +      quiet: true
          +    });
          +
          +    // when invoking yuidocs via node, the project details
          +    // are assigned under the options object using the key
          +    // 'project'
          +    options.project = this.data;
          +
          +    grunt.verbose.writeflags(options, "Options");
          +
          +    // Catch if required fields are not provided.
          +    if ( !options.paths ) {
          +      grunt.fail.warn("No path(s) provided for YUIDoc to scan.");
          +    }
          +    if ( !options.outdir ) {
          +      grunt.fail.warn("You must specify a directory for YUIDoc output.");
          +    }
          +
          +    // Input path: array expected, but grunt conventions allows for either a string or an array.
          +    if (kindOf(options.paths) === "string") {
          +      options.paths = [ options.paths ];
          +    }
          +
          +    json = (new Y.YUIDoc(options)).run();
          +
          +    options = Y.Project.mix(json, options);
          +
          +    if (!options.parseOnly) {
          +      var builder = new Y.DocBuilder(options, json);
          +
          +      grunt.log.writeln("Start YUIDoc compile...");
          +      grunt.log.writeln("Scanning: " + grunt.log.wordlist(options.paths));
          +      grunt.log.writeln("Output: " + (options.outdir).cyan);
          +
          +      builder.compile(function() {
          +        var endtime = (new Date()).getTime();
          +        grunt.log.writeln("YUIDoc compile completed in " + ((endtime - starttime) / 1000) + " seconds");
          +        done();
          +      });
          +    }
          +  });
          +};
          diff --git a/node_modules/grunt-contrib/test/compress_test.js b/node_modules/grunt-contrib/test/compress_test.js
          index e8f1aa8f1..3ad75aa52 100644
          --- a/node_modules/grunt-contrib/test/compress_test.js
          +++ b/node_modules/grunt-contrib/test/compress_test.js
          @@ -1,91 +1,114 @@
          -var grunt = require("grunt"),
          -    _ = grunt.utils._;
          +var grunt = require("grunt");
          +var fs = require("fs");
          +
          +var getSize = function(filename) {
          +  try {
          +    return fs.statSync(filename).size;
          +  } catch (e) {
          +    return 0;
          +  }
          +};
           
           grunt.loadTasks("../tasks");
           
          -exports.zip = {
          -  main: function(test) {
          -    function getSize(filename) {
          -      try {
          -        return require("fs").statSync(filename).size;
          -      } catch (e) {
          -        return 0;
          -      }
          -    }
          -
          -    test.expect(17);
          +exports.compress = {
          +  zip: function(test) {
          +    test.expect(6);
           
          -    // Zip Tests
          -    var expectA = 314;
          +    var expectA = 310;
               var resultA = getSize("fixtures/output/compress_test_files.zip");
               test.equal(expectA, resultA, "should compress files into zip");
           
          -    var expectB = 1346;
          -    var resultB = getSize("fixtures/output/compress_test_folders.zip");
          -    test.equal(expectB, resultB, "should compress folders and their files into zip");
          +    var expectB = 1330;
          +    var resultB = getSize("fixtures/output/compress_test_v0.3.9.zip");
          +    test.equal(expectB, resultB, "should compress folders and their files into zip (with template support)");
           
          -    var expectC = 642;
          +    var expectC = 634;
               var resultC = getSize("fixtures/output/compress_test_array.zip");
               test.equal(expectC, resultC, "should compress array of files and folders into zip");
           
          -    var expectD = 394;
          +    var expectD = 310;
               var resultD = getSize("fixtures/output/compress_test_files_template.zip");
               test.equal(expectD, resultD, "should compress files and folders into zip (grunt template in source)");
           
          -    var expectE = 1346;
          -    var resultE = getSize("fixtures/output/compress_test_v0.3.9.zip");
          -    test.equal(expectE, resultE, "should compress files and folders into zip (grunt template in dest)");
          +    var expectE = 874;
          +    var resultE = getSize("fixtures/output/compress_test_flatten.zip");
          +    test.equal(expectE, resultE, "should create a flat internal structure");
          +
          +    var expectF = 207;
          +    var resultF = getSize("fixtures/output/compress_test_outside_cwd.zip");
          +    test.equal(expectF, resultF, "should compress file outside of working dir");
           
          -    // Tar Tests
          -    var expectF = 3072;
          -    var resultF = getSize("fixtures/output/compress_test_files.tar");
          -    test.equal(expectF, resultF, "should add files into tar");
          +    test.done();
          +  },
          +  tar: function(test) {
          +    test.expect(6);
          +
          +    var expectA = 3072;
          +    var resultA = getSize("fixtures/output/compress_test_files.tar");
          +    test.equal(expectA, resultA, "should add files into tar");
           
          -    var expectG = 10752;
          -    var resultG = getSize("fixtures/output/compress_test_folders.tar");
          -    test.equal(expectG, resultG, "should add folders and their files into tar");
          +    var expectB = 10752;
          +    var resultB = getSize("fixtures/output/compress_test_v0.3.9.tar");
          +    test.equal(expectB, resultB, "should add folders and their files into tar (with template support)");
           
          -    var expectH = 5632;
          -    var resultH = getSize("fixtures/output/compress_test_array.tar");
          -    test.equal(expectH, resultH, "should add array of files and folders into tar");
          +    var expectC = 5632;
          +    var resultC = getSize("fixtures/output/compress_test_array.tar");
          +    test.equal(expectC, resultC, "should add array of files and folders into tar");
           
          -    var expectI = 3584;
          -    var resultI = getSize("fixtures/output/compress_test_files_template.tar");
          -    test.equal(expectI, resultI, "should add files and folders into tar (grunt template in source)");
          +    var expectD = 3072;
          +    var resultD = getSize("fixtures/output/compress_test_files_template.tar");
          +    test.equal(expectD, resultD, "should add files and folders into tar (grunt template in source)");
           
          -    var expectJ = 10752;
          -    var resultJ = getSize("fixtures/output/compress_test_v0.3.9.tar");
          -    test.equal(expectJ, resultJ, "should add files and folders into tar (grunt template in dest)");
          +    var expectE = 7168;
          +    var resultE = getSize("fixtures/output/compress_test_flatten.tar");
          +    test.equal(expectE, resultE, "should create a flat internal structure");
           
          -    // Tar Gzip Tests
          -    var expectK = true;
          -    var resultK = getSize("fixtures/output/compress_test_files.tgz") >= 200;
          -    test.equal(expectK, resultK, "should compress files into tar");
          +    var expectF = 2048;
          +    var resultF = getSize("fixtures/output/compress_test_outside_cwd.tar");
          +    test.equal(expectF, resultF, "should compress file outside of working dir");
           
          -    var expectL = true;
          -    var resultL = getSize("fixtures/output/compress_test_folders.tgz") >= 350;
          -    test.equal(expectL, resultL, "should compress folders and their files into tgz");
          +    test.done();
          +  },
          +  tgz: function(test) {
          +    test.expect(6);
           
          -    var expectM = true;
          -    var resultM = getSize("fixtures/output/compress_test_array.tgz") >= 300;
          -    test.equal(expectM, resultM, "should compress array of files and folders into tgz");
          +    var expectA = true;
          +    var resultA = getSize("fixtures/output/compress_test_files.tgz") >= 200;
          +    test.equal(expectA, resultA, "should compress files into tar");
           
          -    var expectN = true;
          -    var resultN = getSize("fixtures/output/compress_test_files_template.tgz") >= 225;
          -    test.equal(expectN, resultN, "should compress files and folders into tgz (grunt template in source)");
          +    var expectB = true;
          +    var resultB = getSize("fixtures/output/compress_test_v0.3.9.tgz") >= 350;
          +    test.equal(expectB, resultB, "should compress folders and their files into tgz (with template support)");
           
          -    var expectO = true;
          -    var resultO = getSize("fixtures/output/compress_test_v0.3.9.tgz") >= 300;
          -    test.equal(expectO, resultO, "should compress files and folders into tgz (grunt template in dest)");
          +    var expectC = true;
          +    var resultC = getSize("fixtures/output/compress_test_array.tgz") >= 300;
          +    test.equal(expectC, resultC, "should compress array of files and folders into tgz");
          +
          +    var expectD = true;
          +    var resultD = getSize("fixtures/output/compress_test_files_template.tgz") >= 200;
          +    test.equal(expectD, resultD, "should compress files and folders into tgz (grunt template in source)");
          +
          +    var expectE = true;
          +    var resultE = getSize("fixtures/output/compress_test_flatten.tgz") >= 320;
          +    test.equal(expectE, resultE, "should create a flat internal structure");
          +
          +    var expectF = true;
          +    var resultF = getSize("fixtures/output/compress_test_outside_cwd.tgz") >= 175;
          +    test.equal(expectF, resultF, "should compress file outside of working dir");
          +
          +    test.done();
          +  },
          +  gzip: function(test) {
          +    test.expect(2);
           
          -    // Gzip Tests
          -    var expectP = 52;
          -    var resultP = getSize("fixtures/output/compress_test_file.gz");
          -    test.equal(expectP, resultP, "should gzip file");
          +    var expectA = 52;
          +    var resultA = getSize("fixtures/output/compress_test_file.gz");
          +    test.equal(expectA, resultA, "should gzip file");
           
          -    var expectQ = 67;
          -    var resultQ = getSize("fixtures/output/compress_test_file2.gz");
          -    test.equal(expectQ, resultQ, "should gzip another file (multiple dest:source pairs)");
          +    var expectB = 67;
          +    var resultB = getSize("fixtures/output/compress_test_file2.gz");
          +    test.equal(expectB, resultB, "should gzip another file (multiple dest:source pairs)");
           
               test.done();
             }
          diff --git a/node_modules/grunt-contrib/test/copy_test.js b/node_modules/grunt-contrib/test/copy_test.js
          index 5c01f25ea..30176d9f8 100644
          --- a/node_modules/grunt-contrib/test/copy_test.js
          +++ b/node_modules/grunt-contrib/test/copy_test.js
          @@ -1,32 +1,31 @@
           var grunt = require("grunt");
          +var fs = require("fs");
           
           grunt.loadTasks("../tasks");
           
           exports.copy = {
             main: function(test) {
          -    var fs = require("fs");
          -
               test.expect(5);
           
          -    var expectA = ["test.css", "test.js"];
          -    var resultA = fs.readdirSync("fixtures/output/copy_test_files");
          -    test.deepEqual(expectA, resultA, "should copy several files (including prefixed file)");
          +    var expectA = ["test.css", "test.js"].sort();
          +    var resultA = fs.readdirSync("fixtures/output/copy_test_files").sort();
          +    test.deepEqual(expectA, resultA, "should copy several files");
           
          -    var expectB = ["folder_one", "folder_two", "test.css", "test.js"];
          -    var resultB = fs.readdirSync("fixtures/output/copy_test_folders");
          -    test.deepEqual(expectB, resultB, "should copy several folders and files");
          +    var expectB = ["folder_one", "folder_two", "test.css", "test.js"].sort();
          +    var resultB = fs.readdirSync("fixtures/output/copy_test_v0.3.9").sort();
          +    test.deepEqual(expectB, resultB, "should copy several folders and files (with template support)");
           
          -    var expectC = ["folder_one", "test.css", "test.js"];
          -    var resultC = fs.readdirSync("fixtures/output/copy_test_array");
          +    var expectC = ["folder_one", "test.css", "test.js"].sort();
          +    var resultC = fs.readdirSync("fixtures/output/copy_test_array").sort();
               test.deepEqual(expectC, resultC, "should copy several folders and files (based on array)");
           
          -    var expectD = ["folder_one", "folder_two", "test.css", "test.js"];
          -    var resultD = fs.readdirSync("fixtures/output/copy_test_v0.3.9");
          -    test.deepEqual(expectD, resultD, "should copy several folders and files (dest variable)");
          +    var expectD = ["one.css", "one.js", "test.css", "test.js", "two.css", "two.js"].sort();
          +    var resultD = fs.readdirSync("fixtures/output/copy_test_flatten").sort();
          +    test.deepEqual(expectD, resultD, "should create a flat structure");
           
          -    var expectE = ["copy_test.js"];
          -    var resultE = fs.readdirSync("fixtures/output/copy_test_root");
          -    test.deepEqual(expectE, resultE, "should copy a file from root working dir");
          +    var expectE = ["grunt-contrib"].sort();
          +    var resultE = fs.readdirSync("fixtures/output/copy_test_outside_cwd").sort();
          +    test.deepEqual(expectE, resultE, "should copy file outside of working dir");
           
               test.done();
             }
          diff --git a/node_modules/grunt-contrib/test/fixtures/copy/prefix-test.css b/node_modules/grunt-contrib/test/fixtures/copy/test.css
          similarity index 100%
          rename from node_modules/grunt-contrib/test/fixtures/copy/prefix-test.css
          rename to node_modules/grunt-contrib/test/fixtures/copy/test.css
          diff --git a/node_modules/grunt-contrib/test/fixtures/yuidoc/app/test.js b/node_modules/grunt-contrib/test/fixtures/yuidoc/app/test.js
          new file mode 100644
          index 000000000..c7a92ac1a
          --- /dev/null
          +++ b/node_modules/grunt-contrib/test/fixtures/yuidoc/app/test.js
          @@ -0,0 +1,27 @@
          +/**
          + @module App
          + @class Global
          + @static
          + */
          +
          +var App = App || {};
          +
          +App.Global = (function() {
          +
          +	var self = {
          +
          +		/**
          +		 This is a sample method.
          +		 @method App.Global.init
          +		 @param foo {String} A sample parameter.
          +		 */
          +		'init': function(foo) {
          +
          +			//
          +
          +		}
          +	};
          +
          +	return self;
          +
          +})();
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/test/fixtures/yuidoc/otherapp/test.js b/node_modules/grunt-contrib/test/fixtures/yuidoc/otherapp/test.js
          new file mode 100644
          index 000000000..e1cab6713
          --- /dev/null
          +++ b/node_modules/grunt-contrib/test/fixtures/yuidoc/otherapp/test.js
          @@ -0,0 +1,27 @@
          +/**
          + @module App
          + @class DeepClass
          + @static
          + */
          +
          +var App = App || {};
          +
          +App.DeepClass = (function() {
          +
          +	var self = {
          +
          +		/**
          +		 This is a sample method.
          +		 @method App.DeepClass.init
          +		 @param foo {String} A sample parameter.
          +		 */
          +		'init': function(foo) {
          +
          +			//
          +
          +		}
          +	};
          +
          +	return self;
          +
          +})();
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/test/grunt.js b/node_modules/grunt-contrib/test/grunt.js
          index f265f83c4..141dbb55f 100644
          --- a/node_modules/grunt-contrib/test/grunt.js
          +++ b/node_modules/grunt-contrib/test/grunt.js
          @@ -1,4 +1,8 @@
           module.exports = function(grunt) {
          +  "use strict";
          +
          +  grunt.file.mkdir("fixtures/output");
          +
             grunt.initConfig({
               pkg: {
                 name: "grunt-contrib",
          @@ -9,6 +13,10 @@ module.exports = function(grunt) {
                 test: "fixtures/compress/<%= pkg.name %>-<%= pkg.version %>"
               },
           
          +    vars: {
          +      requirejs_template: "fixtures/output/requirejs-template.js"
          +    },
          +
               test: {
                 tasks: ["*_test.js"],
                 clean: ["clean_task.js"]
          @@ -20,16 +28,23 @@ module.exports = function(grunt) {
           
               copy: {
                 test: {
          -        options: {
          -          basePath: "fixtures/copy",
          -          stripString: "prefix-"
          -        },
                   files: {
                     "fixtures/output/copy_test_files": "fixtures/copy/*",
          -          "fixtures/output/copy_test_folders": "fixtures/copy/**",
                     "fixtures/output/copy_test_v<%= pkg.version %>": "fixtures/copy/**",
          -          "fixtures/output/copy_test_array": ["fixtures/copy/*.*", "fixtures/copy/folder_one/*"],
          -          "fixtures/output/copy_test_root": "copy_test.js"
          +          "fixtures/output/copy_test_array": ["fixtures/copy/*.*", "fixtures/copy/folder_one/*"]
          +        }
          +      },
          +      flatten: {
          +        options: {
          +          flatten: true
          +        },
          +        files: {
          +          "fixtures/output/copy_test_flatten": "fixtures/copy/**"
          +        }
          +      },
          +      outside_cwd: {
          +        files: {
          +          "fixtures/output/copy_test_outside_cwd": ["../bin/*"]
                   }
                 }
               },
          @@ -49,42 +64,86 @@ module.exports = function(grunt) {
               compress: {
                 zip: {
                   options: {
          -          mode: "zip",
          -          basePath: "fixtures/compress",
          -          level: 1
          +          mode: "zip"
                   },
                   files: {
                     "fixtures/output/compress_test_files.zip": "fixtures/compress/*",
          -          "fixtures/output/compress_test_folders.zip": "fixtures/compress/**",
          +          "fixtures/output/compress_test_v<%= pkg.version %>.zip": "fixtures/compress/**",
                     "fixtures/output/compress_test_array.zip": ["fixtures/compress/test.*", "fixtures/compress/folder_one/*"],
          -          "fixtures/output/compress_test_files_template.zip": "<%= files.test %>/**",
          -          "fixtures/output/compress_test_v<%= pkg.version %>.zip": "fixtures/compress/**"
          +          "fixtures/output/compress_test_files_template.zip": "<%= files.test %>/**"
          +        }
          +      },
          +      zip_flatten: {
          +        options: {
          +          mode: "zip",
          +          flatten: true
          +        },
          +        files: {
          +          "fixtures/output/compress_test_flatten.zip": "fixtures/compress/**"
          +        }
          +      },
          +      zip_outside_cwd: {
          +        options: {
          +          mode: "zip"
          +        },
          +        files: {
          +          "fixtures/output/compress_test_outside_cwd.zip": ["../bin/*"]
                   }
                 },
                 tar: {
                   options: {
          -          mode: "tar",
          -          basePath: "fixtures/compress"
          +          mode: "tar"
                   },
                   files: {
                     "fixtures/output/compress_test_files.tar": "fixtures/compress/*",
          -          "fixtures/output/compress_test_folders.tar": "fixtures/compress/**",
          +          "fixtures/output/compress_test_v<%= pkg.version %>.tar": "fixtures/compress/**",
                     "fixtures/output/compress_test_array.tar": ["fixtures/compress/test.*", "fixtures/compress/folder_one/*"],
          -          "fixtures/output/compress_test_files_template.tar": "<%= files.test %>/**",
          -          "fixtures/output/compress_test_v<%= pkg.version %>.tar": "fixtures/compress/**"
          +          "fixtures/output/compress_test_files_template.tar": "<%= files.test %>/**"
          +        }
          +      },
          +      tar_flatten: {
          +        options: {
          +          mode: "tar",
          +          flatten: true
          +        },
          +        files: {
          +          "fixtures/output/compress_test_flatten.tar": "fixtures/compress/**"
          +        }
          +      },
          +      tar_outside_cwd: {
          +        options: {
          +          mode: "tar"
          +        },
          +        files: {
          +          "fixtures/output/compress_test_outside_cwd.tar": ["../bin/*"]
                   }
                 },
                 tgz: {
                   options: {
          -          mode: "tgz",
          -          basePath: "fixtures/compress",
          +          mode: "tgz"
                   },
                   files: {
                     "fixtures/output/compress_test_files.tgz": "fixtures/compress/*",
          -          "fixtures/output/compress_test_folders.tgz": "fixtures/compress/**",
          +          "fixtures/output/compress_test_v<%= pkg.version %>.tgz": "fixtures/compress/**",
                     "fixtures/output/compress_test_array.tgz": ["fixtures/compress/test.*", "fixtures/compress/folder_one/*"],
          -          "fixtures/output/compress_test_files_template.tgz": "<%= files.test %>/**",
          -          "fixtures/output/compress_test_v<%= pkg.version %>.tgz": "fixtures/compress/**"
          +          "fixtures/output/compress_test_files_template.tgz": "<%= files.test %>/**"
          +        }
          +      },
          +      tgz_flatten: {
          +        options: {
          +          mode: "tgz",
          +          flatten: true
          +        },
          +        files: {
          +          "fixtures/output/compress_test_flatten.tgz": "fixtures/compress/**"
          +        }
          +      },
          +      tgz_outside_cwd: {
          +        options: {
          +          mode: "tgz"
          +        },
          +        files: {
          +          "fixtures/output/compress_test_outside_cwd.tgz": ["../bin/*"]
                   }
                 },
                 gzip: {
          @@ -150,7 +209,8 @@ module.exports = function(grunt) {
                 compile: {
                   files: {
                     "fixtures/output/less_a.css": "fixtures/less/style.less",
          -          "fixtures/output/less_b.css": "fixtures/less/style.less"
          +          "fixtures/output/less_b.css": "fixtures/less/style.less",
          +          "fixtures/output/less_c.css": "fixtures/less/**/*.nomatches"
                   },
                   options: {
                     paths: ["fixtures/less/include"]
          @@ -173,6 +233,13 @@ module.exports = function(grunt) {
                     name: "project",
                     out: "fixtures/output/requirejs.js"
                   }
          +      },
          +      template: {
          +        options: {
          +          baseUrl: "fixtures/requirejs",
          +          name: "project",
          +          out: "<%= vars.requirejs_template %>"
          +        }
                 }
               },
           
          @@ -188,6 +255,32 @@ module.exports = function(grunt) {
                 }
               },
           
          +    yuidoc: {
          +      compileA: {
          +        "name": "Grunt Test",
          +        "description": "Grunt Test Description",
          +        "version": "1.2.1",
          +        "url": "http://test.com/",
          +        options: {
          +          paths: "fixtures/yuidoc/app/",
          +          outdir: "fixtures/output/yuidoca/"
          +        }
          +      },
          +      compileB: {
          +        "name": "Grunt Test",
          +        "description": "Grunt Test Description",
          +        "version": "1.2.1",
          +        "url": "http://test.com/",
          +        options: {
          +          paths: [
          +            "fixtures/yuidoc/app/",
          +            "fixtures/yuidoc/otherapp/"
          +          ],
          +          outdir: "fixtures/output/yuidocb/"
          +        }
          +      }
          +    },
          +
               options: {
                 jade: {
                   filename: "fixtures/jade/inc/"
          @@ -196,5 +289,5 @@ module.exports = function(grunt) {
             });
           
             grunt.loadTasks("../tasks");
          -  grunt.registerTask("default", "clean test:clean coffee compress copy jade jst handlebars less mincss requirejs stylus test:tasks");
          +  grunt.registerTask("default", "clean test:clean coffee compress copy jade jst handlebars less mincss requirejs stylus yuidoc test:tasks");
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/test/handlebars_test.js b/node_modules/grunt-contrib/test/handlebars_test.js
          index 7b6d52868..f6368ecf6 100644
          --- a/node_modules/grunt-contrib/test/handlebars_test.js
          +++ b/node_modules/grunt-contrib/test/handlebars_test.js
          @@ -4,7 +4,7 @@ exports.handlebars = {
             main: function(test) {
               test.expect(1);
           
          -    var expectA = "this['JST'] = this['JST'] || {};\n\nthis['JST']['fixtures/handlebars/one.handlebar'] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {\n  helpers = helpers || Handlebars.helpers;\n  var buffer = \"\", stack1, foundHelper, self=this, functionType=\"function\", helperMissing=helpers.helperMissing, undef=void 0, escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<p>Hello, my name is \";\n  foundHelper = helpers.name;\n  stack1 = foundHelper || depth0.name;\n  if(typeof stack1 === functionType) { stack1 = stack1.call(depth0, { hash: {} }); }\n  else if(stack1=== undef) { stack1 = helperMissing.call(depth0, \"name\", { hash: {} }); }\n  buffer += escapeExpression(stack1) + \".</p>\";\n  return buffer;});";
          +    var expectA = "this['JST'] = this['JST'] || {};\n\nthis['JST']['fixtures/handlebars/one.handlebar'] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {\n  helpers = helpers || Handlebars.helpers;\n  var buffer = \"\", stack1, foundHelper, functionType=\"function\", escapeExpression=this.escapeExpression;\n\n\n  buffer += \"<p>Hello, my name is \";\n  foundHelper = helpers.name;\n  if (foundHelper) { stack1 = foundHelper.call(depth0, {hash:{}}); }\n  else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1() : stack1; }\n  buffer += escapeExpression(stack1) + \".</p>\";\n  return buffer;});";
               var resultA = grunt.file.read("fixtures/output/handlebars.js");
           
               test.equal(expectA, resultA, "should compile handlebars template into JST");
          diff --git a/node_modules/grunt-contrib/test/jst_test.js b/node_modules/grunt-contrib/test/jst_test.js
          index 22521b38c..4d5cffe10 100644
          --- a/node_modules/grunt-contrib/test/jst_test.js
          +++ b/node_modules/grunt-contrib/test/jst_test.js
          @@ -4,8 +4,8 @@ exports.jade = {
             main: function(test) {
               test.expect(1);
           
          -    var expectA = "this['JST'] = this['JST'] || {};\n\nthis['JST']['fixtures/jst/template.html'] = function(obj){\nvar __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'')};\nwith(obj||{}){\n__p+='<head><title>'+\n((__t=( title ))==null?'':__t)+\n'</title></head>';\n}\nreturn __p;\n}";
          -    var resultA = grunt.file.read("./fixtures/output/jst.js");
          +    var expectA = "this['JST'] = this['JST'] || {};\n\nthis['JST']['fixtures/jst/template.html'] = function(obj){\nvar __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\nwith(obj||{}){\n__p+='<head><title>'+\n( title )+\n'</title></head>';\n}\nreturn __p;\n};";
          +    var resultA = grunt.file.read("fixtures/output/jst.js");
               test.equal(expectA, resultA, "should compile underscore templates into JST");
           
               test.done();
          diff --git a/node_modules/grunt-contrib/test/less_test.js b/node_modules/grunt-contrib/test/less_test.js
          index f6db25220..72c0f1100 100644
          --- a/node_modules/grunt-contrib/test/less_test.js
          +++ b/node_modules/grunt-contrib/test/less_test.js
          @@ -2,7 +2,7 @@ var grunt = require("grunt");
           
           exports.less = {
             main: function(test) {
          -    test.expect(2);
          +    test.expect(3);
           
               var expectA = "body {\n  color: #ffffff;\n}\n";
               var resultA = grunt.file.read("fixtures/output/less_a.css");
          @@ -12,6 +12,10 @@ exports.less = {
               var resultB = grunt.file.read("fixtures/output/less_b.css");
               test.equal(expectB, resultB, "should support multiple destination:source sets");
           
          +    var expectC = "";
          +    var resultC = grunt.file.read("fixtures/output/less_c.css");
          +    test.equal(expectC, resultC, "should write an empty file when no less sources are found");
          +
               test.done();
             }
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/test/requirejs_test.js b/node_modules/grunt-contrib/test/requirejs_test.js
          index e1f7a4d96..a58a408e8 100644
          --- a/node_modules/grunt-contrib/test/requirejs_test.js
          +++ b/node_modules/grunt-contrib/test/requirejs_test.js
          @@ -1,13 +1,22 @@
           var grunt = require("grunt");
           
          -exports.stylus = {
          +exports.requirejs = {
             main: function(test) {
               test.expect(1);
           
          -    var expectA = 'define("hello",[],function(){return"hello"}),define("world",[],function(){return"world"}),require(["hello","world"],function(hello,world){console.log(hello,world)}),define("project",function(){})';
          +    var expectA = 'define("hello",[],function(){return"hello"}),define("world",[],function(){return"world"}),require(["hello","world"],function(e,t){console.log(e,t)}),define("project",function(){})';
               var resultA = grunt.file.read("fixtures/output/requirejs.js");
               test.equal(expectA, resultA, "should optimize javascript modules with requireJS");
           
          +    test.done();
          +  },
          +  template: function(test) {
          +    test.expect(1);
          +
          +    var expectA = 'define("hello",[],function(){return"hello"}),define("world",[],function(){return"world"}),require(["hello","world"],function(e,t){console.log(e,t)}),define("project",function(){})';
          +    var resultA = grunt.file.read("fixtures/output/requirejs-template.js");
          +    test.equal(expectA, resultA, "should process options with template variables.");
          +
               test.done();
             }
           };
          \ No newline at end of file
          diff --git a/node_modules/grunt-contrib/test/yuidoc_test.js b/node_modules/grunt-contrib/test/yuidoc_test.js
          new file mode 100644
          index 000000000..34378d701
          --- /dev/null
          +++ b/node_modules/grunt-contrib/test/yuidoc_test.js
          @@ -0,0 +1,30 @@
          +var grunt = require("grunt");
          +
          +// TODO: ditch this when grunt v0.4 is released
          +var fs = require("fs");
          +var path = require("path");
          +grunt.file.exists = grunt.file.exists || fs.existsSync || path.existsSync;
          +
          +exports.yuidoc = {
          +  main: function(test) {
          +    test.expect(4);
          +
          +    var expectA = true;
          +    var resultA = grunt.file.exists("fixtures/output/yuidoca/data.json");
          +    test.equal(resultA, expectA, "If provided with a string path, Should generate JSON from source code");
          +
          +    var expectB = true;
          +    var resultB = grunt.file.exists("fixtures/output/yuidoca/index.html");
          +    test.equal(resultB, expectB, "If provided with a string path, Should create template files for viewing data.json");
          +
          +    var expectC = true;
          +    var resultC = grunt.file.exists("fixtures/output/yuidocb/data.json");
          +    test.equal(resultC, expectC, "If provided with an array of paths, should generate JSON from source code");
          +
          +    var expectD = true;
          +    var resultD = grunt.file.exists("fixtures/output/yuidocb/index.html");
          +    test.equal(resultD, expectD, "If provided with an array of paths, should create template files for viewing data.json");
          +
          +    test.done();
          +  }
          +};
          \ No newline at end of file
          diff --git a/package.json b/package.json
          index cd518e228..cdb498f45 100644
          --- a/package.json
          +++ b/package.json
          @@ -40,6 +40,8 @@
             "private": true,
             "volo": {
               "baseDir": "lib",
          +    "url": "https://github.com/ExactTarget/fuelux/raw/master/dist/fuelux.zip",
          +    "type": "directory",
               "dependencies": {
                 "bootstrap": "github:twitter/bootstrap/v2.0.4",
                 "jquery": "github:jquery/jquery/1.8b1",